apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <jus...@erenkrantz.com>
Subject Re: resolver confusion (was "Re: Tagged the trees")
Date Thu, 11 Sep 2003 07:58:55 GMT
--On Tuesday, September 9, 2003 9:56 AM -0400 Jeff Trawick 
<trawick@attglobal.net> wrote:

> Does anybody have a firmer grasp on the semantic differences between old APR
> and new APR for hostname=NULL/family=APR_INET?  If so, then perhaps
> server/config.c needs to be changed to just create an all-zeros socket
> address manually, without involving the resolver.  (Or we ask ourselves if
> the APR semantics should have changed.)

We have to have hostname=NULL get passed to the resolver with the AI_PASSIVE 
flag in order to correctly get our own addresses.  There's no other way to do 
that at the OS level with the getaddrinfo() API, which is what 
apr_sockaddr_info_get is supposed to be wrapping on IPv6-capable boxes.  So, 
having NULL mean 'create' can't work.

As for why httpd is doing this code rather than something like:

apr_sockaddr_ip_set(&sa->addrs->host_addr, APR_ANYADDR);

beats me.  That code snippet never seemed to fit quite right in the scheme of 
things.  I think it's trying to just ensure that it's creating a 
address.  But, that's rather foolish.  A box might not have IPv4 configured, 
but only IPv6.  Surely there's a better way to represent that a specific vhost 
hasn't been configured against an IP address?  -- justin

View raw message