]> git.ipfire.org Git - thirdparty/bind9.git/commit
Fix validate_dnskey_dsset when KSK is not signing
authorMatthijs Mekking <matthijs@isc.org>
Mon, 11 Mar 2024 09:51:20 +0000 (10:51 +0100)
committerMatthijs Mekking <matthijs@isc.org>
Tue, 12 Mar 2024 08:10:41 +0000 (09:10 +0100)
commitfb2f0c816859bbc7183abc1fdd902833fc4d1e0a
tree992f6b5683f97187f14899af3ac12554e5489a04
parentf0bfd276e02f861b7a98d569b03e267b0261f599
Fix validate_dnskey_dsset when KSK is not signing

When there is a secure chain of trust with a KSK that is not actively
signing the DNSKEY RRset, the code for validating the DNSKEY RRset
against the DS RRset could potentially skip DS records, thinking the
chain of trust is broken while there is a valid DS with corresponding
DNSKEY record present.

This is because we pass the result ISC_R_NOMORE on when we are done
checking for signatures, but then treat it as "no more DS records".

Chaning the return value to something else (DNS_R_NOVALIDSIG seems the
most appropriate here) fixes the issue.
lib/dns/validator.c