Summary: | getaddrinfo() with hints.ai_family = PF_UNSPEC changes behavior in glibc 2.9 | ||
---|---|---|---|
Product: | glibc | Reporter: | Bernhard Rosenkraenzer <bero> |
Component: | libc | Assignee: | Ulrich Drepper <drepper.fsp> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | glibc-bugs, jgc, meave390, pasky, toolchain |
Priority: | P2 | Flags: | fweimer:
security-
|
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | i686-pc-linux-gnu | Target: | i686-pc-linux-gnu |
Build: | i686-pc-linux-gnu | Last reconfirmed: | |
Attachments: | Patch that fixes it by reverting to 2.8 behavior |
Description
Bernhard Rosenkraenzer
2008-12-01 14:10:29 UTC
This works as before in 2.9 for hostnames that are listed in /etc/hosts; it only fails if it has to look up stuff on the DNS. The DNS itself works (applications that don't use getaddrinfo(), such as host, ping, konqueror, firefox, ... keep working). What nameserver are you using? Most likely a DNS server bug. The DNS is the internal DNS of a Netopia 3346N-VGx DSL modem, revision 7.7.4r1. Modifying /etc/resolv.conf to point at a Linux box running bind 9.5.x does fix it. A workaround is probably needed though, Netopia 3346N-VGx DSL modems come with every Swisscom DSL line for free... Created attachment 3084 [details]
Patch that fixes it by reverting to 2.8 behavior
The attached patch fixes it by reverting most of getaddrinfo.c to what it was
in glibc 2.8 -- not quite the right thing to do, but I can confirm it fixes the
problem.
I'm also facing this bug when using the Hotbrick LB2 as DNS server. Disabling ipv6 on my system fixes this problem. Installing a local recursor like pdns-recursor also fixes this issue, so it's related to broken DNS servers. with pdns-recursor: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21282 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;redhat.com. IN AAAA ;; AUTHORITY SECTION: redhat.com. 600 IN SOA ns1.redhat.com. noc.redhat.com. 2008112502 3600 1800 604800 86400 Result with Hotbrick LB2: ;; ->>HEADER<<- opcode: QUERY, status: NOTIMP, id: 51617 ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; QUESTION SECTION: ;redhat.com. IN AAAA The hotbrick LB2 returns NOTIMP, which violates the RFC. Note that a simpler workaround is to just disable the gethostbyname4() lookup method being exported, as Jakub Jelinek did for Fedora (and me doing for SUSE now): http://pasky.or.cz/~pasky/dev/glibc/glibc-2.10-dns-no-gethostbyname4.diff Also note that it is just a temporary measure, Ulrich plans to work on the resolv code soon. Should be fixed in 2.10. Have to got this amazing post online here just follow and look at here http://freevbucks-generator.mystrikingly.com latest v bucks game zone start to play it ans i wish you have to a batter score |