]> git.ipfire.org Git - thirdparty/pdns.git/commit
rec: Make sure that we pass the SOA along the NSEC(3) proof for DS queries
authorRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 22 Jun 2021 16:04:54 +0000 (18:04 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Tue, 22 Jun 2021 16:04:54 +0000 (18:04 +0200)
commitf08b59332e5a4e50ff9ca0010eb200c78b2a462a
tree0f364abe133eb5019061aca6832512b6ff021fe8
parenta49eacc0a914c452df54469bbd444fbffcc9bd8b
rec: Make sure that we pass the SOA along the NSEC(3) proof for DS queries

If the client is requesting a DS that does not exist, we need to
provide the SOA (+RRSIGs) along with the NSEC(3) proof (+RRSIGs)
and we might not have it if we picked up the proof from a delegation,
in which case we need to keep on to do the actual DS query.
It used to work before 4.5.0 because the zone cuts determination
code was requesting the DS records before doing any resolution, so we
would get the denial and the SOA at the very beginning and not replace
it on a delegation because we knew the zone was Insecure at that point.
Note that we still want to use the "no SOA denial" for internal zone
cuts computation since we don't care about the SOA at that point,
and that saves quite some outgoing queries.
pdns/syncres.cc
pdns/syncres.hh