if (d->use_canonical_name == USE_CANONICAL_NAME_OFF
|| d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
- if (r->hostname)
- apr_get_port(&port, APR_LOCAL, r->connection->client_socket);
+ if (r->hostname) {
+ apr_sockaddr_t *localsa;
+
+ apr_get_sockaddr(&localsa, APR_LOCAL, r->connection->client_socket);
+ apr_get_port(&port, localsa);
+ }
}
/* default */
return port;
ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR;
}
- apr_get_port(&npport, APR_LOCAL, sock);
- apr_get_ipaddr(&npaddr, APR_LOCAL, sock);
+ apr_get_sockaddr(&localsa, APR_LOCAL, sock);
+ apr_get_port(&npport, localsa);
+ apr_get_ipaddr(&npaddr, localsa);
if (apr_setsocketopt(dsock, APR_SO_REUSEADDR, one) != APR_SUCCESS) {
#ifndef _OSD_POSIX /* BS2000 has this option "always on" */
const struct sockaddr_in *saddr, long id)
{
conn_rec *conn = (conn_rec *) apr_pcalloc(p, sizeof(conn_rec));
+ apr_sockaddr_t *sa;
/* Got a connection structure, so initialize what fields we can
* (the rest are zeroed out by pcalloc).
conn->pool = p;
conn->local_addr = *saddr;
- apr_get_ipaddr(&conn->local_ip, APR_LOCAL, inout);
+ apr_get_sockaddr(&sa, APR_LOCAL, inout);
+ apr_get_ipaddr(&conn->local_ip, sa);
conn->base_server = server;
conn->client_socket = inout;
conn->remote_addr = *remaddr;
- apr_get_ipaddr(&conn->remote_ip, APR_REMOTE, inout);
+ apr_get_sockaddr(&sa, APR_REMOTE, inout);
+ apr_get_ipaddr(&conn->remote_ip, sa);
conn->id = id;
return conn;
char *ipaddr;
apr_sockaddr_t *localsa;
- apr_get_port(&port, APR_LOCAL, s);
- apr_get_ipaddr(&ipaddr, APR_LOCAL, s);
+ apr_get_sockaddr(&localsa, APR_LOCAL, s);
+ apr_get_port(&port, localsa);
+ apr_get_ipaddr(&ipaddr, localsa);
apr_snprintf(addr, sizeof(addr), "address %s port %u", ipaddr,
(unsigned) port);
apr_status_t status;
char *oldaddr;
apr_port_t oldport;
+ apr_sockaddr_t *sa;
/* see if we've got an old listener for this address:port */
for (walk = &old_listeners; *walk; walk = &(*walk)->next) {
- apr_get_port(&oldport, APR_LOCAL, (*walk)->sd);
- apr_get_ipaddr(&oldaddr, APR_LOCAL, (*walk)->sd);
+ apr_get_sockaddr(&sa, APR_LOCAL, (*walk)->sd);
+ apr_get_port(&oldport, sa);
+ apr_get_ipaddr(&oldaddr, sa);
if (!strcmp(oldaddr, addr) && port == oldport) {
/* re-use existing record */
new = *walk;
"make_sock: failed to get a socket for %s", addr);
return;
}
- apr_set_port(new->sd, APR_LOCAL, port);
- apr_set_ipaddr(new->sd, APR_LOCAL, addr);
+ apr_get_sockaddr(&sa, APR_LOCAL, new->sd);
+ apr_set_port(sa, port);
+ apr_set_ipaddr(sa, addr);
new->next = ap_listeners;
ap_listeners = new;
}
*/
if (apr_connect(sock, destsa) != APR_SUCCESS)
return -1;
- apr_get_port(&sav_our_port, APR_LOCAL, sock);
- apr_get_port(&sav_rmt_port, APR_REMOTE, sock);
+ apr_get_sockaddr(&localsa, APR_LOCAL, sock);
+ apr_get_port(&sav_our_port, localsa);
+ sav_rmt_port = RFC1413_PORT;
/* send the data */
buflen = apr_snprintf(buffer, sizeof(buffer), "%hu,%hu\r\n", sav_rmt_port,
apr_table_entry_t *hdrs = (apr_table_entry_t *) hdrs_arr->elts;
int i;
apr_port_t rport;
+ apr_sockaddr_t *remotesa;
/* use a temporary apr_table_t which we'll overlap onto
* r->subprocess_env later
apr_table_addn(e, "SERVER_ADMIN", s->server_admin); /* Apache */
apr_table_addn(e, "SCRIPT_FILENAME", r->filename); /* Apache */
- apr_get_port(&rport, APR_REMOTE, c->client_socket);
+ apr_get_sockaddr(&remotesa, APR_REMOTE, c->client_socket);
+ apr_get_port(&rport, remotesa);
apr_table_addn(e, "REMOTE_PORT", apr_psprintf(r->pool, "%d", rport));
if (r->user) {
server_rec *s;
server_rec *last_s;
name_chain *src;
+ apr_sockaddr_t *localsa;
last_s = NULL;
- apr_get_port(&port, APR_LOCAL, r->connection->client_socket);
+ apr_get_sockaddr(&localsa, APR_LOCAL, r->connection->client_socket);
+ apr_get_port(&port, localsa);
/* Recall that the name_chain is a list of server_addr_recs, some of
* whose ports may not match. Also each server may appear more than
server_rec *last_s;
name_chain *src;
apr_port_t port;
- apr_get_port(&port, APR_LOCAL, r->connection->client_socket);
+ apr_sockaddr_t *localsa;
+
+ apr_get_sockaddr(&localsa, APR_LOCAL, r->connection->client_socket);
+ apr_get_port(&port, localsa);
/*
* This is in conjunction with the ServerPath code in http_core, so we
{
ipaddr_chain *trav;
apr_port_t port;
- apr_get_port(&port, APR_LOCAL, conn->client_socket);
+ apr_sockaddr_t *localsa;
+
+ apr_get_sockaddr(&localsa, APR_LOCAL, conn->client_socket);
+ apr_get_port(&port, localsa);
/* scan the hash apr_table_t for an exact match first */
trav = find_ipaddr(&conn->local_addr.sin_addr, port);