]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816)
authorFlorian Weimer <fweimer@redhat.com>
Tue, 13 Sep 2022 14:11:40 +0000 (16:11 +0200)
committerFlorian Weimer <fweimer@redhat.com>
Thu, 13 Oct 2022 13:45:58 +0000 (15:45 +0200)
getent implicitly passes AI_ADDRCONFIG to getaddrinfo by default.
Use --no-addrconfig to suppress that, so that both IPv4 and IPv6
lookups succeed even if the address family is not supported by the
host.

Reviewed-by: Carlos O'Donell <carlos@redhat.com>
(cherry picked from commit c75d20b5b27b0a60f0678236f51a4d3b0b058c00)

NEWS
nss/tst-nss-files-hosts-long.c

diff --git a/NEWS b/NEWS
index 60dcd893da259133c5b9d78a79426bc38be1120f..08a11329c01baab9b64c18f11925af2e5f41cbf3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -55,6 +55,7 @@ The following bugs are resolved with this release:
   [19193] nptl: pthread_kill, pthread_cancel should not fail after exit
   [22542] CVE-2022-23219: Buffer overflow in sunrpc clnt_create for "unix"
   [23734] la_symbind*() doesn't get called when LD_BIND_NOW is set
+  [24816] Fix tst-nss-files-hosts-long on single-stack hosts
   [25812] Libio vtable protection is sometimes only partially enforced
   [26643] register x8 and quad sized NEON registers are not properly
     saved when using ld_audit on aarch64
index 00f8bea409e0b4cba99493dc3b20407dbd06daf6..42676ba4056dbde295523626b10a2ac657cdd184 100644 (file)
@@ -28,14 +28,15 @@ do_test (void)
 {
   int ret;
 
-  /* Run getent to fetch the IPv4 address for host test4.
-     This forces /etc/hosts to be parsed.  */
-  ret = system("getent ahostsv4 test4");
+  /* Run getent to fetch the IPv4 address for host test4.  This forces
+     /etc/hosts to be parsed.  Use --no-addrconfig to return addresses
+     even in an IPv6-only environment.  */
+  ret = system("getent --no-addrconfig ahostsv4 test4");
   if (ret != 0)
     FAIL_EXIT1("ahostsv4 failed");
 
   /* Likewise for IPv6.  */
-  ret = system("getent ahostsv6 test6");
+  ret = system("getent --no-addrconfig  ahostsv6 test6");
   if (ret != 0)
     FAIL_EXIT1("ahostsv6 failed");