Fix assertion failure in dns_db_findrdataset() for SIG records

dns__db_findrdataset() had a REQUIRE() that only accepted
dns_rdatatype_rrsig when the covers parameter was set.  A dynamic
update containing a SIG record (type 24) would trigger this
assertion, crashing named.  Use dns_rdatatype_issig() to accept
both SIG and RRSIG.
This commit is contained in:
Mark Andrews 2026-04-07 16:39:57 +02:00 committed by Ondřej Surý
parent 13a6867757
commit 03edeccaa1

View file

@ -600,7 +600,7 @@ dns__db_findrdataset(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t *version,
REQUIRE(node != NULL);
REQUIRE(DNS_RDATASET_VALID(rdataset));
REQUIRE(!dns_rdataset_isassociated(rdataset));
REQUIRE(covers == dns_rdatatype_none || type == dns_rdatatype_rrsig);
REQUIRE(covers == dns_rdatatype_none || dns_rdatatype_issig(type));
REQUIRE(type != dns_rdatatype_any);
REQUIRE(sigrdataset == NULL ||
(DNS_RDATASET_VALID(sigrdataset) &&