From 1eed7f4572d396b544756cf93be2297db23483b3 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Tue, 13 Jul 2021 14:55:47 +0200 Subject: [PATCH] rec: Fix the NSEC3 ancestor check for DS in the aggressive cache --- pdns/recursordist/aggressive_nsec.cc | 13 ++++++++++++- pdns/recursordist/test-aggressive_nsec_cc.cc | 4 ++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pdns/recursordist/aggressive_nsec.cc b/pdns/recursordist/aggressive_nsec.cc index 370750d403..41b095cf26 100644 --- a/pdns/recursordist/aggressive_nsec.cc +++ b/pdns/recursordist/aggressive_nsec.cc @@ -545,6 +545,8 @@ bool AggressiveNSECCache::getNSEC3Denial(time_t now, std::shared_ptrbeginResolve(DNSName("4.sub.powerdns.com"), QType(QType::A), QClass::IN, ret); + res = sr->beginResolve(DNSName("4.sub.powerdns.com"), QType(QType::DS), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Insecure); BOOST_REQUIRE_EQUAL(ret.size(), 1U); @@ -918,7 +918,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_ancestor) /* now we query other2.sub.powerdns.com, we should NOT be able to use the NSEC3s we have to prove that the name does not exist */ ret.clear(); - res = sr->beginResolve(DNSName("4.sub.powerdns.com"), QType(QType::A), QClass::IN, ret); + res = sr->beginResolve(DNSName("4.sub.powerdns.com"), QType(QType::DS), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Insecure); BOOST_REQUIRE_EQUAL(ret.size(), 1U); -- 2.47.3