Hi Patrick,

Thanks for your review! :)

On 4/9/25 06:03, Patrick Mevzek via Datatracker wrote:
I would add one concern/question though:

- §3
My reading is that, after some retries, unreachable nameserver can be removed
from consideration, and then all processing continues with the results of the
reachable nameservers. If this is correct understanding of document, it allows
someone to hijack the change as soon as it controls one nameserver (or queries
towards it) and can make the other ones unreachable. Shouldn't instead the
processing require all nameservers to be reachable? A mix of
reachable/unreachable should be considered an inconsistent state.

I agree that this situation could happen such as the use of CSYNC is attempted
to solve it. But I believe in this case that operator/owner should go back to
the usual path of pushing nameserver changes through the registrar, to at least
remove the unreachable nameserver from the set, and then attempt CSYNC back if
desired.

Sorry if that point was already discussed in the past.

This logic was added in draft-thomassen-dnsop-cds-consistency-01 after Viktor 
Dukhovni pointed out [1] during the DNSOP session at IETF 114 that the 
mechanism needs to accommodate unreachable servers to prevent getting stuck. At 
the time, everyone in the room seemed OK with this.

[1]: https://datatracker.ietf.org/meeting/114/materials/minutes-114-dnsop-00

I'm cc'ing Viktor in case you'd like to reconsider this aspect (but w/o a 
discussion will assume you're OK).

Nitpicks:

- care was taken to always mention DS and DNSKEY together, except in this
sentence: "each nameserver can unilaterally trigger an update of the
delegation's DS or NS record set."; another solution would be, as some other
documents do, to specify at the beginning that "DS" means "DS or DNSKEY"
throughout the whole document, and then there is no need to repeat it.

No; the mechanism is not for updating DNSKEY records sets. However, when a 
desire for updating DS records is expressed, this can be done via both CDS and 
CDNSKEY records, which is why *those* are always mentioned together.

- §3.2
"(preferably in the same connection)." What does connection mean in a DNS
context? RFC7477 also don't mention that. RFC8499 on DNS terminology doesn't
define this concept.

This was intended to encourage use of TCP, in the spirit of RFC 7477 Section 
3.1 which says:

   [...] DNS over TCP SHOULD be used to avoid
   conversing with multiple nodes at an anycast address

However, this is not an important requirement, as we're checking for 
consistency, and talking to different nodes may actually help identifying 
inconsistencies and prevent premature application of an update.

I don't think it would be reasonable to require checking all anycast nodes (and 
there's also no way to do that), but conversely I'm now convinced there's no 
point in trying to attach to a particular one.

As a result, I've removed the words you quoted.

- "As a consequence, the delegation's records can only be modified when
zonefiles are synchronized": zones instead of zonefiles?

Good point! I've fixed that, and also two other occurrences of the same in the 
Appendix.

PS: any thoughts about mentioning RFC9567 and using that mechanism for the
operator to signal back to nameservers that some inconsistent state was
discovered that prevented the processing of some CDS/CDNSKEY/CSYNC records
found?

That's an interesting consideration. It would require the parent to receive 
responses annotated with the corresponding EDNS0 option and agent domain, but 
the child auth has no way of knowing that it should be adding that stuff (and 
it probably shouldn't be added for all apex CDS/CDNSKEY/CSYNC/NS/SOA/A/AAAA 
responses). So, additional signaling in the parent's query would be needed, 
which would add quite some complexity.

Luckily, the same thing is achieved when the child informs the parent about 
desired C* updates via generalized DNS notifications 
(draft-ietf-dnsop-generalized-notify, now with the RFC editor): Section 4.2.1 
of that document leverages RFC 9567 to provide the parent with a report channel 
in case the update process fails. In my view, introducing an error reporting 
capability at that level is sufficient.

The above changes have been incorporated in -06 which I've just submitted.

Best,
Peter

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

Reply via email to