From caa1f48db28a46abd1ce7ac2aa3b4b3cda4e38f0 Mon Sep 17 00:00:00 2001 From: Robin Geuze Date: Sat, 14 Mar 2020 12:24:35 +0100 Subject: [PATCH] Also only add CDS and CDNSKEY to the type map in case we have published DNSKEY's --- pdns/packethandler.cc | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/pdns/packethandler.cc b/pdns/packethandler.cc index b37ca9d83c..6defb6f1f2 100644 --- a/pdns/packethandler.cc +++ b/pdns/packethandler.cc @@ -509,15 +509,15 @@ void PacketHandler::emitNSEC(std::unique_ptr& r, const SOAData& sd, c auto keyset = d_dk.getKeys(name); if (!keyset.empty()) { nrc.set(QType::DNSKEY); + string publishCDNSKEY; + d_dk.getPublishCDNSKEY(name, publishCDNSKEY); + if (publishCDNSKEY == "1") + nrc.set(QType::CDNSKEY); + string publishCDS; + d_dk.getPublishCDS(name, publishCDS); + if (! publishCDS.empty()) + nrc.set(QType::CDS); } - string publishCDNSKEY; - d_dk.getPublishCDNSKEY(name, publishCDNSKEY); - if (publishCDNSKEY == "1") - nrc.set(QType::CDNSKEY); - string publishCDS; - d_dk.getPublishCDS(name, publishCDS); - if (! publishCDS.empty()) - nrc.set(QType::CDS); } DNSZoneRecord rr; @@ -561,15 +561,15 @@ void PacketHandler::emitNSEC3(std::unique_ptr& r, const SOAData& sd, auto keyset = d_dk.getKeys(name); if (!keyset.empty()) { n3rc.set(QType::DNSKEY); + string publishCDNSKEY; + d_dk.getPublishCDNSKEY(name, publishCDNSKEY); + if (publishCDNSKEY == "1") + n3rc.set(QType::CDNSKEY); + string publishCDS; + d_dk.getPublishCDS(name, publishCDS); + if (! publishCDS.empty()) + n3rc.set(QType::CDS); } - string publishCDNSKEY; - d_dk.getPublishCDNSKEY(name, publishCDNSKEY); - if (publishCDNSKEY == "1") - n3rc.set(QType::CDNSKEY); - string publishCDS; - d_dk.getPublishCDS(name, publishCDS); - if (! publishCDS.empty()) - n3rc.set(QType::CDS); } B.lookup(QType(QType::ANY), name, sd.domain_id); -- 2.47.2