Much to my embarrassment, our Netalyzr test for RFC3597 (unknown RRTYPE 
handling.  We used RRTYPE=169 for our testing, as its unassigned yet a 
convenient mnemonic) was broken for us by the upstream authorities in our path 
without my realizing it:

        Bad enough is that all of the authorities for icsi.berkeley.edu and 
berkeley.edu are running BIND of various versions (including the latest), which 
it turns out all return FORMERR for unknown RTYPE requests where 128 <= RRTYPE 
< 256.  [1]  

        Now true these are 'meta' RRTYPEs (my screwup for using, only now do I 
realize that), but RFC 5395 does state that sometimes meta types may be queried 
directly (with any processing optional), so you'd hope that between that and 
RFC3597, it would work.  In didn't.


        That was bad.  But it gets worse.  Namely, all ROOTS but h, k, and l 
fail to properly handle an unknown RTYPE in that range:

dig +norecurse TYPE169 txt.aoeuauoe.netalyzr.icsi.berkeley.edu 
@c.root-servers.net

Compare with

dig +norecurse TYPE169 txt.aoeuauoe.netalyzr.icsi.berkeley.edu 
@h.root-servers.net
or
dig +norecurse TYPE256 txt.aoeuauoe.netalyzr.icsi.berkeley.edu 
@c.root-servers.net


As far as I can tell, this lovely bug came about because somewhere a decision 
was made that RFC3597 should not apply to meta RRTYPEs (128 - 255).


So the question becomes:  Should all 128 <= RRTYPE < 256 be marked as forbidden 
for subsequent allocation, unless transparent relaying is not required?  (that 
is, ONLY be used for DIRECT, UNPROXIED, UNFORWARDED communication between two 
DNS speakers).
 
Because otherwise these meta RRTYPEs clearly don't work: the installed base of 
bind is too much to begin with, plus this behavior even extends to the roots!



[1]  Compare (trimmed for readability):
nweaver% dig +norecurse type169 txt.aoeuaoeu.netalyzr.icsi.berkeley.edu 
@adns1.berkeley.edu

; <<>> DiG 9.6.0-APPLE-P2 <<>> +norecurse type169 
txt.aoeuaoeu.netalyzr.icsi.berkeley.edu @adns1.berkeley.edu
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 39144
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;txt.aoeuaoeu.netalyzr.icsi.berkeley.edu. IN TYPE169


with
nweaver% dig +norecurse type16 txt.aoeuaoeu.netalyzr.icsi.berkeley.edu 
@adns1.berkeley.edu

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43151
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;txt.aoeuaoeu.netalyzr.icsi.berkeley.edu. IN TXT

;; AUTHORITY SECTION:
netalyzr.icsi.berkeley.edu. 3600 IN     NS      roland.icir.org.

;; ADDITIONAL SECTION:
roland.icir.org.        3600    IN      A       192.150.187.31

and
dig +norecurse type256 txt.aoeuaoeu.netalyzr.icsi.berkeley.edu 
@adns1.berkeley.edu
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2103
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;txt.aoeuaoeu.netalyzr.icsi.berkeley.edu. IN TYPE256

;; AUTHORITY SECTION:
netalyzr.icsi.berkeley.edu. 3600 IN     NS      roland.icir.org.

;; ADDITIONAL SECTION:
roland.icir.org.        3600    IN      A       192.150.187.31


This particular system is running the latest version of bind:

nweaver% dig +short chaos txt version.bind @adns1.berkeley.edu
"9.7.2-P2"
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to