[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r2530 - in glibc-package/trunk/debian: . patches patches/any



Author: aurel32
Date: 2007-09-03 16:20:57 +0000 (Mon, 03 Sep 2007)
New Revision: 2530

Added:
   glibc-package/trunk/debian/patches/any/local-ipv6-lookup.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * any/local-ipv6-lookup.diff: new patch to do IPv6 lookups only when an 
    IPv6 address is configured. Patch by Tollef Fog Heen and Andrew McMillan.
    Closes: #435646.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2007-09-03 16:04:19 UTC (rev 2529)
+++ glibc-package/trunk/debian/changelog	2007-09-03 16:20:57 UTC (rev 2530)
@@ -31,11 +31,14 @@
     restart.  Closes: bug#435640.
   * Bump shlibdeps version to 2.6.1-1 due to SPARC v9 transition.
   * New Slovak debconf translation, by Ivan Masár.  Closes: bug#438576.
+  * any/local-ipv6-lookup.diff: new patch to do IPv6 lookups only when an 
+    IPv6 address is configured. Patch by Tollef Fog Heen and Andrew McMillan.
+    Closes: #435646.
 
   [ Pierre Habouzit ]
   * Document new libc.conf in ld.so.conf.d that puts /usr/local/lib front.
 
- -- Aurelien Jarno <aurel32@debian.org>  Mon,  3 Sep 2007 18:03:58 +0200
+ -- Aurelien Jarno <aurel32@debian.org>  Mon,  3 Sep 2007 18:15:37 +0200
 
 glibc (2.6.1-1) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/any/local-ipv6-lookup.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/local-ipv6-lookup.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/any/local-ipv6-lookup.diff	2007-09-03 16:20:57 UTC (rev 2530)
@@ -0,0 +1,47 @@
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index adb3c4f..d12835c 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -263,7 +263,7 @@ extern service_user *__nss_hosts_database attribute_hidden;
+ static int
+ gaih_inet (const char *name, const struct gaih_service *service,
+ 	   const struct addrinfo *req, struct addrinfo **pai,
+-	   unsigned int *naddrs)
++	   unsigned int *naddrs, bool usable_ipv6)
+ {
+   const struct gaih_typeproto *tp = gaih_inet_typeproto;
+   struct gaih_servtuple *st = (struct gaih_servtuple *) &nullserv;
+@@ -706,7 +706,7 @@ gaih_inet (const char *name, const struct gaih_service *service,
+ 	      if (fct != NULL)
+ 		{
+ 		  if (req->ai_family == AF_INET6
+-		      || req->ai_family == AF_UNSPEC)
++		      || (req->ai_family == AF_UNSPEC && usable_ipv6))
+ 		    {
+ 		      gethosts (AF_INET6, struct in6_addr);
+ 		      no_inet6_data = no_data;
+@@ -1903,7 +1903,7 @@ getaddrinfo (const char *name, const char *service,
+   if (hints->ai_family == AF_UNSPEC || hints->ai_family == AF_INET
+       || hints->ai_family == AF_INET6)
+     {
+-      last_i = gaih_inet (name, pservice, hints, end, &naddrs);
++      last_i = gaih_inet (name, pservice, hints, end, &naddrs, seen_ipv6);
+       if (last_i != 0)
+ 	{
+ 	  freeaddrinfo (p);
+diff --git a/sysdeps/unix/sysv/linux/check_pf.c b/sysdeps/unix/sysv/linux/check_pf.c
+index 46161a8..5287ed0 100644
+--- a/sysdeps/unix/sysv/linux/check_pf.c
++++ b/sysdeps/unix/sysv/linux/check_pf.c
+@@ -146,7 +146,10 @@ make_request (int fd, pid_t pid, bool *seen_ipv4, bool *seen_ipv6,
+ 		  *seen_ipv4 = true;
+ 		  break;
+ 		case AF_INET6:
+-		  *seen_ipv6 = true;
++		  if (ifam->ifa_scope < RT_SCOPE_LINK)
++		    {
++		      *seen_ipv6 = true;
++		    }
+ 
+ 		  if (ifam->ifa_flags & (IFA_F_DEPRECATED
+ 					 | IFA_F_TEMPORARY

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2007-09-03 16:04:19 UTC (rev 2529)
+++ glibc-package/trunk/debian/patches/series	2007-09-03 16:20:57 UTC (rev 2530)
@@ -116,6 +116,7 @@
 any/local-gcc4-wcstol_l.diff 
 # any/local-globfree-clear.diff -p1	#  g: suspended
 any/local-iconv-fix-trampoline.diff 
+any/local-ipv6-lookup.diff -p1
 any/local-ld-multiarch.diff -p0
 any/local-ldd.diff -p0
 any/local-ldso-disable-hwcap.diff -p0



Reply to: