On Thu, Aug 25, 2005 at 10:11:01AM -0400, Jeff Trawick wrote: > first entry: > AF_INET; 0.0.0.0:8080 > second (last) entry: > AF_INET6; [::]:8080
Yuck, We'll have to re-order the list so, or change the listen.c logic. > But if it is the other way around: > > Get AF_INET6 socket first and set IPV6_V6ONLY to 0 (--enable-v4-mapped > is the default on non *bsd). Then get AF_INET socket and try to bind. > Why is that guaranteed to work since we have overlap? See lines 391 -> 405 of server/listen.x, the AF_INET socket will be skipped in such a circumstance. > Seems to me that we should scrap the --enable-v4-mapped stuff, default > to getting two listening sockets everywhere (if IPv6 enabled, of > course), and (future) have a Listen option to get a single socket to > handle mapped addresses. We can't default to having two listening sockets everywhere, there are well-deployed operating systems which simply don't support IPV6_V6ONLY. > With that Listen option we'd just pass AF_INET6 instead of AF_UNSPEC > on the resolver call since the admin who specified that option knows > what they're doing. Specified what option? > (Why bother with mapped addresses? Because they are the only way to accept IPv6 at all on many systems (like most Linux installs, for example). -- Colm MacCárthaigh Public Key: [EMAIL PROTECTED]
