]> git.ipfire.org Git - thirdparty/bind9.git/commit
Fix missing RRSIGs for "glue" lookups with CD=1
authorMark Andrews <marka@isc.org>
Wed, 10 Sep 2025 06:18:41 +0000 (16:18 +1000)
committerMark Andrews <marka@isc.org>
Wed, 10 Sep 2025 22:27:50 +0000 (08:27 +1000)
commit018ecbb0c821583e3d69c4267be22de6f18955bf
tree93d6f3d250cbda1fc714242ffc902aefcb261b3c
parent1162ec21894e265b7c2afc11c1ff80c55b1cb77e
Fix missing RRSIGs for "glue" lookups with CD=1

The code to test whether to store the RRSIGs on DNS_R_UNCHANGED
with CD=1 was failing because the comparison methods of the two
rdatatset instances were not compatible.  Move the testing into
dns_db_addrdataset(), and request it by setting the DNS_ADD_EQUALOK
option.  If the option is set and the old and new rrsets compare
as equal, dns_db_addrdataset() returns ISC_R_SUCCESS instead of
DNS_R_UNCHANGED.

(cherry picked from commit b954a1df43e6e6e5ff60f1da1240ece644b7e190)
lib/dns/dnsrps.c
lib/dns/include/dns/db.h
lib/dns/rbtdb.c
lib/dns/resolver.c