On 16 Mar 2025, at 12:26, Ted Lemon <ele...@apple.com> wrote: > > > The text on invalid QTx seems like [citation needed]. An example invalid type > of QTx is given, but I don't actually know of a list of meta-qtypes. Where is > this defined? I'm assuming this means "ANY" but I don't actually know that > this assumption is correct.
Peter Thomassen pointed out online that there is text in the draft that explains this: QT: a (potentially empty) list of 2 byte fields (QTx) in network order (MSB first) each specifying a DNS RRTYPE. The RRTYPEs MUST be for real resource records, and MUST NOT refer to Meta RRTYPEs such as "OPT" and those from the reserved range 128 - 255, e.g. "IXFR", "TSIG", "*", etc. Here is the text I was commenting on: If any invalid QTx is received in the query (e.g. one corresponding to a meta-RR) the server MUST return a FORMERR response. Both of these bits of text exist in the document. I think that the text Peter pointed out should be moved down to the bit about server behavior, or at least there should be a back pointer. However, also that text still says "such as ..." which implies that what is said here is not complete. If that were actually the case, normative language would be inappropriate, since the implementor doesn't know precisely what to exclude. So I went hunting for this. This is, perhaps unsurprisingly, defined in RFC 2929. There is no reference to RFC 2929 in the IANA registry under the unassigned meta RRtypes, which perhaps should be fixed. The private and unassigned sections also don't reference RFC2929 and perhaps should. Anyway, my point is that this text should be explicit about what is required. I think it's the OPT RRtype and all RRtypes numbered 128-255. And nothing else. And there should be a reference to the section in RFC2929 that explains what a Meta RRtype is. But implementations can't exclude any other meta RRtypes, because the document doesn't list them, and since there is a reserved number space for meta RRtypes, there is no need for leaving this open-ended. I suspect that this is actually what Ray intended, and I read "such as" differently than he intended, but I think this change is still necessary, because although I am a bit of a weirdo, there are one or two other weirdos who implement stuff like this, so this could happen again. :) I also think that it would be better to specify this in the server behavior section rather than in the description of what a QType is, but that might just be because when I was implementing this I was in a hurry and missed the initial text about meta RRtypes. _______________________________________________ DNSOP mailing list -- dnsop@ietf.org To unsubscribe send an email to dnsop-le...@ietf.org