Hello, first of all, let me say that I could be wrong. Both NSD and BIND violating an RFC in the same way does not sound like the most likely scenario to me. However, I want to be sure.
For a CNAME pointing to a non-existing name in the same zone, BIND and NSD return NOERROR, and do not include a SOA record in the AUTHORITY section. According to my reading of RFC2308 section 1 (definition of QNAME) and section 2.1, they should return NXDOMAIN and include the SOA. RFC6604 (which updates 2308) section 3 restates, according to my reading, the same. Given a zone example.com with the usual records (SOA, couple of NSes) at the apex, plus these records: ns1 IN A 192.168.1.1 ns2 IN A 192.168.1.2 nxd IN CNAME nxdomain.example.com. BIND returns: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49021 ;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; QUESTION SECTION: ;nxd.example.com. IN ANY ;; ANSWER SECTION: nxd.example.com. 120 IN CNAME nxdomain.example.com. ;; AUTHORITY SECTION: example.com. 120 IN NS ns2.example.com. example.com. 120 IN NS ns1.example.com. ;; ADDITIONAL SECTION: ns1.example.com. 120 IN A 192.168.1.1 ns2.example.com. 120 IN A 192.168.1.2 NSD returns the same minus the ra flag. PowerDNS, however, returns: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 34897 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 2800 ;; QUESTION SECTION: ;nxd.example.com. IN A ;; ANSWER SECTION: nxd.example.com. 120 IN CNAME nxdomain.example.com. ;; AUTHORITY SECTION: example.com. 86400 IN SOA ns1.example.com. ahu.example.com. 2000081501 28800 7200 604800 86400 ;; Query time: 1 msec ;; SERVER: 127.0.0.1#5300(127.0.0.1) ;; WHEN: Fri Oct 26 13:06:46 2012 ;; MSG SIZE rcvd: 111 The relevant difference here is NXDOMAIN instead of NOERROR, and the addition of the SOA. PowerDNS not including the NS records plus their IPs is inconsequential to the issue, as far as I can tell. On a sidenote, NSD does include an NSEC3 denying existence of nxdomain.example.com when DNSSEC+NSEC3 are enabled. I did not verify this for BIND. PowerDNS currently does not generate this NSEC3 but this will be fixed shortly. Opinions welcome! Kind regards, -- Peter van Dijk Netherlabs Computer Consulting BV - http://www.netherlabs.nl/ _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop