From: Otto Moerbeek Date: Mon, 14 Nov 2022 12:46:04 +0000 (+0100) Subject: Fix test (from rgacogne) X-Git-Tag: dnsdist-1.8.0-rc1~240^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F12175%2Fhead;p=thirdparty%2Fpdns.git Fix test (from rgacogne) Do this by merging https://github.com/PowerDNS/pdns/commit/994d2e09f088f2908a887e2539f8abbd1e36d003.diff For some unknown reason (maybe the same reason rgacogne was not able to create a PR for this?) a cherry pick did not work, so do a "manual" diff and patch of Remi's work. --- diff --git a/pdns/recursordist/test-syncres_cc7.cc b/pdns/recursordist/test-syncres_cc7.cc index 0aa1accd66..13acf217c0 100644 --- a/pdns/recursordist/test-syncres_cc7.cc +++ b/pdns/recursordist/test-syncres_cc7.cc @@ -1393,10 +1393,19 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nodata) if (type == QType::DS || type == QType::DNSKEY) { return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); } - else { - - setLWResult(res, 0, true, false, true); - return LWResult::Result::Success; + else if (type == QType::A) { + if (domain == DNSName("com.")) { + setLWResult(res, 0, true, false, true); + addRecordToLW(res, DNSName("com"), QType::SOA, "whatever.com. blah.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); + addRRSIG(keys, res->d_records, DNSName("com"), 300); + addNSECRecordToLW(DNSName("com"), DNSName("com."), {QType::SOA}, 600, res->d_records); + addRRSIG(keys, res->d_records, DNSName("com."), 300); + return LWResult::Result::Success; + } + else if (domain == target) { + setLWResult(res, 0, true, false, true); + return LWResult::Result::Success; + } } return LWResult::Result::Timeout; @@ -1407,7 +1416,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nodata) BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(sr->getValidationState(), vState::BogusMissingNegativeIndication); BOOST_REQUIRE_EQUAL(ret.size(), 0U); - /* com|NS, powerdns.com|DS, com|DNSKEY, powerdns.com|A */ + /* powerdns.com|A, com|A, com|DNSKEY, powerdns.com|DS */ BOOST_CHECK_EQUAL(queriesCount, 4U); /* again, to test the cache */ @@ -1446,10 +1455,19 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nxdomain) if (type == QType::DS || type == QType::DNSKEY) { return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); } - else { - - setLWResult(res, RCode::NXDomain, true, false, true); - return LWResult::Result::Success; + else if (type == QType::A) { + if (domain == DNSName("com.")) { + setLWResult(res, 0, true, false, true); + addRecordToLW(res, DNSName("com"), QType::SOA, "whatever.com. blah.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); + addRRSIG(keys, res->d_records, DNSName("com"), 300); + addNSECRecordToLW(DNSName("com"), DNSName("com."), {QType::SOA}, 600, res->d_records); + addRRSIG(keys, res->d_records, DNSName("com."), 300); + return LWResult::Result::Success; + } + else if (domain == target) { + setLWResult(res, RCode::NXDomain, true, false, true); + return LWResult::Result::Success; + } } return LWResult::Result::Timeout; @@ -1461,7 +1479,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nxdomain) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::BogusMissingNegativeIndication); BOOST_REQUIRE_EQUAL(ret.size(), 0U); - /* com|A, powerdns.com|DS, com|DNSKEY, powerdns.com|A */ + /* powerdns.com|A, com|A, powerdns.com|DS, com|DNSKEY */ BOOST_CHECK_EQUAL(queriesCount, 4U); /* again, to test the cache */