1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00

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
This commit is contained in:
Jeff Trawick
2000-11-21 19:10:25 +00:00
parent 68ded31f4f
commit d4df2029ae
7 changed files with 41 additions and 18 deletions

View File

@@ -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 if (d->use_canonical_name == USE_CANONICAL_NAME_OFF
|| d->use_canonical_name == USE_CANONICAL_NAME_DNS) { || d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
if (r->hostname) if (r->hostname) {
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);
}
} }
/* default */ /* default */
return port; return port;

View File

@@ -872,8 +872,9 @@ int ap_proxy_ftp_handler(request_rec *r, ap_cache_el *c, char *url)
ap_bclose(f); ap_bclose(f);
return HTTP_INTERNAL_SERVER_ERROR; return HTTP_INTERNAL_SERVER_ERROR;
} }
apr_get_port(&npport, APR_LOCAL, sock); apr_get_sockaddr(&localsa, APR_LOCAL, sock);
apr_get_ipaddr(&npaddr, APR_LOCAL, sock); apr_get_port(&npport, localsa);
apr_get_ipaddr(&npaddr, localsa);
if (apr_setsocketopt(dsock, APR_SO_REUSEADDR, one) != APR_SUCCESS) { if (apr_setsocketopt(dsock, APR_SO_REUSEADDR, one) != APR_SUCCESS) {
#ifndef _OSD_POSIX /* BS2000 has this option "always on" */ #ifndef _OSD_POSIX /* BS2000 has this option "always on" */

View File

@@ -274,6 +274,7 @@ conn_rec *ap_new_connection(apr_pool_t *p, server_rec *server,
const struct sockaddr_in *saddr, long id) const struct sockaddr_in *saddr, long id)
{ {
conn_rec *conn = (conn_rec *) apr_pcalloc(p, sizeof(conn_rec)); 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 /* Got a connection structure, so initialize what fields we can
* (the rest are zeroed out by pcalloc). * (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->pool = p;
conn->local_addr = *saddr; 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->base_server = server;
conn->client_socket = inout; conn->client_socket = inout;
conn->remote_addr = *remaddr; 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; conn->id = id;
return conn; return conn;

View File

@@ -87,8 +87,9 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
char *ipaddr; char *ipaddr;
apr_sockaddr_t *localsa; apr_sockaddr_t *localsa;
apr_get_port(&port, APR_LOCAL, s); apr_get_sockaddr(&localsa, APR_LOCAL, s);
apr_get_ipaddr(&ipaddr, APR_LOCAL, s); apr_get_port(&port, localsa);
apr_get_ipaddr(&ipaddr, localsa);
apr_snprintf(addr, sizeof(addr), "address %s port %u", ipaddr, apr_snprintf(addr, sizeof(addr), "address %s port %u", ipaddr,
(unsigned) port); (unsigned) port);
@@ -189,11 +190,13 @@ static void alloc_listener(process_rec *process, char *addr, apr_port_t port)
apr_status_t status; apr_status_t status;
char *oldaddr; char *oldaddr;
apr_port_t oldport; apr_port_t oldport;
apr_sockaddr_t *sa;
/* see if we've got an old listener for this address:port */ /* see if we've got an old listener for this address:port */
for (walk = &old_listeners; *walk; walk = &(*walk)->next) { for (walk = &old_listeners; *walk; walk = &(*walk)->next) {
apr_get_port(&oldport, APR_LOCAL, (*walk)->sd); apr_get_sockaddr(&sa, APR_LOCAL, (*walk)->sd);
apr_get_ipaddr(&oldaddr, APR_LOCAL, (*walk)->sd); apr_get_port(&oldport, sa);
apr_get_ipaddr(&oldaddr, sa);
if (!strcmp(oldaddr, addr) && port == oldport) { if (!strcmp(oldaddr, addr) && port == oldport) {
/* re-use existing record */ /* re-use existing record */
new = *walk; 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); "make_sock: failed to get a socket for %s", addr);
return; return;
} }
apr_set_port(new->sd, APR_LOCAL, port); apr_get_sockaddr(&sa, APR_LOCAL, new->sd);
apr_set_ipaddr(new->sd, APR_LOCAL, addr); apr_set_port(sa, port);
apr_set_ipaddr(sa, addr);
new->next = ap_listeners; new->next = ap_listeners;
ap_listeners = new; ap_listeners = new;
} }

View File

@@ -159,8 +159,9 @@ static int get_rfc1413(apr_socket_t *sock, apr_pool_t *p,
*/ */
if (apr_connect(sock, destsa) != APR_SUCCESS) if (apr_connect(sock, destsa) != APR_SUCCESS)
return -1; return -1;
apr_get_port(&sav_our_port, APR_LOCAL, sock); apr_get_sockaddr(&localsa, APR_LOCAL, sock);
apr_get_port(&sav_rmt_port, APR_REMOTE, sock); apr_get_port(&sav_our_port, localsa);
sav_rmt_port = RFC1413_PORT;
/* send the data */ /* send the data */
buflen = apr_snprintf(buffer, sizeof(buffer), "%hu,%hu\r\n", sav_rmt_port, buflen = apr_snprintf(buffer, sizeof(buffer), "%hu,%hu\r\n", sav_rmt_port,

View File

@@ -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; apr_table_entry_t *hdrs = (apr_table_entry_t *) hdrs_arr->elts;
int i; int i;
apr_port_t rport; apr_port_t rport;
apr_sockaddr_t *remotesa;
/* use a temporary apr_table_t which we'll overlap onto /* use a temporary apr_table_t which we'll overlap onto
* r->subprocess_env later * 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, "SERVER_ADMIN", s->server_admin); /* Apache */
apr_table_addn(e, "SCRIPT_FILENAME", r->filename); /* 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)); apr_table_addn(e, "REMOTE_PORT", apr_psprintf(r->pool, "%d", rport));
if (r->user) { if (r->user) {

View File

@@ -844,9 +844,11 @@ static void check_hostalias(request_rec *r)
server_rec *s; server_rec *s;
server_rec *last_s; server_rec *last_s;
name_chain *src; name_chain *src;
apr_sockaddr_t *localsa;
last_s = NULL; 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 /* 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 * 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; server_rec *last_s;
name_chain *src; name_chain *src;
apr_port_t port; 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 * 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; ipaddr_chain *trav;
apr_port_t port; 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 */ /* scan the hash apr_table_t for an exact match first */
trav = find_ipaddr(&conn->local_addr.sin_addr, port); trav = find_ipaddr(&conn->local_addr.sin_addr, port);