Subject: Re: IPv6 servers redux

Re: IPv6 servers redux

From: Gregor Jasny <jasny_at_vidsoft.de>
Date: Thu, 18 Dec 2008 00:21:03 +0100

On Tue, Dec 16, 2008 at 11:51:25PM +0100, Daniel Stenberg wrote:
> On Mon, 15 Dec 2008, Gregor Jasny wrote:
> I would claim that setting an empty servers list should simply make the list
> in the handle empty: no servers available to use. IMO, the
> ares_set_servers()
> overrides whatever c-ares otherwise tries to figure out by itself. So yes,
> if
> someone would like the list as it was before set_servers is called, he/she
> would need to fetch the list first.

OK. Then I don't need to change anything.

> Have you tried this patch on a system without IPv6 support? At a first
> glance
> it seems to use a lot of defines and structs that weren't around in the
> past.

struct in6_addr just moved up to be available for struct ares_addr later.
And struct ares_addr moved from ares_private to ares.h.

I've appended a kind of log for both, IPv4 and IPv6 operation on a Linux host.

Cheers,
Gregor

# no ipv6, ares autoconfig

gjasny_at_Rincewind:~/src/c-ares$ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:18:f3:02:17:79 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.6/24 brd 192.168.100.255 scope global eth0

gjasny_at_Rincewind:~/src/c-ares$ ./adig www.google.de
id: 48852
flags: qr rd ra
opcode: QUERY
rcode: NOERROR
Questions:
        www.google.de . A
Answers:
        www.google.de . 29473 CNAME www.google.com.
        www.google.com . 29412 CNAME www.l.google.com.
        www.l.google.com. 175 A 209.85.129.104
        www.l.google.com. 175 A 209.85.129.147
        www.l.google.com. 175 A 209.85.129.99
NS records:
Additional records:

# no ipv6, ares ipv4 server set

gjasny_at_Rincewind:~/src/c-ares$ ./adig -s 192.168.100.1 www.google.de
id: 8913
flags: qr rd ra
opcode: QUERY
rcode: NOERROR
Questions:
        www.google.de . A
Answers:
        www.google.de . 29471 CNAME www.google.com.
        www.google.com . 29410 CNAME www.l.google.com.
        www.l.google.com. 173 A 209.85.129.99
        www.l.google.com. 173 A 209.85.129.104
        www.l.google.com. 173 A 209.85.129.147
NS records:
Additional records:

# ipv6 available, ares ipv6 server set

gjasny_at_Rincewind:~/src/c-ares$ ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:18:f3:02:17:79 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.6/24 brd 192.168.100.255 scope global eth0
    inet6 2002:4e35:532a:1234:218:f3ff:fe02:1779/64 scope global dynamic
       valid_lft 284sec preferred_lft 104sec
    inet6 fe80::218:f3ff:fe02:1779/64 scope link
       valid_lft forever preferred_lft forever
gjasny_at_Rincewind:~/src/c-ares$ ./adig -s 2001:503:231d::2:30 www.google.de
DNS server returned answer with no data
id: 12337
flags: qr rd
opcode: QUERY
rcode: NOERROR
Questions:
        www.google.de . A
Answers:
NS records:
                       . 172800 NS i.root-servers.net.
                       . 172800 NS a.root-servers.net.
                       . 172800 NS f.root-servers.net.
                       . 172800 NS g.root-servers.net.
                       . 172800 NS h.root-servers.net.
                       . 172800 NS j.root-servers.net.
                       . 172800 NS l.root-servers.net.
                       . 172800 NS b.root-servers.net.
                       . 172800 NS c.root-servers.net.
                       . 172800 NS e.root-servers.net.
                       . 172800 NS d.root-servers.net.
                       . 172800 NS k.root-servers.net.
                       . 172800 NS m.root-servers.net.
Additional records:
        i.root-servers.net. 172800 A 192.36.148.17
        a.root-servers.net. 172800 A 198.41.0.4
        a.root-servers.net. 172800 AAAA 2001:503:ba3e::2:30
        f.root-servers.net. 172800 A 192.5.5.241
        f.root-servers.net. 172800 AAAA 2001:500:2f::f
        g.root-servers.net. 172800 A 192.112.36.4
        h.root-servers.net. 172800 A 128.63.2.53
        h.root-servers.net. 172800 AAAA 2001:500:1::803f:235
        j.root-servers.net. 172800 A 192.58.128.30
        j.root-servers.net. 172800 AAAA 2001:503:c27::2:30
        l.root-servers.net. 172800 A 199.7.83.42
        l.root-servers.net. 172800 AAAA 2001:500:3::42
        b.root-servers.net. 172800 A 192.228.79.201
Received on 2008-12-18