# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: henrik@henriknordstrom.net-20100515212318-\ # lnepy13r5zpq0vnj # target_branch: http://squid-cache.org/bzr/squid3/branches/SQUID_3_1/ # testament_sha1: 87fd2a675a0d0507e9800f83ac9751de7a34df66 # timestamp: 2010-05-15 23:23:26 +0200 # base_revision_id: henrik@henriknordstrom.net-20100514124035-\ # ugh17zxh8s1ze14l # # Begin patch === modified file 'configure.in' --- configure.in 2010-05-05 07:42:45 +0000 +++ configure.in 2010-05-15 21:23:18 +0000 @@ -2674,7 +2674,7 @@ ;; esac AC_CACHE_CHECK([if PF_INET6 is available], squid_cv_pf_inet6, - AC_RUN_IFELSE([AC_LANG_SOURCE([[ /* PF_INET6 available check */ + AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ /* PF_INET6 available check */ # include # include int main(int argc, char **argv) { @@ -2699,56 +2699,6 @@ if test "$use_ipng" != "no" && test "$squid_cv_pf_inet6" = "yes" ; then AC_DEFINE(USE_IPV6,1,[Enable support for IPv6 ]) SET_IPV6_SETTINGS="" - use_v4mapped=yes - -dnl Check for forced split-stack mode - AC_MSG_CHECKING([for IPv6 split-stack requirement]) - AC_ARG_WITH(ipv6-split-stack, - AS_HELP_STRING([--with-ipv6-split-stack],[Force-Enable experimental split-stack support for Windows XP and *BSD. Requires IPv6.]), - [ use_v4mapped="no" - AC_MSG_RESULT(yes)], - [ AC_MSG_RESULT(no) ]) - -dnl Check for IPv6 v4-mapping availability -dnl Useful for other OS with hybrid-stack defaults turned OFF -dnl But only usable if it actually works... - if test "$use_v4mapped" = "yes" ; then - AC_MSG_CHECKING([for IPv6 v4-mapping ability]) - AC_RUN_IFELSE([AC_LANG_SOURCE([[ /* IPPROTO_V4MAPPED is usable check */ -# include -# include -# include -#if HAVE_NETINET_IN6_H -# include -#endif - int main(int argc, char **argv) { - int s = socket(PF_INET6, SOCK_STREAM, 0); - int tos = 0; - if (setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY, (char *) &tos, sizeof(int)) < 0) - return 1; - else - return 0; - } - ]])],[ AC_MSG_RESULT(yes) - use_v4mapped=yes - AC_DEFINE(IPV6_SPECIAL_V4MAPPED, 1, [Enable v4-mapping through v6 sockets]) - ],[ AC_MSG_RESULT(no) - AC_DEFINE(IPV6_SPECIAL_V4MAPPED, 0, [Enable v4-mapping through v6 sockets]) - use_v4mapped=no - ],[]) - fi - -dnl if we can't defer v4-mapping to the OS we are forced to split-stack the FD table. - AC_MSG_CHECKING([for IPv6 stack type/mode]) - if test "$use_v4mapped" = "yes"; then - AC_DEFINE(IPV6_SPECIAL_V4MAPPED, 1, [Enable v4-mapping through v6 sockets. Requires IPv6 hybrid-stack.]) - AC_DEFINE(IPV6_SPECIAL_SPLITSTACK, 0, [Enable support for IPv6 on split-stack implementations]) - AC_MSG_RESULT(mapping hybrid) - else - AC_DEFINE(IPV6_SPECIAL_V4MAPPED, 0, [Enable v4-mapping through v6 sockets. Requires IPv6 hybrid-stack.]) - AC_DEFINE(IPV6_SPECIAL_SPLITSTACK, 1, [Enable support for IPv6 on split-stack implementations]) - AC_MSG_RESULT(split-stack or BSD non-mapping dual-stack) - fi dnl Check whether this OS defines sin6_len as a member of sockaddr_in6 as a backup to ss_len AC_CACHE_CHECK([for sin6_len field in struct sockaddr_in6], @@ -2769,8 +2719,6 @@ else # IPv6 is not available, but is not explicitly required. Auto-Disable. AC_DEFINE(USE_IPV6,0,[Enable support for IPv6]) - AC_DEFINE(IPV6_SPECIAL_SPLITSTACK,0,[Enable support for IPv6 on split-stack implementations]) - AC_DEFINE(IPV6_SPECIAL_V4MAPPED,0,[Enable v4-mapping through v6 sockets]) SET_IPV6_SETTINGS="\#IPv6 Not Available: " fi AC_SUBST(SET_IPV6_SETTINGS) === modified file 'src/acl/Ip.cc' --- src/acl/Ip.cc 2010-01-16 04:33:11 +0000 +++ src/acl/Ip.cc 2010-05-15 09:19:58 +0000 @@ -421,10 +421,6 @@ hints.ai_flags |= AI_NUMERICHOST; } -#if 0 && USE_IPV6 && !IPV6_SPECIAL_SPLITSTACK - hints.ai_flags |= AI_V4MAPPED | AI_ALL; -#endif - int errcode = xgetaddrinfo(addr1,NULL,&hints,&hp); if (hp == NULL) { debugs(28, 0, "aclIpParseIpData: Bad host/IP: '" << addr1 << === modified file 'src/comm.cc' --- src/comm.cc 2010-05-14 12:40:35 +0000 +++ src/comm.cc 2010-05-15 21:19:50 +0000 @@ -661,7 +661,10 @@ debugs(50, 1, "comm_open: setsockopt(IPV6_V6ONLY) on FD " << fd << ": " << xstrerror()); } #else - debugs(50, 0, "WARNING: comm_open: setsockopt(IPV6_V6ONLY) not supported on this platform"); + static bool warned = 0; + if (!warned) + debugs(50, DBG_CRITICAL, "WARNING: setsockopt(IPV6_V6ONLY) not supported on this platform. May cause troble connecting to IPv4 sites."); + warned = 1; #endif /* sockopt */ } @@ -756,20 +759,11 @@ tos = TOS; } -#if IPV6_SPECIAL_SPLITSTACK - - if ( addr.IsIPv6() ) - comm_set_v6only(new_socket, tos); - -#endif - -#if IPV6_SPECIAL_V4MAPPED - - /* Windows Vista supports Dual-Sockets. BUT defaults them to V6ONLY. Turn it OFF. */ +#if USE_IPV6 + /* Windows Vista and later supports Dual-Sockets. BUT defaults V6ONLY. Turn it OFF. */ /* Other OS may have this administratively disabled for general use. Same deal. */ if ( addr.IsIPv6() ) comm_set_v6only(new_socket, 0); - #endif /* update fdstat */ @@ -1051,11 +1045,11 @@ if (F->tos) comm_set_tos(fd, F->tos); -#if IPV6_SPECIAL_SPLITSTACK - +#if USE_IPV6 + /* Windows Vista and later supports Dual-Sockets. BUT defaults V6ONLY. Turn it OFF. */ + /* Other OS may have this administratively disabled for general use. Same deal. */ if ( F->local_addr.IsIPv6() ) - comm_set_v6only(fd, F->tos); - + comm_set_v6only(fd, 0); #endif copyFDFlags(fd, F); === modified file 'src/ip/IpAddress.h' --- src/ip/IpAddress.h 2010-05-14 04:16:42 +0000 +++ src/ip/IpAddress.h 2010-05-15 09:19:58 +0000 @@ -331,11 +331,7 @@ \param ai structure to be filled out. \param force a specific sockaddr type is needed. default: don't care. */ -#if IPV6_SPECIAL_V4MAPPING - void GetAddrInfo(struct addrinfo *&ai, int force = AF_INET6) const; -#else void GetAddrInfo(struct addrinfo *&ai, int force = AF_UNSPEC) const; -#endif /** * Equivalent to the sysem call freeaddrinfo() but for IpAddress allocated data # Begin bundle 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