While it's not an issue in the current code because we checked
earlier that the NSEC covered the name, it might prevent an issue
if we reuse nsecProvesENT() later.
it is an ENT */
denialState = getDenial(denialMap, DNSName("c.powerdns.com."), QType::AAAA, true, true);
BOOST_CHECK_EQUAL(denialState, NXQTYPE);
+
+ /* this NSEC is not valid to prove a NXQTYPE for QType::A at a.c.powerdns.com either */
+ denialState = getDenial(denialMap, DNSName("a.c.powerdns.com."), QType::A, true, true);
+ BOOST_CHECK_EQUAL(denialState, NODATA);
}
BOOST_AUTO_TEST_CASE(test_nsec3_ancestor_nxqtype_denial) {
- begin < name
- next is a child of name
*/
- return begin.canonCompare(name) && next.isPartOf(name);
+ return begin.canonCompare(name) && next != name && next.isPartOf(name);
}
static std::string getHashFromNSEC3(const DNSName& qname, const std::shared_ptr<NSEC3RecordContent> nsec3)