bin/156684: getaddrinfo returns improper error

Doug White dwhite at gumbysoft.com
Thu Apr 28 01:50:11 UTC 2011


The following reply was made to PR bin/156684; it has been noted by GNATS.

From: Doug White <dwhite at gumbysoft.com>
To: bug-followup at FreeBSD.org,
 jared at puck.nether.net
Cc:  
Subject: Re: bin/156684: getaddrinfo returns improper error
Date: Wed, 27 Apr 2011 18:23:12 -0700

 Hello Jared,
 
 Thanks for your bug report.
 
 It appears the resolver makes a distinction between a record resolves to =
 a CNAME that points to another record that does not have a AAAA entry, =
 versus a record that has no AAAA or CNAME at all. This behavior is =
 consistent with A records as well.
 
 To test this, I created these RRs in gumbysoft.com (these are real so =
 you can test this as well):
 
 aaaatest                    AAAA    2001:4f8:fff6::22
 cnametoaaaa             CNAME   ipv6
 cnametononaaaa          CNAME   carver
 
 The IPv6 address is the same as www.freebsd.org so it should respond to =
 pings. carver is my machine that is IPv4-only. (Note to old bugbase =
 readers: These records are subject to change without notice to this =
 bug.)
 
 I am going to test from freefall.freebsd.org, which is dual stack, =
 running a recent FreeBSD 8-STABLE build.
 
 FreeBSD freefall.freebsd.org 8.2-STABLE FreeBSD 8.2-STABLE #4 r220774: =
 Mon Apr 18 13:56:14 UTC 2011     =
 simon at freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL  i386
 
 'ping6 aaaatest.gumbysoft.com' and 'ping6 cnametoaaaa.gumbysoft.com' =
 resolve successfully, but 'ping6 cnametononaaaa.gumbysoft.com', a =
 dangling CNAME, fails:
 
 freefall,pts/9,~,36>ping6 cnametononaaaa.gumbysoft.com
 ping6: Non-recoverable failure in name resolution
 
 and names with no AAAA or simply nonexistent names return:
 
 freefall,pts/9,~,37>ping6 blabla.gumbysoft.com
 ping6: hostname nor servname provided, or not known
 freefall,pts/9,~,14>ping6 carver.gumbysoft.com
 ping6: hostname nor servname provided, or not known
 
 By comparison, on A records, where cnametoaaaa does not point to an =
 existent A entry (using telnet -4 so it uses getaddrinfo()):
 
 freefall,pts/9,~,42>telnet -4 blabla.gumbysoft.com
 blabla.gumbysoft.com: hostname nor servname provided, or not known
 freefall,pts/9,~,43>telnet -4 cnametoaaaa.gumbysoft.com
 cnametoaaaa.gumbysoft.com: Non-recoverable failure in name resolution
 
 Research into the issue seems to come down to a philosophical argument =
 as to whether to report "danging" CNAMEs as a separate problem from =
 simply nonexistent records.=20
 
 At this point, though, the reported issue is simply not a bug; an error =
 is returned on an attempt to resolve an unresolvable address/type =
 combination. Which error is reported is dependent on the precise failure =
 mode, but the result is the same: failure to resolve the requested name =
 to an address.
 
 


More information about the freebsd-bugs mailing list