apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Justin Erenkrantz <jus...@erenkrantz.com>
Subject Re: cvs commit: apr/network_io/win32 sockopt.c
Date Sat, 03 Apr 2004 17:29:00 GMT
--On Saturday, April 3, 2004 5:15 PM +0000 jerenkrantz@apache.org wrote:

> jerenkrantz    2004/04/03 09:15:52
>   Modified:    .        CHANGES
>                network_io/unix sockopt.c
>                network_io/win32 sockopt.c
>   Log:
>   Even if we do not check the value of APR_IPV6_V6ONLY before setting, we
> still   must set the option cache if we're setting APR_IPV6_V6ONLY.
> Otherwise,   later apr_socket_opt_get calls will fail.
>   This fixes Listen directives on IPv6 machines where IPV6_V6ONLY may be
>   enabled (i.e. FreeBSD 5.x, OpenBSD, NetBSD) where it would not properly
>   bind to the IPv4 socket.

This fixes an issue we saw on hermes.apache.org where the Listen directive 
wasn't binding to the correct interfaces.

I was pretty sure that httpd was doing the right thing here, but it was APR 
that lost the setting of APR_IPV6_V6ONLY - so httpd thought that IPV6_V6ONLY 
was disabled when it really had already been enabled.  Hence, it collapsed the 
IPv4 address into the IPv6 socket - causing it not to bind to IPv4.  -- justin

View raw message