aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2022-09-13 16:11:40 +0200
committerFlorian Weimer <fweimer@redhat.com>2022-10-13 15:12:20 +0200
commit135c29bf9cda370a909bc3d17711c85564ba3913 (patch)
tree569fa14478df6d4fc8567f3b3d0578f4e4120c30
parent767c99850b2eaa236ef18f5e60bfcaccdede6611 (diff)
downloadglibc-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--NEWS1
-rw-r--r--nss/tst-nss-files-hosts-long.c9
2 files changed, 6 insertions, 4 deletions
diff --git a/NEWS b/NEWS
index a14a70eda3..41f6078084 100644
--- a/NEWS
+++ b/NEWS
@@ -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");