]> git.ipfire.org Git - thirdparty/bind9.git/commit
dns_rdataset_addnoqname() could find unsigned NSEC/NSEC3
authorEvan Hunt <each@isc.org>
Thu, 14 May 2026 03:45:57 +0000 (20:45 -0700)
committerMichał Kępień <michal@isc.org>
Fri, 10 Jul 2026 07:26:46 +0000 (09:26 +0200)
commit57cba571ee31311e54d8a11cb38094d439f04e09
treed036c4d584042ed5192f63c9101dcc4cc3f75296
parent825750f3f8bbec0ede095e44d49b2c4fd232263e
dns_rdataset_addnoqname() could find unsigned NSEC/NSEC3

The dns_rdatalist addnoqname() implementation searches for the first
NSEC or NSEC3 record in a message, then for the first RRSIG covering
that type in the same message.  Previously, if no RRSIG for the type was
found, the function accepted the unsigned record. Now, it will instead
continue searching until an NSEC or NSEC3 that does have a matching
signature is found.

When this function is called from validated() in resolver.c, a
non-success return code is now treated as an error instead of triggering
an assertion failure.

Fixes: isc-projects/bind9#5985
lib/dns/qpcache.c
lib/dns/rdatalist.c
lib/dns/resolver.c
lib/ns/query.c