[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#728703: libc6: DNS resolution fails for domains without an ipv6 address if the DNS server doesn't send the "ra" flag



Package: libc6
Severity: normal
Tags: ipv6

Dear Maintainer,

I'm currently traveling though Thailand where many DNS servers (as received
via DHCP) seem to be somewhat misconfigured: they resolve all address
correctly but fail to send the "ra" flag (recursion available) flag.

When I'm connected to such a server and and call "dig A [domainname]" or
dig AAAA [domainname]", the answer always contains the line "WARNING:
recursion requested but not available" and reports "flags: qr rd". Now when
I invoke e.g. wget on a domain that's has both ipv4 and ipv6 addresses, the
domain is resolved correctly:

    $ wget google.de
    Resolving google.de (google.de)... 61.91.18.123, 61.91.18.98, 61.91.18.113, ...
    Connecting to google.de (google.de)|61.91.18.123|:80... connected.

But if the domain only has an ipv4 address, it cannot be resolved:

    $ wget keimform.de
    Resolving keimform.de (keimform.de)... failed: Name or service not known.
    wget: unable to resolve host address ‘keimform.de’

dig and host, however, correctly resolve the ipv4 address for the latter
domain ("keimform.de has address 46.38.235.211"). ping is able to connect
to both domains as well. But all other programs I tried (wget, telnet,
curl, ftp, iceweasel, icedove, xchat etc.) claim that domains which only
have an ipv4 address are unresolveable. I therefore assume that the DNS
resolver treats the missing "ra" flag sent by the DNS server in an
inconsistent and illogical way: domains that have an ipv6 address are
resolved correctly but domains that only have an ipv4 address are
considered as unresolveable, even though my network connection is via IPv4
and the DNS server has returned the right answer.

The expected outcome would be that, when connected via Pv4, all programs
can resolve all domains that have an ipv4 address, regardless of whether or
not the DNS server sends the "ra" flag (possibly with a warning logged
somewhere if it doesn't).

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.10-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


Reply to: