Empty CNAME chain, should getaddrinfo() return EAI_NONAME or EAI_FAIL?
Chuck Swiger
cswiger at mac.com
Thu Apr 28 17:00:36 UTC 2011
On Apr 28, 2011, at 3:23 AM, Havard Eidnes wrote:
www.apple.com. 281 IN CNAME www.isg-apple.com.akadns.net.
>> www.isg-apple.com.akadns.net. 60 IN CNAME www.apple.com.edgekey.net.
>> www.apple.com.edgekey.net. 17295 IN CNAME e3191.c.akamaiedge.net.
> ...
>
> As a matter of terminology, in the quoted example, I see a chain
> of three CNAME records. That's not what I would call an empty
> CNAME chain.
>
> What I do see, though, is a CNAME chain of three CNAME records,
> but where the ultimate target of the CNAME chain exists, but does
> not have any data of the requested type. Therefore, in the DNS
> you get a NOERROR status code, and an answer section which does
> not contain any records of the requested type.
Agreed. Akamai's EdgeSuite doesn't provide IPv6 AAAA records at this time, but e3191.c.akamaiedge.net does have an A record.
>> should getaddrinfo() return EAI_NONAME or EAI_FAIL?
>
> RFC 3493 says:
>
> [EAI_NONAME] The name does not resolve for the supplied
> parameters. Neither nodename nor servname were
> supplied. At least one of these must be supplied.
>
> [EAI_FAIL] A non-recoverable error occurred when attempting to
> resolve the name.
>
> Which means that it should probably return EAI_NONAME; it's the least
> bad error code among the ones listed in RFC 3493 for getaddrinfo(),
> although one should not be mislead to think that this means that the
> DNS said NXDOMAIN.
+1 to this analysis as well.
Regards,
--
-Chuck
More information about the bind-users
mailing list