r4283 - in glibc-package/branches/eglibc-2.11/debian: . patches patches/any
Author: aurel32
Date: 2010-05-24 16:51:52 +0000 (Mon, 24 May 2010)
New Revision: 4283
Added:
glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-getaddrinfo.diff
Modified:
glibc-package/branches/eglibc-2.11/debian/changelog
glibc-package/branches/eglibc-2.11/debian/patches/series
Log:
* Add debian/patches/any/cvs-getaddrinfo.diff from upstream to not abort
the getaddrinfo loop on the first successful.
Modified: glibc-package/branches/eglibc-2.11/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/changelog 2010-05-24 16:45:48 UTC (rev 4282)
+++ glibc-package/branches/eglibc-2.11/debian/changelog 2010-05-24 16:51:52 UTC (rev 4283)
@@ -77,6 +77,8 @@
* Replace debian/patches/submitted/cvs-stat-issock.diff by the upstream patch
debian/patches/any/cvs-stat-issock.diff.
* Explictely call /sbin/start-stop-daemon in nscd.init. Closes: bug#575404.
+ * Add debian/patches/any/cvs-getaddrinfo.diff from upstream to not abort
+ the getaddrinfo loop on the first successful.
[ Samuel Thibault ]
* debian/patches/hurd-i386/submitted-rtld_lock_recursive.diff: New patch to
Added: glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-getaddrinfo.diff
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-getaddrinfo.diff (rev 0)
+++ glibc-package/branches/eglibc-2.11/debian/patches/any/cvs-getaddrinfo.diff 2010-05-24 16:51:52 UTC (rev 4283)
@@ -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..597189f 100644
+--- a/sysdeps/posix/getaddrinfo.c
++++ b/sysdeps/posix/getaddrinfo.c
+@@ -817,17 +817,18 @@
+ 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/branches/eglibc-2.11/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.11/debian/patches/series 2010-05-24 16:45:48 UTC (rev 4282)
+++ glibc-package/branches/eglibc-2.11/debian/patches/series 2010-05-24 16:51:52 UTC (rev 4283)
@@ -228,3 +228,4 @@
any/cvs-remove.diff
any/submitted-nptl-invalid-td.patch
any/local-gai-rfc1918-scope-global.patch
+any/cvs-getaddrinfo.diff
Reply to: