Author: aurel32 Date: 2010-01-05 23:39:10 +0000 (Tue, 05 Jan 2010) New Revision: 4055
Added: glibc-package/trunk/debian/patches/any/cvs-resolv-bindv6only.diff Modified: glibc-package/trunk/debian/changelog glibc-package/trunk/debian/patches/series Log: * Add debian/patches/any/cvs-resolv-bindv6only.diff to not use IPV4-mapped addresses in the resolver code. Closes: #563552. Modified: glibc-package/trunk/debian/changelog =================================================================== --- glibc-package/trunk/debian/changelog 2010-01-05 23:14:56 UTC (rev 4054) +++ glibc-package/trunk/debian/changelog 2010-01-05 23:39:10 UTC (rev 4055) @@ -14,11 +14,13 @@ IPv6 name server in resolv.conf. * Add debian/patches/any/cvs-resolv-uninitialized.diff to fix an uninitialized variable in resolv code. + * Add debian/patches/any/cvs-resolv-bindv6only.diff to not use + IPV4-mapped addresses in the resolver code. Closes: #563552. [ Petr Salinger] * kfreebsd/local-sysdeps.diff: update to revision 2907 (from glibc-bsd). - -- Aurelien Jarno <aure...@debian.org> Wed, 06 Jan 2010 00:13:16 +0100 + -- Aurelien Jarno <aure...@debian.org> Wed, 06 Jan 2010 00:34:08 +0100 eglibc (2.10.2-3) unstable; urgency=low Added: glibc-package/trunk/debian/patches/any/cvs-resolv-bindv6only.diff =================================================================== --- glibc-package/trunk/debian/patches/any/cvs-resolv-bindv6only.diff (rev 0) +++ glibc-package/trunk/debian/patches/any/cvs-resolv-bindv6only.diff 2010-01-05 23:39:10 UTC (rev 4055) @@ -0,0 +1,33 @@ +2009-01-06 Aurelien Jarno <aurel...@aurel32.net> + + * resolv/res_send.c (__libc_res_nsend): Don't use IPv4-mapped + addresses. Create PF_INET sockets for IPv4 addresses and PF_INET6 + sockets for IPv6 ones. + +diff --git a/resolv/res_send.c b/resolv/res_send.c +index e2bbfcc..b2c9cf5 100644 +--- a/resolv/res_send.c ++++ b/resolv/res_send.c +@@ -914,7 +914,7 @@ reopen (res_state statp, int *terrno, int ns) + struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns]; + + /* only try IPv6 if IPv6 NS and if not failed before */ +- if ((EXT(statp).nscount6 > 0) && !statp->ipv6_unavail) { ++ if (nsap->sin6_family == AF_INET6 && !statp->ipv6_unavail) { + if (__builtin_expect (__have_o_nonblock >= 0, 1)) { + EXT(statp).nssocks[ns] = + socket(PF_INET6, SOCK_DGRAM|SOCK_NONBLOCK, +@@ -931,12 +931,7 @@ reopen (res_state statp, int *terrno, int ns) + socket(PF_INET6, SOCK_DGRAM, 0); + if (EXT(statp).nssocks[ns] < 0) + statp->ipv6_unavail = errno == EAFNOSUPPORT; +- /* If IPv6 socket and nsap is IPv4, make it +- IPv4-mapped */ +- else if (nsap->sin6_family == AF_INET) +- convaddr4to6(nsap); +- } +- if (EXT(statp).nssocks[ns] < 0) { ++ } else if (nsap->sin6_family == AF_INET) { + if (__builtin_expect (__have_o_nonblock >= 0, 1)) { + EXT(statp).nssocks[ns] + = socket(PF_INET, SOCK_DGRAM|SOCK_NONBLOCK, Modified: glibc-package/trunk/debian/patches/series =================================================================== --- glibc-package/trunk/debian/patches/series 2010-01-05 23:14:56 UTC (rev 4054) +++ glibc-package/trunk/debian/patches/series 2010-01-05 23:39:10 UTC (rev 4055) @@ -221,5 +221,6 @@ any/local-ntp-update.diff any/cvs-malloc_info-output.diff #any/cvs-futimens.diff -patches/any/cvs-resolv-init.diff -patches/any/cvs-resolv-uninitialized.diff +any/cvs-resolv-init.diff +any/cvs-resolv-uninitialized.diff +any/cvs-resolv-bindv6only.diff -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org