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
|| 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;

View File

@@ -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" */

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)
{
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;

View File

@@ -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;
}

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)
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,

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;
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) {

View File

@@ -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);