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

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



Author: aurel32
Date: 2010-09-01 07:59:59 +0000 (Wed, 01 Sep 2010)
New Revision: 4400

Added:
   glibc-package/trunk/debian/patches/any/cvs-getaddrinfo2.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * Add any/cvs-getaddrinfo2.diff from upstream to fix lookup issues with
    non-default nsswitch.conf.



Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2010-09-01 07:57:48 UTC (rev 4399)
+++ glibc-package/trunk/debian/changelog	2010-09-01 07:59:59 UTC (rev 4400)
@@ -39,6 +39,8 @@
     Earlier versions corrupts libc 2.11 libraries.  Closes: #593966.
   * Add alpha/submitted-epoll.diff and sparc/submitted-epoll.diff to fix
     epoll_create1() on Alpha and SPARC.  Closes: #576826.
+  * Add any/cvs-getaddrinfo2.diff from upstream to fix lookup issues with
+    non-default nsswitch.conf.
   * Remove patches/alpha/cvs-longjmp-chk.diff and restore 
     patches/alpha/local-longjmp-chk.diff as the upstream version causes
     regressions.

Added: glibc-package/trunk/debian/patches/any/cvs-getaddrinfo2.diff
===================================================================
--- glibc-package/trunk/debian/patches/any/cvs-getaddrinfo2.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/any/cvs-getaddrinfo2.diff	2010-09-01 07:59:59 UTC (rev 4400)
@@ -0,0 +1,38 @@
+2010-03-26  Ulrich Drepper  <drepper@redhat.com>
+
+	* sysdeps/posix/getaddrinfo.c (gaih_inet): Don't assume success always
+	means aborting the loop over the NSS methods.
+
+diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
+index 8b7e38f..2e0c724 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -817,17 +817,18 @@ gaih_inet (const char *name, const struct gaih_service *service,
+ 				    canon = name;
+ 				}
+ 			    }
+-
+-			  break;
++			  status = NSS_STATUS_SUCCESS;
++			}
++		      else
++			{
++			  /* We can have different states for AF_INET and
++			     AF_INET6.  Try to find a useful one for both.  */
++			  if (inet6_status == NSS_STATUS_TRYAGAIN)
++			    status = NSS_STATUS_TRYAGAIN;
++			  else if (status == NSS_STATUS_UNAVAIL
++				   && inet6_status != NSS_STATUS_UNAVAIL)
++			    status = inet6_status;
+ 			}
+-
+-		      /* We can have different states for AF_INET and
+-			 AF_INET6.  Try to find a useful one for both.  */
+-		      if (inet6_status == NSS_STATUS_TRYAGAIN)
+-			status = NSS_STATUS_TRYAGAIN;
+-		      else if (status == NSS_STATUS_UNAVAIL
+-			       && inet6_status != NSS_STATUS_UNAVAIL)
+-			status = inet6_status;
+ 		    }
+ 		  else
+ 		    status = NSS_STATUS_UNAVAIL;

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2010-09-01 07:57:48 UTC (rev 4399)
+++ glibc-package/trunk/debian/patches/series	2010-09-01 07:59:59 UTC (rev 4400)
@@ -255,4 +255,5 @@
 any/cvs-flush-cache-textrels.diff
 any/cvs-__block.diff
 any/cvs-etc-resolv.conf.diff
+any/cvs-getaddrinfo2.diff
 any/cvs-sunrpc-license.diff


Reply to: