From: bert hubert Date: Fri, 15 Dec 2017 13:09:14 +0000 (+0100) Subject: get LUA record right for NSEC(3) bitmaps X-Git-Tag: dnsdist-1.3.1~136^2~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0c7ecf1cf67fa1068088d483e1e75a6e448e109;p=thirdparty%2Fpdns.git get LUA record right for NSEC(3) bitmaps --- diff --git a/pdns/packethandler.cc b/pdns/packethandler.cc index ccc599143a..c2be49a86a 100644 --- a/pdns/packethandler.cc +++ b/pdns/packethandler.cc @@ -490,7 +490,9 @@ void PacketHandler::emitNSEC(DNSPacket *r, const SOAData& sd, const DNSName& nam B.lookup(QType(QType::ANY), name, NULL, sd.domain_id); while(B.get(rr)) { - if(rr.dr.d_type == QType::NS || rr.auth) + if(rr.dr.d_type == QType::LUA) + nrc.d_set.insert(getRR(rr.dr)->d_type); + else if(rr.dr.d_type == QType::NS || rr.auth) nrc.d_set.insert(rr.dr.d_type); } @@ -532,7 +534,9 @@ void PacketHandler::emitNSEC3(DNSPacket *r, const SOAData& sd, const NSEC3PARAMR B.lookup(QType(QType::ANY), name, NULL, sd.domain_id); while(B.get(rr)) { - if(rr.dr.d_type && (rr.dr.d_type == QType::NS || rr.auth)) // skip empty non-terminals + if(rr.dr.d_type == QType::LUA) + n3rc.d_set.insert(getRR(rr.dr)->d_type); + else if(rr.dr.d_type && (rr.dr.d_type == QType::NS || rr.auth)) // skip empty non-terminals n3rc.d_set.insert(rr.dr.d_type); } }