You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@locus.apache.org on 2000/12/18 17:49:10 UTC

cvs commit: httpd-2.0/modules/http http_core.c

trawick     00/12/18 08:49:09

  Modified:    modules/http http_core.c
  Log:
  Stop using apr_get_hostname().  It doesn't support IPv6 and it
  is redundant.  apr_getnameinfo() provides the same function.
  
  Revision  Changes    Path
  1.229     +11 -5     httpd-2.0/modules/http/http_core.c
  
  Index: http_core.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/http/http_core.c,v
  retrieving revision 1.228
  retrieving revision 1.229
  diff -u -r1.228 -r1.229
  --- http_core.c	2000/12/14 18:47:27	1.228
  +++ http_core.c	2000/12/18 16:49:09	1.229
  @@ -635,8 +635,10 @@
   	&& conn->remote_host == NULL
   	&& (type == REMOTE_DOUBLE_REV
   	    || hostname_lookups != HOSTNAME_LOOKUP_OFF)) {
  -	if (apr_get_hostname(&conn->remote_host, APR_REMOTE, conn->client_socket)
  -            == APR_SUCCESS){
  +        apr_sockaddr_t *remote_addr;
  +
  +        apr_get_sockaddr(&remote_addr, APR_REMOTE, conn->client_socket);
  +	if (apr_getnameinfo(&conn->remote_host, remote_addr, 0) == APR_SUCCESS) {
   	    ap_str_tolower(conn->remote_host);
   	   
   	    if (hostname_lookups == HOSTNAME_LOOKUP_DOUBLE) {
  @@ -703,7 +705,7 @@
    * port of the actual socket.
    *
    * The DNS option to UseCanonicalName causes this routine to do a
  - * reverse lookup on the local IP address of the connectiona and use
  + * reverse lookup on the local IP address of the connection and use
    * that for the ServerName. This makes its value more reliable while
    * at the same time allowing Demon's magic virtual hosting to work.
    * The assumption is that DNS lookups are sufficiently quick...
  @@ -722,10 +724,14 @@
       }
       if (d->use_canonical_name == USE_CANONICAL_NAME_DNS) {
           if (conn->local_host == NULL) {
  -            if (apr_get_hostname(&conn->local_host, APR_LOCAL, conn->client_socket) != APR_SUCCESS)
  +            apr_sockaddr_t *local_addr;
  +
  +            apr_get_sockaddr(&local_addr, APR_LOCAL, conn->client_socket);
  +            if (apr_getnameinfo(&conn->local_host, local_addr, 0) != APR_SUCCESS)
                   conn->local_host = apr_pstrdup(conn->pool, r->server->server_hostname);
  -            else
  +            else {
                   ap_str_tolower(conn->local_host);
  +            }
           }
   	return conn->local_host;
       }