From: Jeff Trawick Date: Tue, 21 Nov 2000 19:10:25 +0000 (+0000) Subject: updates to changed interfaces to apr_set_port(), apr_get_port(), X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b44895ca4f2e0124fb4be7d2f7c05d0ebee35ff6;p=apache updates to changed interfaces to apr_set_port(), apr_get_port(), apr_set_ipaddr(), and apr_get_ipaddr() git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87050 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http/http_core.c b/modules/http/http_core.c index ffcf660fbe..85104860c1 100644 --- a/modules/http/http_core.c +++ b/modules/http/http_core.c @@ -739,8 +739,12 @@ AP_DECLARE(apr_port_t) ap_get_server_port(const request_rec *r) 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; diff --git a/modules/proxy/proxy_ftp.c b/modules/proxy/proxy_ftp.c index a9eb55c989..a2f45fa6e1 100644 --- a/modules/proxy/proxy_ftp.c +++ b/modules/proxy/proxy_ftp.c @@ -872,8 +872,9 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url) 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" */ diff --git a/server/connection.c b/server/connection.c index 96353d0ff0..a1c028e3ad 100644 --- a/server/connection.c +++ b/server/connection.c @@ -274,6 +274,7 @@ conn_rec *ap_new_connection(apr_pool_t *p, server_rec *server, 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). @@ -284,12 +285,14 @@ conn_rec *ap_new_connection(apr_pool_t *p, server_rec *server, 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; diff --git a/server/listen.c b/server/listen.c index 4d6fffb948..5f797cbc2e 100644 --- a/server/listen.c +++ b/server/listen.c @@ -87,8 +87,9 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server) 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); @@ -189,11 +190,13 @@ static void alloc_listener(process_rec *process, char *addr, apr_port_t 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; @@ -213,8 +216,9 @@ static void alloc_listener(process_rec *process, char *addr, apr_port_t port) "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; } diff --git a/server/rfc1413.c b/server/rfc1413.c index d37fcd3dcb..23e29be5fb 100644 --- a/server/rfc1413.c +++ b/server/rfc1413.c @@ -159,8 +159,9 @@ static int get_rfc1413(apr_socket_t *sock, apr_pool_t *p, */ 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, diff --git a/server/util_script.c b/server/util_script.c index 225a898fcb..2c03feb72b 100644 --- a/server/util_script.c +++ b/server/util_script.c @@ -167,6 +167,7 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r) 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 @@ -257,7 +258,8 @@ AP_DECLARE(void) ap_add_common_vars(request_rec *r) 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) { diff --git a/server/vhost.c b/server/vhost.c index 950f90863e..a5f83b0288 100644 --- a/server/vhost.c +++ b/server/vhost.c @@ -844,9 +844,11 @@ static void check_hostalias(request_rec *r) 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 @@ -901,7 +903,10 @@ static void check_serverpath(request_rec *r) 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 @@ -962,7 +967,10 @@ void ap_update_vhost_given_ip(conn_rec *conn) { 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);