Broken DNS client resolvers (Was: Dealing with filtered 6to4 clients)
Phil Pennock
ipv6-ops+phil at spodhuis.org
Wed Oct 28 04:45:06 CET 2009
On 2009-10-27 at 17:37 +0100, Rémi Denis-Courmont wrote:
>
> On Tue, 27 Oct 2009 17:02:23 +0100, Jeroen Massar <jeroen at unfix.org> wrote:
> > Yes, I can see that the ADDRCONF flag can be useful for this, as it
> > avoids querying AAAA records in the first place, but that should not be
> > done on a per-application level. That is a decision to be made by the
> > resolver library which should be smart about that, link-local addresses
> > can't be stuffed in a AAAA address anyway and if you don't have
> > connectivity then there is not much to be done.
>
> I guess glibc does standard lawyering. There are cases where an application
> wantd to query AAAA regardless of the system configuration. Those cases are
> corner cases. glibc follows the standard to the letter and resolves
> everything by default.
>
> And so, glibc adds a (non-standard) flag if you want to use getaddrinfo for
> policy. In other words, even though this is the most common case, it is not
> the default. I am not going to get into a fight with Ulrich Drepper on
> this, as it would most likely get us nowhere.
>
> Ubuntu can force AI_ADDRCONFIG into their glibc if they see fit.
Non-standard? Really?
Well, it's true that the RFC for "Basic Socket Interface Extensions for
IPv6" is non-standard, it's "Informational", but that's because it's a
host API and more of a guideline of how to implement things. But
AI_ADDRCONFIG is in RFC 3493 (from 2003).
It was even in RFC 2553, from 1999. It was not in RFC 2133, from 1997.
So AI_ADDRCONFIG was only introduced ten years ago, in an Informational
RFC.
Fortunately, we have the Single Unix Specification. SUSv3 includes
AI_ADDRCONFIG. That makes it standard. SUSv2 did not include
getaddrinfo(), AFAICT.
So please, stop being rude about people who aren't here to defend
themselves from such false statements.
-Phil
More information about the ipv6-ops
mailing list