I'm wondering if anyone has any thoughts on the below.
 
I've build Apache 2.2.4 from source on Windows XP with IPv6 support by
toggling the value of APR_HAVE_IPv6 to 1 in apr.hw. Running httpd.exe -V
reveals -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled), which I was
expecting. However, I'm wondering if whether the "IPv4 mapped addresses
is enable/disabled" is operating system dependant or configurable also.
It looks like the source code sets this in apr.h from WS2tcip.h, and it
would appear after some investigation it is likely derived from whether
it is supported or not, although I haven't completely tracked the code.
Curious if anyone knows for sure though.
 
Also, given that IPv4 mapped addresses is disabled, would two Listen
directives in httpd.conf be required (one for IPv6 and one for IPv4
addresses since it is operating on separate sockets)? From reviewing the
docs that seems to be the case, and seems logical since Apache wouldn't
know what socket to use. I tested the build with only one blanket Listen
(Listen 80) and with seperate directives (Listen IPv4:80 and Listen
IPv6:80) and could only get Apache to process the requests with specific
IPs (for either v4 or v6). Would that be a result of IPv4 mapped
addresses being disabled? In other words, if IPv6 mapping was enabled,
would only 1 blanket Listen be required? We support multiple OSes and
this would potentially change how we approach supporting IPv6.
 
Any comments are appreciated.
 
Dan Stusynski

Reply via email to