]> git.ipfire.org Git - thirdparty/bind9.git/commit
Implement 'rndc dnssec -checkds'
authorMatthijs Mekking <matthijs@isc.org>
Fri, 31 Jul 2020 06:37:51 +0000 (08:37 +0200)
committerMatthijs Mekking <matthijs@isc.org>
Fri, 7 Aug 2020 09:26:09 +0000 (11:26 +0200)
commit04d8fc01430158fc239a8ef491aa9f1e7f70acd2
treee45374e94b3c2cc1e59bd05e8e8e4f175cb1f6ba
parentf0fa6f0245070db484847f0c26c1db3689d6ff97
Implement 'rndc dnssec -checkds'

Add a new 'rndc' command 'dnssec -checkds' that allows the user to
signal named that a new DS record has been seen published in the
parent, or that an existing DS record has been withdrawn from the
parent.

Upon the 'checkds' request, 'named' will write out the new state for
the key, updating the 'DSPublish' or 'DSRemoved' timing metadata.

This replaces the "parent-registration-delay" configuration option,
this was unreliable because it was purely time based (if the user
did not actually submit the new DS to the parent for example, this
could result in an invalid DNSSEC state).

Because we cannot rely on the parent registration delay for state
transition, we need to replace it with a different guard. Instead,
if a key wants its DS state to be moved to RUMOURED, the "DSPublish"
time must be set and must not be in the future. If a key wants its
DS state to be moved to UNRETENTIVE, the "DSRemoved" time must be set
and must not be in the future.

By default, with '-checkds' you set the time that the DS has been
published or withdrawn to now, but you can set a different time with
'-when'. If there is only one KSK for the zone, that key has its
DS state moved to RUMOURED. If there are multiple keys for the zone,
specify the right key with '-key'.
CHANGES
bin/named/server.c
bin/rndc/rndc.c
bin/rndc/rndc.rst
doc/man/rndc.8in
lib/dns/dst_api.c
lib/dns/include/dns/keymgr.h
lib/dns/include/dst/dst.h
lib/dns/keymgr.c
lib/dns/win32/libdns.def.in