On 04. 07. 24 10:00, Joe Abley wrote:
On 4 Jul 2024, at 08:38, Petr Špaček <[email protected]> wrote:

when re-reading this document I've realized one limitation which is not 
explicitly mentioned:

---
3.2. Responders

... A name server MAY also include more than one ZONEVERSION option in the 
response if it is authoritative for more than one zone of the corresponding 
QNAME. A name server MUST NOT include more than one ZONEVERSION option for a 
given TYPE and LABELCOUNT.
---

The current option cannot be used to represent version info for answer like 
this:

QNAME:
qname.zone1.test. A

Answer:
qname.zone1.test.  CNAME target.zone2.test.
target.zone2.test. A     192.0.2.1

When the responder is authoritative for both zones - zone1.test. and 
zone2.test. - then there's no way to represent ZONEVERSION for zone2.test.

I think this is a consequence of the loose language you quoted "more than one zone 
of the corresponding QNAME". I think this language should be made clearer. I think 
it is vague, as written.

I think the intention is that if the server is authoritative for zone1.example 
and zone2.zone1.example then a query for label.zone2.zone1.example could return 
ZONEVERSION data for both zone1.example and zone2.zone1.example using 
LABELCOUNT == 2 and 3, respectively.


To be clear:
Let's not hang too tight on this particular example. It could be something crazy like

qname.zone1.test. CNAME target2.example.
target2.example. CNAME final.example.net.
final.example.net. A 192.0.2.1

(i.e. zone names have nothing in common except for the root)

I don't think there was any intention that your example would result in ZONEVERSION data 
for zone2.test being returned. I agree it might be nice if there was a way to do that, 
but I haven't thought hard enough to have an opinion beyond "nice". I suppose 
one way to handle this would be to use an offset pointer for the zone name, à la label 
compression, rather than using LABELCOUNT. Then you could report a ZONEVERSION for any 
terminated list of labels present in the message, regardless of whether it is present in 
the QNAME. Maybe that would be hard to implement, though.

That same thought occurred to me as well but I think it would be hard - decompression typically happens way before the message is processed.

Anyway, assuming my interpretation of that phrase above is accurate and there's 
no appetite to change the encoding, I don't know that there's a way of of 
phrasing the intent in a small handful of words. I think multiple sentences and 
probably an example will be required.

--
Petr Špaček
Internet Systems Consortium

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to