> On 25-sep-2007, at 0:34, Mark Andrews wrote: > > > Actually getaddrinfo() not asking for AAAA all the time is > > broken if you add in searching which most/all getaddrinfo() > > calls do. > > > You want to get to the *same* name when searching regardless > > of whether it has A, AAAA or AAAA & A records. There are two > > way to achieve this. > > I don't understand what you're saying: "get the same name"? We're > talking about getting addresses, we already have the name. > > > getaddrinfo("foo") and getaddrinfo("ftp.uu.net") > > > search "example.org example.net example.com" > > You really don't want to have a list of search domains, the ambiguity > will bite you at some point. Better to stick with fully qualified names. > > > foo.example.org A 1.2.3.4 > > foo.example.net A 2001::1 > > *.example.com A 1.2.3.5 > > *.example.com A 2001::2 > > (Don't you mean AAAA for the IPv6 addresses?) Yes. > You are comingling way too many things here. Let me simply conclude > that foo.example.org is the first name that is tried and since it > exists what comes back for that name is what's going to be used. Actually it isn't specified what should happen. If you don't make AAAA queries most(all?) existing search algorithms will continue to foo.example.net. Remember, in the DNS, a name can exist yet have not records associated with it (rcode=NOERROR ancount=0 is returned for all types). Similarly if you don't make A queries you will end up with ftp.uu.net.example.com. RFC 3493 says: For example, when using the DNS, a query for AAAA records should occur only if the node has at least one IPv6 address configured (other than IPv6 loopback) and a query for A records should occur only if the node has at least one IPv4 address configured (other than the IPv4 loopback). This is actually dangerous when searching is done. > I'm > reasonably sure this is even the case when "what comes back" is an > empty set. And in the deployed code this co-mingling occurs. It's reality and we, the IETF, should define what it the best/safest/correct behaviour when that occurs. People like to use unqualified *and* partially qualified hostnames. We should be writting specifications that take this into account. We have not done that for getaddrinfo(). Mark -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@xxxxxxx _______________________________________________ Ietf@xxxxxxxx https://www1.ietf.org/mailman/listinfo/ietf