FYI

Ted Lemon is working on multi-qtypes implementations, and sent these
messages he "thought" included DNSOP.

tim

---------- Forwarded message ---------
From: Ted Lemon <elemon=40apple....@dmarc.ietf.org>
Date: Sun, Mar 16, 2025 at 1:26 AM
Subject: [dnssd] Re: Questions that arise as I implement multi-qtypes
To: DNSSD <dn...@ietf.org>


Following on on this, I notice several other requirements. I don't feel so
strongly about this, but why does the server-side implementation need to
verify that there aren't any duplicate QTypes. This is a bunch of
additional code to get wrong. What are we preventing here? What's the
motivation?

I'm pretty okay with returning FORMERR if QDCOUNT==0, because that's really
easy to implement. I'm okay with rejecting multiple mqtype options, but I'd
also be okay with silently ignoring all but the first. Servers that don't
implement this option won't return FORMERR. So what's the benefit of this
specific choice? I'm inclined to say it's correct, but it is a small amount
of additional work.

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.

Finally, this never occurred to me until starting to type code, and I don't
necessarily think it's wrong, but there's no discussion about QCLASS at
all. The document takes a clear position that multi-qtypes uses the QCLASS
of the question, but what's the motivation for this choice? Why not have
mutli-qtypes be a list of (qtype, qclass, qtype, qclass, ...)? My answer to
this would be "qclass is useless and so this wastes space" but I think it's
worth talking about this. Possibly the WG already talked about it and
concluded it wasn't necessary?

On 16 Mar 2025, at 12:15, Ted Lemon <ele...@apple.com> wrote:

I'm finally actually starting to do the hackathon project, and given that
the whole point of this is to surface issues in the draft prior to
publication, I'm going to start a thread here to report my observations.
Hopefully this will be useful. Others who are also hackathoning on
multi-qtypes are welcome to join in on this thread or start their own.

BTW, I'm cross-posting this to dnsop, but have set the Reply-To to dnssd,
so that DNSOP folks know this is happening, but don't have to read the
whole thread. If you disagree with this choice, no need to argue—just Cc
dnsop on your reply.

First observation: section 3.2.1 places a requirement on servers to reply
with a FORMERR if multi-qtypes is sent and OpCode != 0. My reaction to
reading this was "oh great, I have to write a bunch of code to do this for
all non-query messages. What a pain." My second response is to not do it,
because it's unnecessary. It's perfectly normal (I think, correct me if I
am wrong) for a DNS server that gets an unknown EDNS(0) option to ignore
it. Why do we need/want different behavior here?

I would propose that we change this to "MUST silently ignore" rather than
"MUST return FORMERR." IOW this option has no meaning for any other
message, but you don't need to write special-case code to punish a DNS
implementation that incorrectly sends it. The behavior is defined, and the
correct behavior is that it is ignored.


_______________________________________________
dnssd mailing list -- dn...@ietf.org
To unsubscribe send an email to dnssd-le...@ietf.org
_______________________________________________
DNSOP mailing list -- dnsop@ietf.org
To unsubscribe send an email to dnsop-le...@ietf.org

Reply via email to