diff options
author | Florian Weimer <fweimer@redhat.com> | 2022-09-13 16:11:40 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2022-10-13 15:12:20 +0200 |
commit | 135c29bf9cda370a909bc3d17711c85564ba3913 (patch) | |
tree | 569fa14478df6d4fc8567f3b3d0578f4e4120c30 | |
parent | 767c99850b2eaa236ef18f5e60bfcaccdede6611 (diff) | |
download | glibc-135c29bf9cda370a909bc3d17711c85564ba3913.tar glibc-135c29bf9cda370a909bc3d17711c85564ba3913.tar.gz glibc-135c29bf9cda370a909bc3d17711c85564ba3913.tar.bz2 glibc-135c29bf9cda370a909bc3d17711c85564ba3913.zip |
nss: Fix tst-nss-files-hosts-long on single-stack hosts (bug 24816)
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)
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | nss/tst-nss-files-hosts-long.c | 9 |
2 files changed, 6 insertions, 4 deletions
@@ -17,6 +17,7 @@ Major new features: The following bugs are resolved with this release: [12154] Do not fail DNS resolution for CNAMEs which are not host names + [24816] Fix tst-nss-files-hosts-long on single-stack hosts [25812] Libio vtable protection is sometimes only partially enforced [28838] FAIL: elf/tst-p_align3 [28846] CMSG_NXTHDR may trigger -Wstrict-overflow warning diff --git a/nss/tst-nss-files-hosts-long.c b/nss/tst-nss-files-hosts-long.c index 3942cf5fca..a7697e3143 100644 --- a/nss/tst-nss-files-hosts-long.c +++ b/nss/tst-nss-files-hosts-long.c @@ -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"); |