>>> Obviously this should be fixed. But: you may ask yourself: why is your >>> system doing AAAA lookups when you obviously don't have IPv6 >>> connectivity? > >> Because the application asked it to do them? > > Did it? > > If you look up the getaddrinfo() man page (see top Google hits for a > link to the implementation in your favorite OS) you'll see that it's > possible to specify a protocol family or "accept any protocol family > supported by the operating system". > > (But: protocol family? Didn't we call these things address families?) > > In my opinion, when the application says "unspecified", it's entirely > reasonable for the OS to only supply addresses of a type that > currently has reachability. Well, I'm not sure what the specification means by this. But that's kind of a separate issue. The point is that the application might well have a need for AAAA records and to request AAAA records in a DNS lookup even if the local host doesn't have external IPv6 connectivity - or perhaps no IPv6 connectivity at all. You don't want API second-guessing this stuff. >> Here's the thing. I don't want getnameinfo() or any other API that does >> DNS lookup to act differently depending on whether the system seems to >> have external IPv6 connectivity or not (unless the app explicitly asked >> for this), because my app might have a valid reason for wanting to know >> if there's an AAAA record associated with a name even if the system >> doesn't have external IPv6 connectivity. > > I agree that if an application specifically asks for something the OS > etc shouldn't pretend it doesn't exist if it does, but I disagree that > there are significant valid cases where this is required. Whenever I look at what it takes to make IPv6 transition viable, I find cases where it is essential to be able to host a IPv4 service on an IPv6-only network and vice versa. So I disagree. >> The view of DNS needs to be >> consistent from one host to another and one query to another if we want >> applications to work reliably. > > Sure. (Hence the evilness of two-faced DNS. Yes, flame away.) However, > that doesn't apply here: there is no requirement that if someone asks > for one record type, she is informed of all other record types as well. Provided that they get what they ask for. > Following your logic, the Windows logic of always asking for AAAA > records when IPv6 is enabled doesn't go far enough: it should ask for > AAAA records even when IPv6 is disabled administratively. If the app requests them, yes. Keith _______________________________________________ Ietf@xxxxxxxx https://www1.ietf.org/mailman/listinfo/ietf