This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug network/14505] New: AI_ADDRCONFIG does not suppress IN A lookups from IPV6-only hosts


http://sourceware.org/bugzilla/show_bug.cgi?id=14505

             Bug #: 14505
           Summary: AI_ADDRCONFIG does not suppress IN A lookups from
                    IPV6-only hosts
           Product: glibc
           Version: 2.17
            Status: NEW
          Severity: normal
          Priority: P2
         Component: network
        AssignedTo: unassigned@sourceware.org
        ReportedBy: law@redhat.com
    Classification: Unclassified


When looking a host name using getaddrinfo() with AI_ADDRCONFIG from an
IPv6-only host, IN A queries are sent to the DNS server. According to RFC 3493,
they should not.

Steps to Reproduce:
1. Ensure the system is IPv6-only (it is optional remove 127.0.0.1/8 from the
loopback interface, as it is ignored by getaddrinfo() for the purposes of
determining whether or not the system has IPv4 connectivity or not). My test
system gives the following output:

[tore@laptop ~]$ ip -4 address list; ip -4 route list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    inet 127.0.0.1/8 scope host lo
[tore@laptop ~]$ 

2. Ensure the system has a working IPv6 DNS server configured in
/etc/resolv.conf, "echo nameserver 2001:4860:4860::8888 > /etc/resolv.conf"
should do the trick.

3. Download and compile my getaddrinfo() test program from http://fud.no/gai.c
(or use any other getaddrinfo() test program that can be made to use
AI_ADDRCONFIG): "wget -O - http://fud.no/gai.c | gcc -x c -o gai -"

4. Start a tcpdump to inspect DNS server traffic: "tcpdump -i any -n port 53"

5. Resolve a host name using getaddrinfo() w/AI_ADDRCONFIG, e.g. "./gai -ac
www.ripe.net"

Actual results:

The tcpdump process reports queries being made for both A and AAAA resource
records:

11:16:00.685198 IP6 2a02:c0:1002:101:c449:7c3d:76b6:bbd1.48007 >
2001:4860:4860::8888.domain: 44105+ A? www.ripe.net. (30)
11:16:00.685235 IP6 2a02:c0:1002:101:c449:7c3d:76b6:bbd1.48007 >
2001:4860:4860::8888.domain: 35929+ AAAA? www.ripe.net. (30)
11:16:00.727253 IP6 2001:4860:4860::8888.domain >
2a02:c0:1002:101:c449:7c3d:76b6:bbd1.48007: 44105 1/0/0 A 193.0.6.139 (46)
11:16:00.727278 IP6 2001:4860:4860::8888.domain >
2a02:c0:1002:101:c449:7c3d:76b6:bbd1.48007: 35929 1/0/0 AAAA
2001:67c:2e8:22::c100:68b (58)

Expected results:

Only an AAAA record query should have been made; AI_ADDRCONFIG should have
suppressed the A queries.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]