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

Reply via email to