From: Otto Moerbeek Date: Fri, 18 Sep 2020 08:45:50 +0000 (+0200) Subject: rename s_RC and s_negcache to g_recCache and g_negCache to make X-Git-Tag: rec-4.5.0-alpha0^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F9475%2Fhead;p=thirdparty%2Fpdns.git rename s_RC and s_negcache to g_recCache and g_negCache to make clear they are global --- diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index 67aeb173b0..8ce3162b33 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -130,8 +130,8 @@ static thread_local uint64_t t_frameStreamServersGeneration; #endif /* HAVE_FSTRM */ thread_local std::unique_ptr MT; // the big MTasker -std::unique_ptr s_RC; -std::unique_ptr s_negcache; +std::unique_ptr g_recCache; +std::unique_ptr g_negCache; thread_local std::unique_ptr t_packetCache; thread_local FDMultiplexer* t_fdm{nullptr}; @@ -1939,10 +1939,10 @@ static void startDoResolve(void *p) } if (sr.d_outqueries || sr.d_authzonequeries) { - s_RC->cacheMisses++; + g_recCache->cacheMisses++; } else { - s_RC->cacheHits++; + g_recCache->cacheHits++; } if(spent < 0.001) @@ -3153,10 +3153,10 @@ static void doStats(void) static time_t lastOutputTime; static uint64_t lastQueryCount; - uint64_t cacheHits = s_RC->cacheHits; - uint64_t cacheMisses = s_RC->cacheMisses; - uint64_t cacheSize = s_RC->size(); - auto rc_stats = s_RC->stats(); + uint64_t cacheHits = g_recCache->cacheHits; + uint64_t cacheMisses = g_recCache->cacheMisses; + uint64_t cacheSize = g_recCache->size(); + auto rc_stats = g_recCache->stats(); double r = rc_stats.second == 0 ? 0.0 : (100.0 * rc_stats.first / rc_stats.second); if(g_stats.qcounter && (cacheHits + cacheMisses) && SyncRes::s_queries && SyncRes::s_outqueries) { @@ -3246,8 +3246,8 @@ static void houseKeeping(void *) if(isHandlerThread()) { if (now.tv_sec - last_RC_prune > 5) { - s_RC->doPrune(g_maxCacheEntries); - s_negcache->prune(g_maxCacheEntries / 10); + g_recCache->doPrune(g_maxCacheEntries); + g_negCache->prune(g_maxCacheEntries / 10); last_RC_prune = now.tv_sec; } // XXX !!! global @@ -5285,8 +5285,8 @@ int main(int argc, char **argv) exit(0); } - s_RC = std::unique_ptr(new MemRecursorCache(::arg().asNum("record-cache-shards"))); - s_negcache = std::unique_ptr(new NegCache(::arg().asNum("record-cache-shards"))); + g_recCache = std::unique_ptr(new MemRecursorCache(::arg().asNum("record-cache-shards"))); + g_negCache = std::unique_ptr(new NegCache(::arg().asNum("record-cache-shards"))); Logger::Urgency logUrgency = (Logger::Urgency)::arg().asNum("loglevel"); diff --git a/pdns/rec_channel_rec.cc b/pdns/rec_channel_rec.cc index 0d09a5f6f3..f9faa477cd 100644 --- a/pdns/rec_channel_rec.cc +++ b/pdns/rec_channel_rec.cc @@ -207,7 +207,7 @@ static uint64_t dumpNegCache(int fd) } uint64_t ret; fprintf(fp.get(), "; negcache dump follows\n;\n"); - ret = s_negcache->dumpToFile(fp.get()); + ret = g_negCache->dumpToFile(fp.get()); return ret; } @@ -281,7 +281,7 @@ static string doDumpCache(T begin, T end) return "Error opening dump file for writing: "+stringerror()+"\n"; uint64_t total = 0; try { - total = s_RC->doDump(fd) + dumpNegCache(fd) + broadcastAccFunction([=]{ return pleaseDump(fd); }); + total = g_recCache->doDump(fd) + dumpNegCache(fd) + broadcastAccFunction([=]{ return pleaseDump(fd); }); } catch(...){} @@ -396,7 +396,7 @@ static string doDumpFailedServers(T begin, T end) uint64_t* pleaseWipeCache(const DNSName& canon, bool subtree, uint16_t qtype) { - return new uint64_t(s_RC->doWipeCache(canon, subtree)); + return new uint64_t(g_recCache->doWipeCache(canon, subtree)); } uint64_t* pleaseWipePacketCache(const DNSName& canon, bool subtree, uint16_t qtype) @@ -407,7 +407,7 @@ uint64_t* pleaseWipePacketCache(const DNSName& canon, bool subtree, uint16_t qty uint64_t* pleaseWipeAndCountNegCache(const DNSName& canon, bool subtree) { - uint64_t ret = s_negcache->wipe(canon, subtree); + uint64_t ret = g_negCache->wipe(canon, subtree); return new uint64_t(ret); } @@ -907,7 +907,7 @@ static uint64_t getThrottleSize() uint64_t* pleaseGetNegCacheSize() { - uint64_t tmp = s_negcache->size(); + uint64_t tmp = g_negCache->size(); return new uint64_t(tmp); } @@ -959,7 +959,7 @@ static uint64_t getConcurrentQueries() static uint64_t doGetCacheSize() { - return s_RC->size(); + return g_recCache->size(); } static uint64_t doGetAvgLatencyUsec() @@ -969,17 +969,17 @@ static uint64_t doGetAvgLatencyUsec() static uint64_t doGetCacheBytes() { - return s_RC->bytes(); + return g_recCache->bytes(); } static uint64_t doGetCacheHits() { - return s_RC->cacheHits; + return g_recCache->cacheHits; } static uint64_t doGetCacheMisses() { - return s_RC->cacheMisses; + return g_recCache->cacheMisses; } uint64_t* pleaseGetPacketCacheSize() @@ -1048,8 +1048,8 @@ void registerAllStats() addGetStat("max-cache-entries", []() { return g_maxCacheEntries.load(); }); addGetStat("max-packetcache-entries", []() { return g_maxPacketCacheEntries.load();}); addGetStat("cache-bytes", doGetCacheBytes); - addGetStat("record-cache-contended", []() { return s_RC->stats().first;}); - addGetStat("record-cache-acquired", []() { return s_RC->stats().second;}); + addGetStat("record-cache-contended", []() { return g_recCache->stats().first;}); + addGetStat("record-cache-acquired", []() { return g_recCache->stats().second;}); addGetStat("packetcache-hits", doGetPacketCacheHits); addGetStat("packetcache-misses", doGetPacketCacheMisses); diff --git a/pdns/recursordist/test-syncres_cc.cc b/pdns/recursordist/test-syncres_cc.cc index ce5f875dd0..54e5a9d9d0 100644 --- a/pdns/recursordist/test-syncres_cc.cc +++ b/pdns/recursordist/test-syncres_cc.cc @@ -10,8 +10,8 @@ RecursorStats g_stats; GlobalStateHolder g_luaconfs; GlobalStateHolder g_dontThrottleNames; GlobalStateHolder g_dontThrottleNetmasks; -std::unique_ptr s_RC{nullptr}; -std::unique_ptr s_negcache{nullptr}; +std::unique_ptr g_recCache{nullptr}; +std::unique_ptr g_negCache{nullptr}; unsigned int g_numThreads = 1; bool g_lowercaseOutgoing = false; @@ -53,10 +53,10 @@ int asyncresolve(const ComboAddress& ip, const DNSName& domain, int type, bool d bool primeHints(void) { vector nsset; - if (!s_RC) - s_RC = std::unique_ptr(new MemRecursorCache()); - if (!s_negcache) - s_negcache = std::unique_ptr(new NegCache()); + if (!g_recCache) + g_recCache = std::unique_ptr(new MemRecursorCache()); + if (!g_negCache) + g_negCache = std::unique_ptr(new NegCache()); DNSRecord arr, aaaarr, nsrr; nsrr.d_name = g_rootdnsname; @@ -75,18 +75,18 @@ bool primeHints(void) arr.d_content = std::make_shared(ComboAddress(rootIps4[c - 'a'])); vector aset; aset.push_back(arr); - s_RC->replace(time(nullptr), DNSName(templ), QType(QType::A), aset, vector>(), vector>(), true); // auth, nuke it all + g_recCache->replace(time(nullptr), DNSName(templ), QType(QType::A), aset, vector>(), vector>(), true); // auth, nuke it all if (rootIps6[c - 'a'] != NULL) { aaaarr.d_content = std::make_shared(ComboAddress(rootIps6[c - 'a'])); vector aaaaset; aaaaset.push_back(aaaarr); - s_RC->replace(time(nullptr), DNSName(templ), QType(QType::AAAA), aaaaset, vector>(), vector>(), true); + g_recCache->replace(time(nullptr), DNSName(templ), QType(QType::AAAA), aaaaset, vector>(), vector>(), true); } nsset.push_back(nsrr); } - s_RC->replace(time(nullptr), g_rootdnsname, QType(QType::NS), nsset, vector>(), vector>(), false); // and stuff in the cache + g_recCache->replace(time(nullptr), g_rootdnsname, QType(QType::NS), nsset, vector>(), vector>(), false); // and stuff in the cache return true; } @@ -114,8 +114,8 @@ void initSR(bool debug) g_log.toConsole(Logger::Error); } - s_RC = std::unique_ptr(new MemRecursorCache()); - s_negcache = std::unique_ptr(new NegCache()); + g_recCache = std::unique_ptr(new MemRecursorCache()); + g_negCache = std::unique_ptr(new NegCache()); SyncRes::s_maxqperq = 50; SyncRes::s_maxnsaddressqperq = 10; @@ -202,7 +202,7 @@ void initSR(std::unique_ptr& sr, bool dnssec, bool debug, time_t fakeNo sr->setLogMode(debug == false ? SyncRes::LogNone : SyncRes::Log); SyncRes::setDomainMap(std::make_shared()); - s_negcache->clear(); + g_negCache->clear(); } void setDNSSECValidation(std::unique_ptr& sr, const DNSSECMode& mode) diff --git a/pdns/recursordist/test-syncres_cc2.cc b/pdns/recursordist/test-syncres_cc2.cc index ae76f0e9fb..d8c1c5c320 100644 --- a/pdns/recursordist/test-syncres_cc2.cc +++ b/pdns/recursordist/test-syncres_cc2.cc @@ -315,7 +315,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); /* one for target1 and one for the entire TLD */ - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); @@ -323,7 +323,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust) BOOST_REQUIRE_EQUAL(ret.size(), 1U); BOOST_CHECK_LE(ret[0].d_ttl, SyncRes::s_maxnegttl); /* one for target1 and one for the entire TLD */ - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); /* we should have sent only one query */ BOOST_CHECK_EQUAL(queriesCount, 1U); @@ -380,7 +380,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust_specific) /* even with root-nx-trust on and a NX answer from the root, we should not have cached the entire TLD this time. */ - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); @@ -390,7 +390,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust_specific) BOOST_REQUIRE(ret[0].d_type == QType::A); BOOST_CHECK(getRR(ret[0])->getCA() == ComboAddress("192.0.2.2")); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 3U); } @@ -442,14 +442,14 @@ BOOST_AUTO_TEST_CASE(test_root_nx_dont_trust) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); /* one for target1 */ - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(ret.size(), 1U); /* one for target1 */ - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); /* we should have sent three queries */ BOOST_CHECK_EQUAL(queriesCount, 3U); @@ -492,28 +492,28 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target3, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target4, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); // Now test without RFC 8020 to see the cache and query count grow SyncRes::s_hardenNXD = SyncRes::HardenNXD::No; @@ -524,7 +524,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); // New query ret.clear(); @@ -532,21 +532,21 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 3U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); ret.clear(); res = sr->beginResolve(target3, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 3U); + BOOST_CHECK_EQUAL(g_negCache->size(), 3U); ret.clear(); res = sr->beginResolve(target4, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 5U); - BOOST_CHECK_EQUAL(s_negcache->size(), 4U); + BOOST_CHECK_EQUAL(g_negCache->size(), 4U); // reset SyncRes::s_hardenNXD = SyncRes::HardenNXD::DNSSEC; @@ -658,7 +658,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 9U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); @@ -666,7 +666,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 9U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target3, QType(QType::A), QClass::IN, ret); @@ -674,7 +674,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 9U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target4, QType(QType::A), QClass::IN, ret); @@ -682,7 +682,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 9U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); // Now test without RFC 8020 to see the cache and query count grow SyncRes::s_hardenNXD = SyncRes::HardenNXD::No; @@ -694,7 +694,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 9U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); // New query ret.clear(); @@ -703,7 +703,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 11U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); ret.clear(); res = sr->beginResolve(target3, QType(QType::A), QClass::IN, ret); @@ -711,7 +711,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 13U); - BOOST_CHECK_EQUAL(s_negcache->size(), 3U); + BOOST_CHECK_EQUAL(g_negCache->size(), 3U); ret.clear(); res = sr->beginResolve(target4, QType(QType::A), QClass::IN, ret); @@ -719,7 +719,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_CHECK_EQUAL(ret.size(), 6U); BOOST_CHECK_EQUAL(queriesCount, 15U); - BOOST_CHECK_EQUAL(s_negcache->size(), 4U); + BOOST_CHECK_EQUAL(g_negCache->size(), 4U); // reset SyncRes::s_hardenNXD = SyncRes::HardenNXD::DNSSEC; @@ -775,28 +775,28 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nodata) BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target1, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 3U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); ret.clear(); res = sr->beginResolve(target3, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); } BOOST_AUTO_TEST_CASE(test_rfc8020_nodata_bis) @@ -849,28 +849,28 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nodata_bis) BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 2U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target1, QType(QType::A), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NoError); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 3U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); ret.clear(); res = sr->beginResolve(target2, QType(QType::TXT), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); ret.clear(); res = sr->beginResolve(target3, QType(QType::TXT), QClass::IN, ret); BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 2U); + BOOST_CHECK_EQUAL(g_negCache->size(), 2U); } BOOST_AUTO_TEST_CASE(test_skip_negcache_for_variable_response) @@ -927,7 +927,7 @@ BOOST_AUTO_TEST_CASE(test_skip_negcache_for_variable_response) BOOST_CHECK_EQUAL(res, RCode::NXDomain); BOOST_CHECK_EQUAL(ret.size(), 2U); /* no negative cache entry because the response was variable */ - BOOST_CHECK_EQUAL(s_negcache->size(), 0U); + BOOST_CHECK_EQUAL(g_negCache->size(), 0U); } BOOST_AUTO_TEST_CASE(test_ecs_cache_limit_allowed) @@ -965,7 +965,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_limit_allowed) /* should have been cached */ const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); } @@ -1004,7 +1004,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_limit_no_ttl_limit_allowed) /* should have been cached because /24 is more specific than /16 but TTL limit is nof effective */ const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); } @@ -1043,7 +1043,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_allowed) /* should have been cached */ const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); } @@ -1083,7 +1083,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_and_scope_allowed) /* should have been cached */ const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); } @@ -1123,7 +1123,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_notallowed) /* should have NOT been cached because TTL of 60 is too small and /24 is more specific than /16 */ const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_LT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_LT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 0U); } @@ -1231,7 +1231,7 @@ BOOST_AUTO_TEST_CASE(test_flawed_nsset) std::vector> sigs; addRecordToList(records, target, QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, now + 3600); - s_RC->replace(now, target, QType(QType::NS), records, sigs, vector>(), true, boost::optional()); + g_recCache->replace(now, target, QType(QType::NS), records, sigs, vector>(), true, boost::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); @@ -1337,7 +1337,7 @@ BOOST_AUTO_TEST_CASE(test_cache_hit) std::vector> sigs; addRecordToList(records, target, QType::A, "192.0.2.1", DNSResourceRecord::ANSWER, now + 3600); - s_RC->replace(now, target, QType(QType::A), records, sigs, vector>(), true, boost::optional()); + g_recCache->replace(now, target, QType(QType::A), records, sigs, vector>(), true, boost::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); @@ -1410,13 +1410,13 @@ BOOST_AUTO_TEST_CASE(test_cache_min_max_ttl) const ComboAddress who; vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_GT(cached[0].d_ttl, now); BOOST_CHECK_EQUAL((cached[0].d_ttl - now), SyncRes::s_minimumTTL); cached.clear(); - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::NS), false, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::NS), false, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_GT(cached[0].d_ttl, now); BOOST_CHECK_LE((cached[0].d_ttl - now), SyncRes::s_maxcachettl); @@ -1474,19 +1474,19 @@ BOOST_AUTO_TEST_CASE(test_cache_min_max_ecs_ttl) const ComboAddress who("192.0.2.128"); vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_GT(cached[0].d_ttl, now); BOOST_CHECK_EQUAL((cached[0].d_ttl - now), SyncRes::s_minimumECSTTL); cached.clear(); - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::NS), false, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::NS), false, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_GT(cached[0].d_ttl, now); BOOST_CHECK_LE((cached[0].d_ttl - now), SyncRes::s_maxcachettl); cached.clear(); - BOOST_REQUIRE_GT(s_RC->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_GT(cached[0].d_ttl, now); BOOST_CHECK_LE((cached[0].d_ttl - now), SyncRes::s_minimumTTL); @@ -1526,7 +1526,7 @@ BOOST_AUTO_TEST_CASE(test_cache_expired_ttl) std::vector> sigs; addRecordToList(records, target, QType::A, "192.0.2.42", DNSResourceRecord::ANSWER, now - 60); - s_RC->replace(now - 3600, target, QType(QType::A), records, sigs, vector>(), true, boost::optional()); + g_recCache->replace(now - 3600, target, QType(QType::A), records, sigs, vector>(), true, boost::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); diff --git a/pdns/recursordist/test-syncres_cc3.cc b/pdns/recursordist/test-syncres_cc3.cc index 038f8595e1..8cb0c1309a 100644 --- a/pdns/recursordist/test-syncres_cc3.cc +++ b/pdns/recursordist/test-syncres_cc3.cc @@ -36,7 +36,7 @@ BOOST_AUTO_TEST_CASE(test_cache_auth) /* check that we correctly cached only the answer entry, not the additional one */ const ComboAddress who; vector cached; - BOOST_REQUIRE_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_EQUAL(QType(cached.at(0).d_type).getName(), QType(QType::A).getName()); BOOST_CHECK_EQUAL(getRR(cached.at(0))->getCA().toString(), ComboAddress("192.0.2.2").toString()); @@ -317,7 +317,7 @@ BOOST_AUTO_TEST_CASE(test_answer_no_aa) const ComboAddress who; vector cached; vector> signatures; - BOOST_REQUIRE_EQUAL(s_RC->get(now, target, QType(QType::A), false, &cached, who, boost::none, &signatures), -1); + BOOST_REQUIRE_EQUAL(g_recCache->get(now, target, QType(QType::A), false, &cached, who, boost::none, &signatures), -1); } BOOST_AUTO_TEST_CASE(test_special_types) diff --git a/pdns/recursordist/test-syncres_cc4.cc b/pdns/recursordist/test-syncres_cc4.cc index d81acb73f1..8199f318cc 100644 --- a/pdns/recursordist/test-syncres_cc4.cc +++ b/pdns/recursordist/test-syncres_cc4.cc @@ -927,8 +927,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_dnskey_doesnt_match_ds) /* === first without validation, then with (just-in-time validation) === */ /* clear the caches */ - s_RC = std::unique_ptr(new MemRecursorCache()); - s_negcache = std::unique_ptr(new NegCache()); + g_recCache = std::unique_ptr(new MemRecursorCache()); + g_negCache = std::unique_ptr(new NegCache()); sr->setDNSSECValidationRequested(false); primeHints(); diff --git a/pdns/recursordist/test-syncres_cc8.cc b/pdns/recursordist/test-syncres_cc8.cc index 3a91b924c2..309454b507 100644 --- a/pdns/recursordist/test-syncres_cc8.cc +++ b/pdns/recursordist/test-syncres_cc8.cc @@ -682,8 +682,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_negcache_validity) /* check that the entry has not been negatively cached for longer than the RRSIG validity */ NegCache::NegCacheEntry ne; - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_ttd, fixedNow + 1); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Secure); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); @@ -753,8 +753,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_negcache_bogus_validity) /* check that the entry has been negatively cached but not longer than s_maxbogusttl */ NegCache::NegCacheEntry ne; - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_ttd, fixedNow + SyncRes::s_maxbogusttl); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Bogus); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); @@ -822,7 +822,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_cache_validity) const ComboAddress who; vector cached; vector> signatures; - BOOST_REQUIRE_EQUAL(s_RC->get(tnow, target, QType(QType::A), true, &cached, who, boost::none, &signatures), 1); + BOOST_REQUIRE_EQUAL(g_recCache->get(tnow, target, QType(QType::A), true, &cached, who, boost::none, &signatures), 1); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_EQUAL(signatures.size(), 1U); BOOST_CHECK_EQUAL((cached[0].d_ttl - tnow), 1); diff --git a/pdns/recursordist/test-syncres_cc9.cc b/pdns/recursordist/test-syncres_cc9.cc index de8a6a4028..915451715d 100644 --- a/pdns/recursordist/test-syncres_cc9.cc +++ b/pdns/recursordist/test-syncres_cc9.cc @@ -388,8 +388,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_secure) BOOST_CHECK_EQUAL(queriesCount, 1U); /* check that the entry has been negatively cached */ NegCache::NegCacheEntry ne; - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Indeterminate); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 1U); @@ -404,8 +404,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_secure) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Secure); BOOST_REQUIRE_EQUAL(ret.size(), 4U); BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Secure); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 1U); @@ -526,8 +526,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_insecure) BOOST_CHECK_EQUAL(queriesCount, 1U); /* check that the entry has not been negatively cached */ NegCache::NegCacheEntry ne; - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Indeterminate); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 0U); @@ -542,7 +542,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_insecure) BOOST_CHECK_EQUAL(sr->getValidationState(), vState::Insecure); BOOST_REQUIRE_EQUAL(ret.size(), 1U); BOOST_CHECK_EQUAL(queriesCount, 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Insecure); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 0U); @@ -613,8 +613,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_bogus) } BOOST_CHECK_EQUAL(queriesCount, 1U); NegCache::NegCacheEntry ne; - BOOST_CHECK_EQUAL(s_negcache->size(), 1U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_CHECK_EQUAL(g_negCache->size(), 1U); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Indeterminate); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 1U); @@ -633,7 +633,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_bogus) BOOST_CHECK_EQUAL(record.d_ttl, SyncRes::s_maxbogusttl); } BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Bogus); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 1U); @@ -653,7 +653,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_bogus) BOOST_CHECK_EQUAL(record.d_ttl, SyncRes::s_maxbogusttl); } BOOST_CHECK_EQUAL(queriesCount, 4U); - BOOST_REQUIRE_EQUAL(s_negcache->get(target, QType(QType::A), sr->getNow(), ne), true); + BOOST_REQUIRE_EQUAL(g_negCache->get(target, QType(QType::A), sr->getNow(), ne), true); BOOST_CHECK_EQUAL(ne.d_validationState, vState::Bogus); BOOST_CHECK_EQUAL(ne.authoritySOA.records.size(), 1U); BOOST_CHECK_EQUAL(ne.authoritySOA.signatures.size(), 1U); @@ -937,7 +937,7 @@ BOOST_AUTO_TEST_CASE(test_cname_plus_authority_ns_ttl) vector cached; bool wasAuth = false; - auto ttl = s_RC->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth); + auto ttl = g_recCache->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth); BOOST_REQUIRE_GE(ttl, 1); BOOST_REQUIRE_LE(ttl, 42); BOOST_CHECK_EQUAL(cached.size(), 1U); @@ -946,7 +946,7 @@ BOOST_AUTO_TEST_CASE(test_cname_plus_authority_ns_ttl) cached.clear(); /* Also check that the the part in additional is still not auth */ - BOOST_REQUIRE_GE(s_RC->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth), -1); + BOOST_REQUIRE_GE(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth), -1); BOOST_CHECK_EQUAL(cached.size(), 1U); BOOST_CHECK_EQUAL(wasAuth, false); } @@ -987,14 +987,14 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_general) const ComboAddress who; vector cached; - BOOST_CHECK_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); cached.clear(); - BOOST_CHECK_LT(s_RC->get(now, target, QType(QType::AAAA), true, &cached, who), 0); - BOOST_CHECK_EQUAL(s_RC->get(now, DNSName("not-sanitization.powerdns.com."), QType(QType::DNAME), true, &cached, who), -1); - BOOST_CHECK_LT(s_RC->get(now, target, QType(QType::MX), true, &cached, who), 0); - BOOST_CHECK_EQUAL(s_RC->get(now, DNSName("not-sanitization.powerdns.com."), QType(QType::SOA), true, &cached, who), -1); - BOOST_CHECK_LT(s_RC->get(now, target, QType(QType::TXT), false, &cached, who), 0); - BOOST_CHECK_EQUAL(s_RC->get(now, DNSName("powerdns.com."), QType(QType::AAAA), false, &cached, who), -1); + BOOST_CHECK_LT(g_recCache->get(now, target, QType(QType::AAAA), true, &cached, who), 0); + BOOST_CHECK_EQUAL(g_recCache->get(now, DNSName("not-sanitization.powerdns.com."), QType(QType::DNAME), true, &cached, who), -1); + BOOST_CHECK_LT(g_recCache->get(now, target, QType(QType::MX), true, &cached, who), 0); + BOOST_CHECK_EQUAL(g_recCache->get(now, DNSName("not-sanitization.powerdns.com."), QType(QType::SOA), true, &cached, who), -1); + BOOST_CHECK_LT(g_recCache->get(now, target, QType(QType::TXT), false, &cached, who), 0); + BOOST_CHECK_EQUAL(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::AAAA), false, &cached, who), -1); } BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_relevant_additional_aaaa) @@ -1022,11 +1022,11 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_relevant_additional_aaaa) const ComboAddress who; vector cached; - BOOST_CHECK_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); cached.clear(); /* not auth since it was in the additional section */ - BOOST_CHECK_LT(s_RC->get(now, target, QType(QType::AAAA), true, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, target, QType(QType::AAAA), false, &cached, who), 0); + BOOST_CHECK_LT(g_recCache->get(now, target, QType(QType::AAAA), true, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, target, QType(QType::AAAA), false, &cached, who), 0); } BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_glue) @@ -1082,21 +1082,21 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_glue) const ComboAddress who; vector cached; - BOOST_CHECK_GT(s_RC->get(now, target, QType(QType::A), true, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, target, QType(QType::A), true, &cached, who), 0); cached.clear(); - BOOST_CHECK_GT(s_RC->get(now, DNSName("com."), QType(QType::NS), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("a.gtld-servers.net."), QType(QType::AAAA), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("pdns-public-ns1.powerdns.com."), QType(QType::A), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("pdns-public-ns1.powerdns.com."), QType(QType::AAAA), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("pdns-public-ns2.powerdns.com."), QType(QType::A), false, &cached, who), 0); - BOOST_CHECK_GT(s_RC->get(now, DNSName("pdns-public-ns2.powerdns.com."), QType(QType::AAAA), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("com."), QType(QType::NS), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::AAAA), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("pdns-public-ns1.powerdns.com."), QType(QType::A), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("pdns-public-ns1.powerdns.com."), QType(QType::AAAA), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("pdns-public-ns2.powerdns.com."), QType(QType::A), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("pdns-public-ns2.powerdns.com."), QType(QType::AAAA), false, &cached, who), 0); cached.clear(); /* check that we accepted the DS from the parent, and not from the child zone */ - BOOST_CHECK_GT(s_RC->get(now, DNSName("powerdns.com."), QType(QType::DS), false, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::DS), false, &cached, who), 0); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_CHECK_EQUAL(cached.at(0).d_content->getZoneRepresentation(), "1 8 2 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); } @@ -1128,12 +1128,12 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_scrubs_ns_nxd) const ComboAddress who; vector cached; - BOOST_CHECK_GT(s_RC->get(now, DNSName("powerdns.com."), QType(QType::SOA), true, &cached, who), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::SOA), true, &cached, who), 0); cached.clear(); - BOOST_CHECK_LT(s_RC->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who), 0); - BOOST_CHECK_LT(s_RC->get(now, DNSName("spoofed.ns."), QType(QType::A), false, &cached, who), 0); - BOOST_CHECK_LT(s_RC->get(now, DNSName("spoofed.ns."), QType(QType::AAAA), false, &cached, who), 0); + BOOST_CHECK_LT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::NS), false, &cached, who), 0); + BOOST_CHECK_LT(g_recCache->get(now, DNSName("spoofed.ns."), QType(QType::A), false, &cached, who), 0); + BOOST_CHECK_LT(g_recCache->get(now, DNSName("spoofed.ns."), QType(QType::AAAA), false, &cached, who), 0); } BOOST_AUTO_TEST_SUITE_END() diff --git a/pdns/reczones.cc b/pdns/reczones.cc index 8d2adbab98..4f074c7da2 100644 --- a/pdns/reczones.cc +++ b/pdns/reczones.cc @@ -68,13 +68,13 @@ bool primeHints(void) arr.d_content=std::make_shared(ComboAddress(rootIps4[c-'a'])); vector aset; aset.push_back(arr); - s_RC->replace(time(0), DNSName(templ), QType(QType::A), aset, vector>(), vector>(), true, boost::none, boost::none, validationState); // auth, nuke it all + g_recCache->replace(time(0), DNSName(templ), QType(QType::A), aset, vector>(), vector>(), true, boost::none, boost::none, validationState); // auth, nuke it all if (rootIps6[c-'a'] != NULL) { aaaarr.d_content=std::make_shared(ComboAddress(rootIps6[c-'a'])); vector aaaaset; aaaaset.push_back(aaaarr); - s_RC->replace(time(0), DNSName(templ), QType(QType::AAAA), aaaaset, vector>(), vector>(), true, boost::none, boost::none, validationState); + g_recCache->replace(time(0), DNSName(templ), QType(QType::AAAA), aaaaset, vector>(), vector>(), true, boost::none, boost::none, validationState); } nsset.push_back(nsrr); @@ -94,12 +94,12 @@ bool primeHints(void) seenA.insert(rr.qname); vector aset; aset.push_back(DNSRecord(rr)); - s_RC->replace(time(0), rr.qname, QType(QType::A), aset, vector>(), vector>(), true, boost::none, boost::none, validationState); // auth, etc see above + g_recCache->replace(time(0), rr.qname, QType(QType::A), aset, vector>(), vector>(), true, boost::none, boost::none, validationState); // auth, etc see above } else if(rr.qtype.getCode()==QType::AAAA) { seenAAAA.insert(rr.qname); vector aaaaset; aaaaset.push_back(DNSRecord(rr)); - s_RC->replace(time(0), rr.qname, QType(QType::AAAA), aaaaset, vector>(), vector>(), true, boost::none, boost::none, validationState); + g_recCache->replace(time(0), rr.qname, QType(QType::AAAA), aaaaset, vector>(), vector>(), true, boost::none, boost::none, validationState); } else if(rr.qtype.getCode()==QType::NS) { seenNS.insert(DNSName(rr.content)); rr.content=toLower(rr.content); @@ -134,8 +134,8 @@ bool primeHints(void) } } - s_RC->doWipeCache(g_rootdnsname, false, QType::NS); - s_RC->replace(time(0), g_rootdnsname, QType(QType::NS), nsset, vector>(), vector>(), false, boost::none, boost::none, validationState); // and stuff in the cache + g_recCache->doWipeCache(g_rootdnsname, false, QType::NS); + g_recCache->replace(time(0), g_rootdnsname, QType(QType::NS), nsset, vector>(), vector>(), false, boost::none, boost::none, validationState); // and stuff in the cache return true; } @@ -163,7 +163,7 @@ void primeRootNSZones(bool dnssecmode, unsigned int depth) // so make a local copy set copy(t_rootNSZones); for (const auto & qname: copy) { - s_RC->doWipeCache(qname, false, QType::NS); + g_recCache->doWipeCache(qname, false, QType::NS); vector ret; sr.beginResolve(qname, QType(QType::NS), QClass::IN, ret, depth + 1); } diff --git a/pdns/syncres.cc b/pdns/syncres.cc index b6b8ccf4a8..5898b7338c 100644 --- a/pdns/syncres.cc +++ b/pdns/syncres.cc @@ -1052,7 +1052,7 @@ vector SyncRes::getAddrs(const DNSName &qname, unsigned int depth, // We have some IPv4 records, don't bother with going out to get IPv6, but do consult the cache // Once IPv6 adoption matters, this needs to be revisited res_t cset; - if (s_RC->get(d_now.tv_sec, qname, QType(QType::AAAA), false, &cset, d_cacheRemote, d_routingTag) > 0) { + if (g_recCache->get(d_now.tv_sec, qname, QType(QType::AAAA), false, &cset, d_cacheRemote, d_routingTag) > 0) { for (const auto &i : cset) { if (i.d_ttl > (unsigned int)d_now.tv_sec ) { if (auto rec = getRR(i)) { @@ -1135,7 +1135,7 @@ void SyncRes::getBestNSFromCache(const DNSName &qname, const QType& qtype, vecto vector ns; *flawedNSSet = false; - if(s_RC->get(d_now.tv_sec, subdomain, QType(QType::NS), false, &ns, d_cacheRemote, d_routingTag) > 0) { + if(g_recCache->get(d_now.tv_sec, subdomain, QType(QType::NS), false, &ns, d_cacheRemote, d_routingTag) > 0) { bestns.reserve(ns.size()); for(auto k=ns.cbegin();k!=ns.cend(); ++k) { @@ -1150,7 +1150,7 @@ void SyncRes::getBestNSFromCache(const DNSName &qname, const QType& qtype, vecto const DNSRecord& dr=*k; auto nrr = getRR(dr); - if(nrr && (!nrr->getNS().isPartOf(subdomain) || s_RC->get(d_now.tv_sec, nrr->getNS(), nsqt, + if(nrr && (!nrr->getNS().isPartOf(subdomain) || g_recCache->get(d_now.tv_sec, nrr->getNS(), nsqt, false, doLog() ? &aset : 0, d_cacheRemote, d_routingTag) > 5)) { bestns.push_back(dr); LOG(prefix< '"<getNS()<<"'"<updateValidationStatus(d_now.tv_sec, qname, qt, d_cacheRemote, d_routingTag, aa, newState, s_maxbogusttl + d_now.tv_sec); + g_recCache->updateValidationStatus(d_now.tv_sec, qname, qt, d_cacheRemote, d_routingTag, aa, newState, s_maxbogusttl + d_now.tv_sec); } else { - s_RC->updateValidationStatus(d_now.tv_sec, qname, qt, d_cacheRemote, d_routingTag, aa, newState, boost::none); + g_recCache->updateValidationStatus(d_now.tv_sec, qname, qt, d_cacheRemote, d_routingTag, aa, newState, boost::none); } } @@ -1347,7 +1347,7 @@ bool SyncRes::doCNAMECacheCheck(const DNSName &qname, const QType &qtype, vector LOG(prefix<get(d_now.tv_sec, qname, QType(QType::CNAME), !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &state, &wasAuth) > 0) { + if (g_recCache->get(d_now.tv_sec, qname, QType(QType::CNAME), !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &state, &wasAuth) > 0) { foundName = qname; foundQT = QType(QType::CNAME); } @@ -1364,7 +1364,7 @@ bool SyncRes::doCNAMECacheCheck(const DNSName &qname, const QType &qtype, vector if (dnameName == qname && qtype != QType::DNAME) { // The client does not want a DNAME, but we've reached the QNAME already. So there is no match break; } - if (s_RC->get(d_now.tv_sec, dnameName, QType(QType::DNAME), !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &state, &wasAuth) > 0) { + if (g_recCache->get(d_now.tv_sec, dnameName, QType(QType::DNAME), !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &state, &wasAuth) > 0) { foundName = dnameName; foundQT = QType(QType::DNAME); break; @@ -1612,7 +1612,7 @@ void SyncRes::computeNegCacheValidationStatus(const NegCache::NegCacheEntry& ne, if (state == vState::Bogus) { capTTD = d_now.tv_sec + s_maxbogusttl; } - s_negcache->updateValidationStatus(ne.d_name, ne.d_qtype, state, capTTD); + g_negCache->updateValidationStatus(ne.d_name, ne.d_qtype, state, capTTD); } } @@ -1635,7 +1635,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const DNSName& authname, bool w NegCache::NegCacheEntry ne; if(s_rootNXTrust && - s_negcache->getRootNXTrust(qname, d_now, ne) && + g_negCache->getRootNXTrust(qname, d_now, ne) && ne.d_auth.isRoot() && !(wasForwardedOrAuthZone && !authname.isRoot())) { // when forwarding, the root may only neg-cache if it was forwarded to. sttl = ne.d_ttd - d_now.tv_sec; @@ -1643,11 +1643,11 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const DNSName& authname, bool w res = RCode::NXDomain; giveNegative = true; cachedState = ne.d_validationState; - } else if (s_negcache->get(qname, qtype, d_now, ne)) { + } else if (g_negCache->get(qname, qtype, d_now, ne)) { /* If we are looking for a DS, discard NXD if auth == qname and ask for a specific denial instead */ if (qtype != QType::DS || ne.d_qtype.getCode() || ne.d_auth != qname || - s_negcache->get(qname, qtype, d_now, ne, true)) + g_negCache->get(qname, qtype, d_now, ne, true)) { res = RCode::NXDomain; sttl = ne.d_ttd - d_now.tv_sec; @@ -1666,7 +1666,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const DNSName& authname, bool w negCacheName.prependRawLabel(labels.back()); labels.pop_back(); while(!labels.empty()) { - if (s_negcache->get(negCacheName, QType(0), d_now, ne, true)) { + if (g_negCache->get(negCacheName, QType(0), d_now, ne, true)) { if (ne.d_validationState == vState::Indeterminate && validationEnabled()) { // LOG(prefix << negCacheName << " negatively cached and vState::Indeterminate, trying to validate NXDOMAIN" << endl); // ... @@ -1720,7 +1720,7 @@ bool SyncRes::doCacheCheck(const DNSName &qname, const DNSName& authname, bool w uint32_t capTTL = std::numeric_limits::max(); bool wasCachedAuth; - if(s_RC->get(d_now.tv_sec, sqname, sqt, !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &cachedState, &wasCachedAuth) > 0) { + if(g_recCache->get(d_now.tv_sec, sqname, sqt, !wasForwardRecurse && d_requireAuthData, &cset, d_cacheRemote, d_routingTag, d_doDNSSEC ? &signatures : nullptr, d_doDNSSEC ? &authorityRecs : nullptr, &d_wasVariable, &cachedState, &wasCachedAuth) > 0) { LOG(prefix<replace(d_now.tv_sec, i->first.name, QType(i->first.type), i->second.records, i->second.signatures, authorityRecs, i->first.type == QType::DS ? true : isAA, i->first.place == DNSResourceRecord::ANSWER ? ednsmask : boost::none, d_routingTag, recordState); + g_recCache->replace(d_now.tv_sec, i->first.name, QType(i->first.type), i->second.records, i->second.signatures, authorityRecs, i->first.type == QType::DS ? true : isAA, i->first.place == DNSResourceRecord::ANSWER ? ednsmask : boost::none, d_routingTag, recordState); } } @@ -3271,10 +3271,10 @@ bool SyncRes::processRecords(const std::string& prefix, const DNSName& qname, co We have a regression test making sure we do exactly that. */ if(!wasVariable() && newtarget.empty()) { - s_negcache->add(ne); + g_negCache->add(ne); if(s_rootNXTrust && ne.d_auth.isRoot() && auth.isRoot() && lwr.d_aabit) { ne.d_name = ne.d_name.getLastLabel(); - s_negcache->add(ne); + g_negCache->add(ne); } } @@ -3419,7 +3419,7 @@ bool SyncRes::processRecords(const std::string& prefix, const DNSName& qname, co LOG(prefix<add(ne); + g_negCache->add(ne); } if (qname == newauth && qtype == QType::DS) { @@ -3462,7 +3462,7 @@ bool SyncRes::processRecords(const std::string& prefix, const DNSName& qname, co if(!wasVariable()) { if(qtype.getCode()) { // prevents us from blacking out a whole domain - s_negcache->add(ne); + g_negCache->add(ne); } } @@ -3841,7 +3841,7 @@ int SyncRes::doResolveAt(NsSet &nameservers, DNSName auth, bool flawedNSSet, con if(!auth.isRoot() && flawedNSSet) { LOG(prefix<doAgeCache(d_now.tv_sec, auth, QType::NS, 10)) + if(g_recCache->doAgeCache(d_now.tv_sec, auth, QType::NS, 10)) g_stats.nsSetInvalidations++; } return -1; diff --git a/pdns/syncres.hh b/pdns/syncres.hh index 6724f8a68b..8b1f1c72a5 100644 --- a/pdns/syncres.hh +++ b/pdns/syncres.hh @@ -255,7 +255,7 @@ private: cont_t d_cont; }; -extern std::unique_ptr s_negcache; +extern std::unique_ptr g_negCache; class SyncRes : public boost::noncopyable { @@ -955,7 +955,7 @@ struct PacketIDBirthdayCompare: public std::binary_function s_RC; +extern std::unique_ptr g_recCache; extern thread_local std::unique_ptr t_packetCache; typedef MTasker MT_t; MT_t* getMT();