[getdns-api] link-local recursive name server addresses

Shumon Huque shuque at gmail.com
Wed Jul 2 02:59:03 MST 2014


On Tue, Jul 1, 2014 at 1:43 PM, Tony Finch <dot at dotat.at> wrote:

> Thomas Schäfer reported an interesting bug on the ipv6-ops list:
> http://lists.cluenet.de/pipermail/ipv6-ops/2014-July/010032.html
>
> The problem occurs when /etc/resolv.conf contains a link-local nameserver
> address, which necessarily includes a scope so that the address is
> associated with the correct interface.
>
> Some stub resolver libraries fail to parse the scope - usually they ignore
> the scope rather than failing, but this results in the wrong interface
> index in the eventual sockaddr, so the resolver ends up unable to talk to
> its server.
>
> The interestingly awkward thing about this bug is that it implies that you
> cannot use a simple IPv6 address (e.g. AAAA RDATA) to represent a stub
> resolver's name server addresses. Unfortunately the getdns API assumes
> that you can; to fix this it needs to learn about scoped addresses.
>

I agree we should fix this. Looks like getdns currently ignores the scope
id.

Note that the default mode of operation of the getdns library is to do full
recursion, so a scoped link-local address won't work anyway - the system
needs at least one globally routable IPv6 address. This becomes an issue if
you change the mode of operation to stub and there is an upstream resolver
with a scope-id specified.

--Shumon
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vpnc.org/pipermail/getdns-api/attachments/20140702/c487c03d/attachment.html>


More information about the getdns-api mailing list