From f771d67a9b598694fea048c66bd3f0e4f1b7c157 Mon Sep 17 00:00:00 2001 From: Pieter Lexis Date: Thu, 13 Nov 2025 16:12:42 +0100 Subject: [PATCH] chore(rec): Replace all trivial boost::optional with std::optional --- pdns/recursordist/aggressive_nsec.cc | 6 +- pdns/recursordist/aggressive_nsec.hh | 2 +- pdns/recursordist/filterpo.hh | 2 +- pdns/recursordist/lua-recursor4.cc | 46 +++--- pdns/recursordist/lua-recursor4.hh | 22 +-- pdns/recursordist/lwres.cc | 10 +- pdns/recursordist/lwres.hh | 2 +- pdns/recursordist/negcache.cc | 2 +- pdns/recursordist/negcache.hh | 2 +- pdns/recursordist/pdns_recursor.cc | 14 +- pdns/recursordist/rec-lua-conf.cc | 38 ++--- pdns/recursordist/rec-lua-conf.hh | 2 +- pdns/recursordist/rec-main.cc | 4 +- pdns/recursordist/rec-main.hh | 10 +- pdns/recursordist/rec-rust-lib/cxxsupport.cc | 4 +- pdns/recursordist/rec-tcp.cc | 6 +- pdns/recursordist/recpacketcache.cc | 2 +- pdns/recursordist/recpacketcache.hh | 2 +- pdns/recursordist/recursor_cache.cc | 28 ++-- pdns/recursordist/recursor_cache.hh | 10 +- pdns/recursordist/reczones-helpers.cc | 6 +- pdns/recursordist/reczones.cc | 2 +- pdns/recursordist/rpzloader.cc | 6 +- pdns/recursordist/rpzloader.hh | 4 +- pdns/recursordist/syncres.cc | 47 +++--- pdns/recursordist/syncres.hh | 26 +-- pdns/recursordist/test-aggressive_nsec_cc.cc | 52 +++--- pdns/recursordist/test-recpacketcache_cc.cc | 38 ++--- pdns/recursordist/test-recursorcache_cc.cc | 140 ++++++++-------- pdns/recursordist/test-rpzloader_cc.cc | 6 +- pdns/recursordist/test-syncres_cc.cc | 18 +-- pdns/recursordist/test-syncres_cc.hh | 6 +- pdns/recursordist/test-syncres_cc1.cc | 100 ++++++------ pdns/recursordist/test-syncres_cc10.cc | 42 ++--- pdns/recursordist/test-syncres_cc2.cc | 74 ++++----- pdns/recursordist/test-syncres_cc3.cc | 74 ++++----- pdns/recursordist/test-syncres_cc4.cc | 80 ++++----- pdns/recursordist/test-syncres_cc5.cc | 162 +++++++++---------- pdns/recursordist/test-syncres_cc6.cc | 48 +++--- pdns/recursordist/test-syncres_cc7.cc | 38 ++--- pdns/recursordist/test-syncres_cc8.cc | 22 +-- pdns/recursordist/test-syncres_cc9.cc | 50 +++--- 42 files changed, 628 insertions(+), 627 deletions(-) diff --git a/pdns/recursordist/aggressive_nsec.cc b/pdns/recursordist/aggressive_nsec.cc index b89b9d7232..f1370d15e8 100644 --- a/pdns/recursordist/aggressive_nsec.cc +++ b/pdns/recursordist/aggressive_nsec.cc @@ -503,7 +503,7 @@ bool AggressiveNSECCache::synthesizeFromNSEC3Wildcard(time_t now, const DNSName& std::vector wcSet; MemRecursorCache::SigRecs wcSignatures = MemRecursorCache::s_emptySigRecs; - if (g_recCache->get(now, wildcardName, type, MemRecursorCache::RequireAuth, &wcSet, ComboAddress("127.0.0.1"), boost::none, doDNSSEC ? &wcSignatures : nullptr, nullptr, nullptr, &cachedState) <= 0 || cachedState != vState::Secure) { + if (g_recCache->get(now, wildcardName, type, MemRecursorCache::RequireAuth, &wcSet, ComboAddress("127.0.0.1"), std::nullopt, doDNSSEC ? &wcSignatures : nullptr, nullptr, nullptr, &cachedState) <= 0 || cachedState != vState::Secure) { VLOG(log, name << ": Unfortunately we don't have a valid entry for " << wildcardName << ", so we cannot synthesize from that wildcard" << endl); return false; } @@ -527,7 +527,7 @@ bool AggressiveNSECCache::synthesizeFromNSECWildcard(time_t now, const DNSName& std::vector wcSet; MemRecursorCache::SigRecs wcSignatures = MemRecursorCache::s_emptySigRecs; - if (g_recCache->get(now, wildcardName, type, MemRecursorCache::RequireAuth, &wcSet, ComboAddress("127.0.0.1"), boost::none, doDNSSEC ? &wcSignatures : nullptr, nullptr, nullptr, &cachedState) <= 0 || cachedState != vState::Secure) { + if (g_recCache->get(now, wildcardName, type, MemRecursorCache::RequireAuth, &wcSet, ComboAddress("127.0.0.1"), std::nullopt, doDNSSEC ? &wcSignatures : nullptr, nullptr, nullptr, &cachedState) <= 0 || cachedState != vState::Secure) { VLOG(log, name << ": Unfortunately we don't have a valid entry for " << wildcardName << ", so we cannot synthesize from that wildcard" << endl); return false; } @@ -780,7 +780,7 @@ bool AggressiveNSECCache::getNSEC3Denial(time_t now, std::shared_ptr& ret, int& res, const ComboAddress& who, const boost::optional& routingTag, bool doDNSSEC, pdns::validation::ValidationContext& validationContext, const OptLog& log) +bool AggressiveNSECCache::getDenial(time_t now, const DNSName& name, const QType& type, std::vector& ret, int& res, const ComboAddress& who, const std::optional& routingTag, bool doDNSSEC, pdns::validation::ValidationContext& validationContext, const OptLog& log) { std::shared_ptr> zoneEntry; if (type == QType::DS) { diff --git a/pdns/recursordist/aggressive_nsec.hh b/pdns/recursordist/aggressive_nsec.hh index faee812726..2c84f5e17c 100644 --- a/pdns/recursordist/aggressive_nsec.hh +++ b/pdns/recursordist/aggressive_nsec.hh @@ -63,7 +63,7 @@ public: } void insertNSEC(const DNSName& zone, const DNSName& owner, const DNSRecord& record, const std::vector>& signatures, bool nsec3, const DNSName& qname = g_rootdnsname, QType qtype = QType::ENT); - bool getDenial(time_t, const DNSName& name, const QType& type, std::vector& ret, int& res, const ComboAddress& who, const boost::optional& routingTag, bool doDNSSEC, pdns::validation::ValidationContext& validationContext, const OptLog& log = std::nullopt); + bool getDenial(time_t, const DNSName& name, const QType& type, std::vector& ret, int& res, const ComboAddress& who, const std::optional& routingTag, bool doDNSSEC, pdns::validation::ValidationContext& validationContext, const OptLog& log = std::nullopt); void removeZoneInfo(const DNSName& zone, bool subzones); diff --git a/pdns/recursordist/filterpo.hh b/pdns/recursordist/filterpo.hh index 1daea4b99e..59e98b47d9 100644 --- a/pdns/recursordist/filterpo.hh +++ b/pdns/recursordist/filterpo.hh @@ -98,7 +98,7 @@ public: std::string d_name; std::string d_extendedErrorExtra; DNSRecord d_soa{}; - boost::optional d_extendedErrorCode{boost::none}; + std::optional d_extendedErrorCode{std::nullopt}; Priority d_priority{maximumPriority}; bool d_policyOverridesGettag{true}; bool d_includeSOA{false}; diff --git a/pdns/recursordist/lua-recursor4.cc b/pdns/recursordist/lua-recursor4.cc index cef0fa69f5..a80989250b 100644 --- a/pdns/recursordist/lua-recursor4.cc +++ b/pdns/recursordist/lua-recursor4.cc @@ -35,7 +35,7 @@ #include "rec-main.hh" #include "arguments.hh" -boost::optional RecursorLua4::DNSQuestion::getDH() const +std::optional RecursorLua4::DNSQuestion::getDH() const { if (dh != nullptr) { return *dh; @@ -72,7 +72,7 @@ vector> RecursorLua4::DNSQuestion::getEDNSOptions() const return {}; } -boost::optional RecursorLua4::DNSQuestion::getEDNSOption(uint16_t code) const +std::optional RecursorLua4::DNSQuestion::getEDNSOption(uint16_t code) const { if (ednsOptions != nullptr) { for (const auto& option : *ednsOptions) { @@ -84,7 +84,7 @@ boost::optional RecursorLua4::DNSQuestion::getEDNSOption(uint16_t code) return {}; } -boost::optional RecursorLua4::DNSQuestion::getEDNSSubnet() const +std::optional RecursorLua4::DNSQuestion::getEDNSSubnet() const { if (ednsOptions != nullptr) { for (const auto& option : *ednsOptions) { @@ -132,18 +132,18 @@ void RecursorLua4::DNSQuestion::setRecords(const vector>& a } } -void RecursorLua4::DNSQuestion::addRecord(uint16_t type, const std::string& content, DNSResourceRecord::Place place, boost::optional ttl, boost::optional name) +void RecursorLua4::DNSQuestion::addRecord(uint16_t type, const std::string& content, DNSResourceRecord::Place place, std::optional ttl, std::optional name) { DNSRecord dnsRecord; dnsRecord.d_name = name ? DNSName(*name) : qname; - dnsRecord.d_ttl = ttl.get_value_or(3600); + dnsRecord.d_ttl = ttl.value_or(3600); dnsRecord.d_type = type; dnsRecord.d_place = place; dnsRecord.setContent(DNSRecordContent::make(type, QClass::IN, content)); records.push_back(std::move(dnsRecord)); } -void RecursorLua4::DNSQuestion::addAnswer(uint16_t type, const std::string& content, boost::optional ttl, boost::optional name) +void RecursorLua4::DNSQuestion::addAnswer(uint16_t type, const std::string& content, std::optional ttl, std::optional name) { addRecord(type, content, DNSResourceRecord::ANSWER, ttl, std::move(name)); } @@ -304,8 +304,8 @@ void RecursorLua4::postPrepareContext() // NOLINT(readability-function-cognitive return std::string(option.values.at(0).content, option.values.at(0).size); }); d_lw->registerFunction("getContent", [](const DNSRecord& dnsRecord) { return dnsRecord.getContent()->getZoneRepresentation(); }); - d_lw->registerFunction(DNSRecord::*)()>("getCA", [](const DNSRecord& dnsRecord) { - boost::optional ret; + d_lw->registerFunction(DNSRecord::*)()>("getCA", [](const DNSRecord& dnsRecord) { + std::optional ret; if (auto rec = getRR(dnsRecord)) { ret = rec->getCA(53); @@ -430,7 +430,7 @@ void RecursorLua4::postPrepareContext() // NOLINT(readability-function-cognitive d_pd.emplace_back("now", &g_now); - d_lw->writeFunction("getMetric", [](const std::string& str, boost::optional>> opts){ + d_lw->writeFunction("getMetric", [](const std::string& str, std::optional>> opts){ std::string prometheusName; std::string prometheusTypeName; std::string prometheusDescr; @@ -558,20 +558,20 @@ void RecursorLua4::postPrepareContext() // NOLINT(readability-function-cognitive void RecursorLua4::postLoad() { - d_prerpz = d_lw->readVariable>("prerpz").get_value_or(nullptr); - d_preresolve = d_lw->readVariable>("preresolve").get_value_or(nullptr); - d_nodata = d_lw->readVariable>("nodata").get_value_or(nullptr); - d_nxdomain = d_lw->readVariable>("nxdomain").get_value_or(nullptr); - d_postresolve = d_lw->readVariable>("postresolve").get_value_or(nullptr); - d_preoutquery = d_lw->readVariable>("preoutquery").get_value_or(nullptr); - d_maintenance = d_lw->readVariable>("maintenance").get_value_or(nullptr); + d_prerpz = d_lw->readVariable>("prerpz").value_or(nullptr); + d_preresolve = d_lw->readVariable>("preresolve").value_or(nullptr); + d_nodata = d_lw->readVariable>("nodata").value_or(nullptr); + d_nxdomain = d_lw->readVariable>("nxdomain").value_or(nullptr); + d_postresolve = d_lw->readVariable>("postresolve").value_or(nullptr); + d_preoutquery = d_lw->readVariable>("preoutquery").value_or(nullptr); + d_maintenance = d_lw->readVariable>("maintenance").value_or(nullptr); - d_ipfilter = d_lw->readVariable>("ipfilter").get_value_or(nullptr); - d_gettag = d_lw->readVariable>("gettag").get_value_or(nullptr); - d_gettag_ffi = d_lw->readVariable>("gettag_ffi").get_value_or(nullptr); - d_postresolve_ffi = d_lw->readVariable>("postresolve_ffi").get_value_or(nullptr); + d_ipfilter = d_lw->readVariable>("ipfilter").value_or(nullptr); + d_gettag = d_lw->readVariable>("gettag").value_or(nullptr); + d_gettag_ffi = d_lw->readVariable>("gettag_ffi").value_or(nullptr); + d_postresolve_ffi = d_lw->readVariable>("postresolve_ffi").value_or(nullptr); - d_policyHitEventFilter = d_lw->readVariable>("policyEventFilter").get_value_or(nullptr); + d_policyHitEventFilter = d_lw->readVariable>("policyEventFilter").value_or(nullptr); } void RecursorLua4::getFeatures(Features& features) @@ -589,7 +589,7 @@ void RecursorLua4::runStartStopFunction(const string& script, bool start, Logr:: auto mylog = log->withValues("script", Logging::Loggable(script), "function", Logging::Loggable(func)); loadFile(script); // coverity[auto_causes_copy] does not work with &, despite what coverity thinks - const auto call = d_lw->readVariable>>(func).get_value_or(nullptr); + const auto call = d_lw->readVariable>>(func).value_or(nullptr); if (call) { mylog->info(Logr::Info, "Starting Lua function"); call(); @@ -850,7 +850,7 @@ bool RecursorLua4::genhook(const luacall_t& func, DNSQuestion& dnsQuestion, int& PacketBuffer packetBuffer = GenUDPQueryResponse(dnsQuestion.udpQueryDest, dnsQuestion.udpQuery); dnsQuestion.udpAnswer = std::string(reinterpret_cast(packetBuffer.data()), packetBuffer.size()); // NOLINT(cppcoreguidelines-pro-type-reinterpret-cast) // coverity[auto_causes_copy] not copying produces a dangling ref - const auto cbFunc = d_lw->readVariable>(dnsQuestion.udpCallback).get_value_or(nullptr); + const auto cbFunc = d_lw->readVariable>(dnsQuestion.udpCallback).value_or(nullptr); if (!cbFunc) { g_slog->withName("lua")->info(Logr::Error, "Attempted callback for Lua UDP Query/Response which could not be found"); return false; diff --git a/pdns/recursordist/lua-recursor4.hh b/pdns/recursordist/lua-recursor4.hh index a460fe47b1..9fd3e4957e 100644 --- a/pdns/recursordist/lua-recursor4.hh +++ b/pdns/recursordist/lua-recursor4.hh @@ -106,7 +106,7 @@ public: const std::vector* proxyProtocolValues{nullptr}; std::unordered_map* discardedPolicies{nullptr}; std::string* extendedErrorExtra{nullptr}; - boost::optional* extendedErrorCode{nullptr}; + std::optional* extendedErrorCode{nullptr}; std::string requestorId; std::string deviceId; std::string deviceName; @@ -136,13 +136,13 @@ public: bool isTcp; vState validationState{vState::Indeterminate}; - void addAnswer(uint16_t type, const std::string& content, boost::optional ttl, boost::optional name); - void addRecord(uint16_t type, const std::string& content, DNSResourceRecord::Place place, boost::optional ttl, boost::optional name); + void addAnswer(uint16_t type, const std::string& content, std::optional ttl, std::optional name); + void addRecord(uint16_t type, const std::string& content, DNSResourceRecord::Place place, std::optional ttl, std::optional name); [[nodiscard]] vector> getRecords() const; - [[nodiscard]] boost::optional getDH() const; + [[nodiscard]] std::optional getDH() const; [[nodiscard]] vector> getEDNSOptions() const; - [[nodiscard]] boost::optional getEDNSOption(uint16_t code) const; - [[nodiscard]] boost::optional getEDNSSubnet() const; + [[nodiscard]] std::optional getEDNSOption(uint16_t code) const; + [[nodiscard]] std::optional getEDNSSubnet() const; [[nodiscard]] std::vector> getProxyProtocolValues() const; [[nodiscard]] vector getEDNSFlags() const; [[nodiscard]] bool getEDNSFlag(const string& flag) const; @@ -168,7 +168,7 @@ public: { public: // NOLINTNEXTLINE(bugprone-easily-swappable-parameters) - FFIParams(const DNSName& qname_, uint16_t qtype_, const ComboAddress& plocal_, const ComboAddress& premote_, const ComboAddress& local_, const ComboAddress& remote_, const Netmask& ednssubnet_, LuaContext::LuaObject& data_, std::unordered_set& policyTags_, std::vector& records_, const EDNSOptionViewMap& ednsOptions_, const std::vector& proxyProtocolValues_, std::string& requestorId_, std::string& deviceId_, std::string& deviceName_, std::string& routingTag_, boost::optional& rcode_, uint32_t& ttlCap_, bool& variable_, bool tcp_, bool& logQuery_, bool& logResponse_, bool& followCNAMERecords_, boost::optional& extendedErrorCode_, std::string& extendedErrorExtra_, bool& disablePadding_, std::map& meta_) : + FFIParams(const DNSName& qname_, uint16_t qtype_, const ComboAddress& plocal_, const ComboAddress& premote_, const ComboAddress& local_, const ComboAddress& remote_, const Netmask& ednssubnet_, LuaContext::LuaObject& data_, std::unordered_set& policyTags_, std::vector& records_, const EDNSOptionViewMap& ednsOptions_, const std::vector& proxyProtocolValues_, std::string& requestorId_, std::string& deviceId_, std::string& deviceName_, std::string& routingTag_, std::optional& rcode_, uint32_t& ttlCap_, bool& variable_, bool tcp_, bool& logQuery_, bool& logResponse_, bool& followCNAMERecords_, std::optional& extendedErrorCode_, std::string& extendedErrorExtra_, bool& disablePadding_, std::map& meta_) : data(data_), qname(qname_), interface_local(plocal_), interface_remote(premote_), local(local_), remote(remote_), ednssubnet(ednssubnet_), policyTags(policyTags_), records(records_), ednsOptions(ednsOptions_), proxyProtocolValues(proxyProtocolValues_), requestorId(requestorId_), deviceId(deviceId_), deviceName(deviceName_), routingTag(routingTag_), extendedErrorExtra(extendedErrorExtra_), rcode(rcode_), extendedErrorCode(extendedErrorCode_), ttlCap(ttlCap_), variable(variable_), logQuery(logQuery_), logResponse(logResponse_), followCNAMERecords(followCNAMERecords_), disablePadding(disablePadding_), qtype(qtype_), tcp(tcp_), meta(meta_) { } @@ -189,8 +189,8 @@ public: std::string& deviceName; std::string& routingTag; std::string& extendedErrorExtra; - boost::optional& rcode; - boost::optional& extendedErrorCode; + std::optional& rcode; + std::optional& extendedErrorCode; uint32_t& ttlCap; bool& variable; bool& logQuery; @@ -257,10 +257,10 @@ protected: void getFeatures(Features& features) override; private: - using gettag_t = std::function>, boost::optional, boost::optional, boost::optional, boost::optional, boost::optional>(ComboAddress, Netmask, ComboAddress, DNSName, uint16_t, const EDNSOptionViewMap&, bool, const std::vector>&)>; + using gettag_t = std::function>, std::optional, std::optional, std::optional, std::optional, std::optional>(ComboAddress, Netmask, ComboAddress, DNSName, uint16_t, const EDNSOptionViewMap&, bool, const std::vector>&)>; gettag_t d_gettag; // public so you can query if we have this hooked - using gettag_ffi_t = std::function(pdns_ffi_param_t*)>; + using gettag_ffi_t = std::function(pdns_ffi_param_t*)>; gettag_ffi_t d_gettag_ffi; using postresolve_ffi_t = std::function; diff --git a/pdns/recursordist/lwres.cc b/pdns/recursordist/lwres.cc index 6f5fe215a7..c94be0fbcd 100644 --- a/pdns/recursordist/lwres.cc +++ b/pdns/recursordist/lwres.cc @@ -241,7 +241,7 @@ static void logFstreamResponse(const std::shared_ptr>>& outgoingLoggers, const boost::optional& initialRequestId, const boost::uuids::uuid& uuid, const ComboAddress& address, const DNSName& domain, int type, uint16_t qid, bool doTCP, bool tls, size_t bytes, const boost::optional& srcmask, const std::string& nsName) +static void logOutgoingQuery(const std::shared_ptr>>& outgoingLoggers, const boost::optional& initialRequestId, const boost::uuids::uuid& uuid, const ComboAddress& address, const DNSName& domain, int type, uint16_t qid, bool doTCP, bool tls, size_t bytes, const std::optional& srcmask, const std::string& nsName) { if (!outgoingLoggers) { return; @@ -301,7 +301,7 @@ static void logOutgoingQuery(const std::shared_ptr>>& outgoingLoggers, const boost::optional& initialRequestId, const boost::uuids::uuid& uuid, const ComboAddress& address, const DNSName& domain, int type, uint16_t qid, bool doTCP, bool tls, const boost::optional& srcmask, size_t bytes, int rcode, const std::vector& records, const struct timeval& queryTime, const std::set& exportTypes, const std::string& nsName) +static void logIncomingResponse(const std::shared_ptr>>& outgoingLoggers, const boost::optional& initialRequestId, const boost::uuids::uuid& uuid, const ComboAddress& address, const DNSName& domain, int type, uint16_t qid, bool doTCP, bool tls, const std::optional& srcmask, size_t bytes, int rcode, const std::vector& records, const struct timeval& queryTime, const std::set& exportTypes, const std::string& nsName) { if (!outgoingLoggers) { return; @@ -616,7 +616,7 @@ static std::pair incomingCookie(const OptLog& log, const Never throws! */ // NOLINTNEXTLINE(readability-function-cognitive-complexity): https://github.com/PowerDNS/pdns/issues/12791 -static LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, boost::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, [[maybe_unused]] const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained, TCPOutConnectionManager::Connection& connection) +static LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, std::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, [[maybe_unused]] const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained, TCPOutConnectionManager::Connection& connection) { size_t len; size_t bufsize = g_outgoingEDNSBufsize; @@ -685,7 +685,7 @@ static LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& addr logOutgoingQuery(outgoingLoggers, context.d_initialRequestId, uuid, address, domain, type, qid, doTCP, dnsOverTLS, vpacket.size(), srcmask, nsName); } - srcmask = boost::none; // this is also our return value, even if EDNS0Level == 0 + srcmask = std::nullopt; // this is also our return value, even if EDNS0Level == 0 // We only store the localip if needed for fstrm logging or cookie support ComboAddress localip; @@ -953,7 +953,7 @@ out: return LWResult::Result::PermanentError; } -LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, boost::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained) +LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, std::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained) { TCPOutConnectionManager::Connection connection; auto ret = asyncresolve(log, address, domain, type, doTCP, sendRDQuery, EDNS0Level, now, srcmask, context, outgoingLoggers, fstrmLoggers, exportTypes, lwr, chained, connection); diff --git a/pdns/recursordist/lwres.hh b/pdns/recursordist/lwres.hh index ad5dff6f80..d3b05e062b 100644 --- a/pdns/recursordist/lwres.hh +++ b/pdns/recursordist/lwres.hh @@ -98,7 +98,7 @@ LWResult::Result asendto(const void* data, size_t len, int flags, const ComboAdd LWResult::Result arecvfrom(PacketBuffer& packet, int flags, const ComboAddress& fromAddr, size_t& len, uint16_t qid, const DNSName& domain, uint16_t qtype, int fileDesc, const std::optional& ecs, const struct timeval& now); -LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, boost::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained); +LWResult::Result asyncresolve(const OptLog& log, const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* now, std::optional& srcmask, const ResolveContext& context, const std::shared_ptr>>& outgoingLoggers, const std::shared_ptr>>& fstrmLoggers, const std::set& exportTypes, LWResult* lwr, bool* chained); uint64_t dumpCookies(int fileDesc); uint64_t clearCookies(vector::iterator begin, vector::iterator end, string& errors); uint64_t addCookiesUnsupported(vector::iterator begin, vector::iterator end, string& errors); diff --git a/pdns/recursordist/negcache.cc b/pdns/recursordist/negcache.cc index 05be66a04f..c26a82db26 100644 --- a/pdns/recursordist/negcache.cc +++ b/pdns/recursordist/negcache.cc @@ -156,7 +156,7 @@ void NegCache::add(const NegCacheEntry& negEntry) * \param qtype The type of the entry to replace * \param newState The new validation state */ -void NegCache::updateValidationStatus(const DNSName& qname, const QType qtype, const vState newState, boost::optional capTTD) +void NegCache::updateValidationStatus(const DNSName& qname, const QType qtype, const vState newState, std::optional capTTD) { auto map = getMap(qname).lock(); auto range = map->d_map.equal_range(std::tie(qname, qtype)); diff --git a/pdns/recursordist/negcache.hh b/pdns/recursordist/negcache.hh index 7c78b37091..e32baa4064 100644 --- a/pdns/recursordist/negcache.hh +++ b/pdns/recursordist/negcache.hh @@ -90,7 +90,7 @@ public: }; void add(const NegCacheEntry& negEntry); - void updateValidationStatus(const DNSName& qname, QType qtype, vState newState, boost::optional capTTD); + void updateValidationStatus(const DNSName& qname, QType qtype, vState newState, std::optional capTTD); bool get(const DNSName& qname, QType qtype, const struct timeval& now, NegCacheEntry& negEntry, bool typeMustMatch = false, bool serveStale = false, bool refresh = false); bool getRootNXTrust(const DNSName& qname, const struct timeval& now, NegCacheEntry& negEntry, bool serveStale, bool refresh); size_t count(const DNSName& qname); diff --git a/pdns/recursordist/pdns_recursor.cc b/pdns/recursordist/pdns_recursor.cc index af63b4779b..205ccb9210 100644 --- a/pdns/recursordist/pdns_recursor.cc +++ b/pdns/recursordist/pdns_recursor.cc @@ -1222,7 +1222,7 @@ void startDoResolve(void* arg) // NOLINT(readability-function-cognitive-complexi /* If we already have an answer generated from gettag_ffi, let's see if the filtering policies should be applied to it */ - if (comboWriter->d_rcode != boost::none) { + if (comboWriter->d_rcode != std::nullopt) { bool policyOverride = false; /* Unless we already matched on the client IP, time to check the qname. @@ -1754,7 +1754,7 @@ void startDoResolve(void* arg) // NOLINT(readability-function-cognitive-complexi } // Take s snap of the current protobuf buffer state to store in the PC - pbDataForCache = boost::make_optional(RecursorPacketCache::PBData{ + pbDataForCache = std::make_optional(RecursorPacketCache::PBData{ pbMessage.getMessageBuf(), pbMessage.getResponseBuf(), !appliedPolicy.getName().empty() || !comboWriter->d_policyTags.empty()}); @@ -1982,7 +1982,7 @@ void startDoResolve(void* arg) // NOLINT(readability-function-cognitive-complexi } void getQNameAndSubnet(const std::string& question, DNSName* dnsname, uint16_t* qtype, uint16_t* qclass, - bool& foundECS, EDNSSubnetOpts* ednssubnet, EDNSOptionViewMap* options, boost::optional& ednsVersion) + bool& foundECS, EDNSSubnetOpts* ednssubnet, EDNSOptionViewMap* options, std::optional& ednsVersion) { const dnsheader_aligned dnshead(question.data()); const dnsheader* dhPointer = dnshead.get(); @@ -2251,9 +2251,9 @@ static string* doProcessUDPQuestion(const std::string& question, const ComboAddr bool ecsParsed = false; std::vector records; std::string extendedErrorExtra; - boost::optional rcode = boost::none; - boost::optional extendedErrorCode{boost::none}; - boost::optional ednsVersion{boost::none}; + std::optional rcode = std::nullopt; + std::optional extendedErrorCode{std::nullopt}; + std::optional ednsVersion{std::nullopt}; uint32_t ttlCap = std::numeric_limits::max(); bool variable = false; bool followCNAMEs = false; @@ -2329,7 +2329,7 @@ static string* doProcessUDPQuestion(const std::string& question, const ComboAddr } } - RecursorPacketCache::OptPBData pbData{boost::none}; + RecursorPacketCache::OptPBData pbData{std::nullopt}; if (t_protobufServers.servers) { if (logQuery && !(luaconfsLocal->protobufExportConfig.taggedOnly && policyTags.empty())) { protobufLogQuery(luaconfsLocal, uniqueId, source, destination, mappedSource, ednssubnet.getSource(), false, question.size(), qname, qtype, qclass, policyTags, requestorId, deviceId, deviceName, meta, ednsVersion, *dnsheader, otTrace.trace_id); diff --git a/pdns/recursordist/rec-lua-conf.cc b/pdns/recursordist/rec-lua-conf.cc index 47e4520a8b..0baece0efb 100644 --- a/pdns/recursordist/rec-lua-conf.cc +++ b/pdns/recursordist/rec-lua-conf.cc @@ -175,7 +175,7 @@ static void parseRPZParameters(const rpzOptions_t& have, RPZTrackerParams& param using protobufOptions_t = std::unordered_map>>>; -static void parseProtobufOptions(const boost::optional& vars, ProtobufExportConfig& config) +static void parseProtobufOptions(const std::optional& vars, ProtobufExportConfig& config) { if (!vars) { return; @@ -239,7 +239,7 @@ static void parseProtobufOptions(const boost::optional& vars, #ifdef HAVE_FSTRM using frameStreamOptions_t = std::unordered_map>>>; -static void parseFrameStreamOptions(const boost::optional& vars, FrameStreamExportConfig& config) +static void parseFrameStreamOptions(const std::optional& vars, FrameStreamExportConfig& config) { if (!vars) { return; @@ -280,7 +280,7 @@ static void parseFrameStreamOptions(const boost::optional& } #endif /* HAVE_FSTRM */ -static void rpzPrimary(LuaConfigItems& lci, const boost::variant>>& primaries_, const string& zoneName, const boost::optional& options) +static void rpzPrimary(LuaConfigItems& lci, const boost::variant>>& primaries_, const string& zoneName, const std::optional& options) { RPZTrackerParams params; params.zoneXFRParams.name = zoneName; @@ -421,7 +421,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, Lua->writeVariable("Policy", pmap); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("rpzFile", [&lci](const string& filename, boost::optional options) { + Lua->writeFunction("rpzFile", [&lci](const string& filename, std::optional options) { RPZTrackerParams params; params.zoneXFRParams.name = filename; params.polName = "rpzFile"; @@ -432,14 +432,14 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, }); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("rpzPrimary", [&lci](const boost::variant>>& primaries_, const string& zoneName, boost::optional options) { + Lua->writeFunction("rpzPrimary", [&lci](const boost::variant>>& primaries_, const string& zoneName, std::optional options) { rpzPrimary(lci, primaries_, zoneName, options); }); using zoneToCacheOptions_t = std::unordered_map>; // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("zoneToCache", [&lci](const string& zoneName, const string& method, const boost::variant>>& srcs, boost::optional options) { + Lua->writeFunction("zoneToCache", [&lci](const string& zoneName, const string& method, const boost::variant>>& srcs, std::optional options) { try { RecZoneToCache::Config conf; DNSName validZoneName(zoneName); @@ -520,7 +520,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, Lua->writeFunction("addSortList", [&lci](const std::string& formask_, const boost::variant& masks, - boost::optional order_) { + std::optional order_) { try { Netmask formask(formask_); int order = order_ ? (*order_) : lci.sortlist.getMaxOrder(formask) + 1; @@ -555,7 +555,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, lci.dsAnchors[zone].insert(*dsRecordContent); }); - Lua->writeFunction("clearTA", [&lci](boost::optional who) { + Lua->writeFunction("clearTA", [&lci](std::optional who) { if (who) { lci.dsAnchors.erase(DNSName(*who)); } @@ -564,7 +564,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, } }); - Lua->writeFunction("addNTA", [&lci](const std::string& who, boost::optional why) { + Lua->writeFunction("addNTA", [&lci](const std::string& who, std::optional why) { if (why) { lci.negAnchors[DNSName(who)] = static_cast(*why); } @@ -573,7 +573,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, } }); - Lua->writeFunction("clearNTA", [&lci](boost::optional who) { + Lua->writeFunction("clearNTA", [&lci](std::optional who) { if (who) { lci.negAnchors.erase(DNSName(*who)); } @@ -582,7 +582,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, } }); - Lua->writeFunction("readTrustAnchorsFromFile", [&lci](const std::string& fnamearg, boost::optional interval) { + Lua->writeFunction("readTrustAnchorsFromFile", [&lci](const std::string& fnamearg, std::optional interval) { uint32_t realInterval = 24; if (interval) { realInterval = static_cast(*interval); @@ -597,7 +597,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, }); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("protobufServer", [&lci](boost::variant> servers, boost::optional vars) { + Lua->writeFunction("protobufServer", [&lci](boost::variant> servers, std::optional vars) { if (!lci.protobufExportConfig.enabled) { lci.protobufExportConfig.enabled = true; @@ -630,7 +630,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, }); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("outgoingProtobufServer", [&lci](boost::variant> servers, boost::optional vars) { + Lua->writeFunction("outgoingProtobufServer", [&lci](boost::variant> servers, std::optional vars) { if (!lci.outgoingProtobufExportConfig.enabled) { lci.outgoingProtobufExportConfig.enabled = true; @@ -664,7 +664,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, #ifdef HAVE_FSTRM // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("dnstapFrameStreamServer", [&lci](boost::variant> servers, boost::optional vars) { + Lua->writeFunction("dnstapFrameStreamServer", [&lci](boost::variant> servers, std::optional vars) { if (!lci.frameStreamExportConfig.enabled) { lci.frameStreamExportConfig.enabled = true; @@ -698,7 +698,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, } }); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("dnstapNODFrameStreamServer", [&lci](boost::variant> servers, boost::optional vars) { + Lua->writeFunction("dnstapNODFrameStreamServer", [&lci](boost::variant> servers, std::optional vars) { if (!lci.nodFrameStreamExportConfig.enabled) { lci.nodFrameStreamExportConfig.enabled = true; @@ -733,7 +733,7 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, #endif /* HAVE_FSTRM */ // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("addAllowedAdditionalQType", [&lci](int qtype, const std::unordered_map& targetqtypes, boost::optional> options) { + Lua->writeFunction("addAllowedAdditionalQType", [&lci](int qtype, const std::unordered_map& targetqtypes, std::optional> options) { switch (qtype) { case QType::MX: case QType::SRV: @@ -765,13 +765,13 @@ void loadRecursorLuaConfig(const std::string& fname, ProxyMapping& proxyMapping, }); // NOLINTNEXTLINE(performance-unnecessary-value-param) Lua wrapper does not handle optional & - Lua->writeFunction("addProxyMapping", [&proxyMapping,&lci](const string& netmaskArg, const string& addressArg, boost::optional>> smnStrings) { + Lua->writeFunction("addProxyMapping", [&proxyMapping,&lci](const string& netmaskArg, const string& addressArg, std::optional>> smnStrings) { try { Netmask netmask(netmaskArg); ComboAddress address(addressArg); - boost::optional smn; + std::optional smn; if (smnStrings) { - smn = boost::make_optional(SuffixMatchNode{}); + smn = std::make_optional(SuffixMatchNode{}); for (const auto& subnet : *smnStrings) { smn->add(subnet.second); } diff --git a/pdns/recursordist/rec-lua-conf.hh b/pdns/recursordist/rec-lua-conf.hh index b9b077cbf3..de657fcb94 100644 --- a/pdns/recursordist/rec-lua-conf.hh +++ b/pdns/recursordist/rec-lua-conf.hh @@ -92,7 +92,7 @@ struct ProxyMappingCounts struct ProxyByTableValue { ComboAddress address; - boost::optional suffixMatchNode; + std::optional suffixMatchNode; mutable ProxyMappingCounts stats{}; }; diff --git a/pdns/recursordist/rec-main.cc b/pdns/recursordist/rec-main.cc index 6dfbfd18bd..1ce5249913 100644 --- a/pdns/recursordist/rec-main.cc +++ b/pdns/recursordist/rec-main.cc @@ -109,7 +109,7 @@ bool g_useIncomingECS; static shared_ptr g_initialProxyProtocolACL; static shared_ptr> g_initialProxyProtocolExceptions; static shared_ptr g_initialOpenTelemetryConditions; // XXX shared ptr needed? -boost::optional g_dns64Prefix{boost::none}; +std::optional g_dns64Prefix{std::nullopt}; DNSName g_dns64PrefixReverse; unsigned int g_maxChainLength; LockGuarded> g_initialDomainMap; // new threads needs this to be setup @@ -506,7 +506,7 @@ bool checkOutgoingProtobufExport(LocalStateHolder& luaconfsLocal return true; } -void protobufLogQuery(LocalStateHolder& luaconfsLocal, const boost::uuids::uuid& uniqueId, const ComboAddress& remote, const ComboAddress& local, const ComboAddress& mappedSource, const Netmask& ednssubnet, bool tcp, size_t len, const DNSName& qname, uint16_t qtype, uint16_t qclass, const std::unordered_set& policyTags, const std::string& requestorId, const std::string& deviceId, const std::string& deviceName, const std::map& meta, const boost::optional& ednsVersion, const dnsheader& header, const pdns::trace::TraceID& traceID) +void protobufLogQuery(LocalStateHolder& luaconfsLocal, const boost::uuids::uuid& uniqueId, const ComboAddress& remote, const ComboAddress& local, const ComboAddress& mappedSource, const Netmask& ednssubnet, bool tcp, size_t len, const DNSName& qname, uint16_t qtype, uint16_t qclass, const std::unordered_set& policyTags, const std::string& requestorId, const std::string& deviceId, const std::string& deviceName, const std::map& meta, const std::optional& ednsVersion, const dnsheader& header, const pdns::trace::TraceID& traceID) { auto log = g_slog->withName("pblq"); diff --git a/pdns/recursordist/rec-main.hh b/pdns/recursordist/rec-main.hh index 1078ad8a40..083d3702ef 100644 --- a/pdns/recursordist/rec-main.hh +++ b/pdns/recursordist/rec-main.hh @@ -134,9 +134,9 @@ struct DNSComboWriter EDNSSubnetOpts d_ednssubnet; shared_ptr d_tcpConnection; - boost::optional d_extendedErrorCode{boost::none}; + std::optional d_extendedErrorCode{std::nullopt}; string d_extendedErrorExtra; - boost::optional d_rcode{boost::none}; + std::optional d_rcode{std::nullopt}; int d_socket{-1}; unsigned int d_tag{0}; uint32_t d_qhash{0}; @@ -229,7 +229,7 @@ extern thread_local std::unique_ptr t_udpclientsocks; extern thread_local std::shared_ptr t_proxyProtocolACL; extern thread_local std::shared_ptr> t_proxyProtocolExceptions; extern bool g_useIncomingECS; -extern boost::optional g_dns64Prefix; +extern std::optional g_dns64Prefix; extern DNSName g_dns64PrefixReverse; extern uint64_t g_latencyStatSize; extern std::atomic g_statsWanted; @@ -625,8 +625,8 @@ bool checkOutgoingProtobufExport(LocalStateHolder& luaconfsLocal bool checkFrameStreamExport(LocalStateHolder& luaconfsLocal, const FrameStreamExportConfig& config, FrameStreamServersInfo& serverInfos); #endif void getQNameAndSubnet(const std::string& question, DNSName* dnsname, uint16_t* qtype, uint16_t* qclass, - bool& foundECS, EDNSSubnetOpts* ednssubnet, EDNSOptionViewMap* options, boost::optional& ednsVersion); -void protobufLogQuery(LocalStateHolder& luaconfsLocal, const boost::uuids::uuid& uniqueId, const ComboAddress& remote, const ComboAddress& local, const ComboAddress& mappedSource, const Netmask& ednssubnet, bool tcp, size_t len, const DNSName& qname, uint16_t qtype, uint16_t qclass, const std::unordered_set& policyTags, const std::string& requestorId, const std::string& deviceId, const std::string& deviceName, const std::map& meta, const boost::optional& ednsVersion, const dnsheader& header, const pdns::trace::TraceID& traceID); + bool& foundECS, EDNSSubnetOpts* ednssubnet, EDNSOptionViewMap* options, std::optional& ednsVersion); +void protobufLogQuery(LocalStateHolder& luaconfsLocal, const boost::uuids::uuid& uniqueId, const ComboAddress& remote, const ComboAddress& local, const ComboAddress& mappedSource, const Netmask& ednssubnet, bool tcp, size_t len, const DNSName& qname, uint16_t qtype, uint16_t qclass, const std::unordered_set& policyTags, const std::string& requestorId, const std::string& deviceId, const std::string& deviceName, const std::map& meta, const std::optional& ednsVersion, const dnsheader& header, const pdns::trace::TraceID& traceID); bool isAllowNotifyForZone(DNSName qname); bool checkForCacheHit(bool qnameParsed, unsigned int tag, const string& data, DNSName& qname, uint16_t& qtype, uint16_t& qclass, diff --git a/pdns/recursordist/rec-rust-lib/cxxsupport.cc b/pdns/recursordist/rec-rust-lib/cxxsupport.cc index cd295297eb..2c50e00ab1 100644 --- a/pdns/recursordist/rec-rust-lib/cxxsupport.cc +++ b/pdns/recursordist/rec-rust-lib/cxxsupport.cc @@ -1302,9 +1302,9 @@ void fromRustToLuaConfig(const rust::Vec smn; + std::optional smn; if (!pmap.domains.empty()) { - smn = boost::make_optional(SuffixMatchNode{}); + smn = std::make_optional(SuffixMatchNode{}); for (const auto& dom : pmap.domains) { smn->add(DNSName(std::string(dom))); } diff --git a/pdns/recursordist/rec-tcp.cc b/pdns/recursordist/rec-tcp.cc index f816d5b6ba..517ed521a5 100644 --- a/pdns/recursordist/rec-tcp.cc +++ b/pdns/recursordist/rec-tcp.cc @@ -270,7 +270,7 @@ static void handleNotify(std::unique_ptr& comboWriter, const DNS } } -static void doProtobufLogQuery(bool logQuery, LocalStateHolder& luaconfsLocal, const std::unique_ptr& comboWriter, const DNSName& qname, QType qtype, QClass qclass, const dnsheader* dnsheader, const shared_ptr& conn, const boost::optional& ednsVersion) +static void doProtobufLogQuery(bool logQuery, LocalStateHolder& luaconfsLocal, const std::unique_ptr& comboWriter, const DNSName& qname, QType qtype, QClass qclass, const dnsheader* dnsheader, const shared_ptr& conn, const std::optional& ednsVersion) { try { if (logQuery && !(luaconfsLocal->protobufExportConfig.taggedOnly && comboWriter->d_policyTags.empty())) { @@ -299,7 +299,7 @@ static void doProcessTCPQuestion(std::unique_ptr& comboWriter, s string deviceName; bool logQuery = false; bool qnameParsed = false; - boost::optional ednsVersion; + std::optional ednsVersion; comboWriter->d_eventTrace.setEnabled(SyncRes::s_event_trace_enabled != 0); if (comboWriter->d_eventTrace.enabled() && !matchOTConditions(t_OTConditions, comboWriter->d_mappedSource) && SyncRes::eventTraceEnabledOnly(SyncRes::event_trace_to_ot)) { @@ -448,7 +448,7 @@ static void doProcessTCPQuestion(std::unique_ptr& comboWriter, s } string response; - RecursorPacketCache::OptPBData pbData{boost::none}; + RecursorPacketCache::OptPBData pbData{std::nullopt}; if (comboWriter->d_mdp.d_header.opcode == static_cast(Opcode::Query)) { /* It might seem like a good idea to skip the packet cache lookup if we know that the answer is not cacheable, diff --git a/pdns/recursordist/recpacketcache.cc b/pdns/recursordist/recpacketcache.cc index 144bc67b38..149a23a040 100644 --- a/pdns/recursordist/recpacketcache.cc +++ b/pdns/recursordist/recpacketcache.cc @@ -157,7 +157,7 @@ bool RecursorPacketCache::checkResponseMatches(MapCombo::LockedContent& shard, s *pbdata = iter->d_pbdata; } else { - *pbdata = boost::none; + *pbdata = std::nullopt; } } diff --git a/pdns/recursordist/recpacketcache.hh b/pdns/recursordist/recpacketcache.hh index 17b618563e..3d975d3f7a 100644 --- a/pdns/recursordist/recpacketcache.hh +++ b/pdns/recursordist/recpacketcache.hh @@ -54,7 +54,7 @@ public: std::string d_response; bool d_tagged; }; - using OptPBData = boost::optional; + using OptPBData = std::optional; RecursorPacketCache(size_t maxsize, size_t shards = 1024) : d_maps(shards) diff --git a/pdns/recursordist/recursor_cache.cc b/pdns/recursordist/recursor_cache.cc index 4742249ec6..d534b60401 100644 --- a/pdns/recursordist/recursor_cache.cc +++ b/pdns/recursordist/recursor_cache.cc @@ -175,10 +175,10 @@ size_t MemRecursorCache::bytes() return ret; } -static void updateDNSSECValidationStateFromCache(boost::optional& state, const vState stateUpdate) +static void updateDNSSECValidationStateFromCache(std::optional& state, const vState stateUpdate) { // if there was no state it's easy */ - if (state == boost::none) { + if (state == std::nullopt) { state = stateUpdate; return; } @@ -207,7 +207,7 @@ static void ptrAssign(T* ptr, const T& value) } } -time_t MemRecursorCache::handleHit(time_t now, MapCombo::LockedContent& content, OrderedTagIterator_t& entry, const DNSName& qname, uint32_t& origTTL, vector* res, SigRecs* signatures, AuthRecs* authorityRecs, bool* variable, boost::optional& state, bool* wasAuth, DNSName* fromAuthZone, Extra* extra) +time_t MemRecursorCache::handleHit(time_t now, MapCombo::LockedContent& content, OrderedTagIterator_t& entry, const DNSName& qname, uint32_t& origTTL, vector* res, SigRecs* signatures, AuthRecs* authorityRecs, bool* variable, std::optional& state, bool* wasAuth, DNSName* fromAuthZone, Extra* extra) { // MUTEX SHOULD BE ACQUIRED (as indicated by the reference to the content which is protected by a lock) if (entry->d_tooBig) { @@ -326,7 +326,7 @@ MemRecursorCache::cache_t::const_iterator MemRecursorCache::getEntryUsingECSInde /* we have nothing more specific for you */ break; } - auto key = std::tuple(qname, qtype, boost::none, best); + auto key = std::tuple(qname, qtype, std::nullopt, best); auto entry = map.d_map.find(key); if (entry == map.d_map.end()) { /* ecsIndex is not up-to-date */ @@ -358,7 +358,7 @@ MemRecursorCache::cache_t::const_iterator MemRecursorCache::getEntryUsingECSInde } /* we have nothing specific, let's see if we have a generic one */ - auto key = std::tuple(qname, qtype, boost::none, Netmask()); + auto key = std::tuple(qname, qtype, std::nullopt, Netmask()); auto entry = map.d_map.find(key); if (entry != map.d_map.end()) { handleServeStaleBookkeeping(now, serveStale, entry); @@ -436,7 +436,7 @@ time_t MemRecursorCache::get(time_t now, const DNSName& qname, const QType qtype bool refresh = (flags & Refresh) != 0; bool serveStale = (flags & ServeStale) != 0; - boost::optional cachedState{boost::none}; + std::optional cachedState{std::nullopt}; uint32_t origTTL = 0; if (res != nullptr) { @@ -530,7 +530,7 @@ time_t MemRecursorCache::get(time_t now, const DNSName& qname, const QType qtype } } // Try (again) without tag - auto entries = getEntries(*lockedShard, qname, qtype, boost::none); + auto entries = getEntries(*lockedShard, qname, qtype, std::nullopt); if (entries.first != entries.second) { OrderedTagIterator_t firstIndexIterator; @@ -633,21 +633,21 @@ bool MemRecursorCache::replace(CacheEntry&& entry) return false; } -void MemRecursorCache::replace(time_t now, const DNSName& qname, const QType qtype, const vector& content, const SigRecsVec& signatures, const AuthRecsVec& authorityRecs, bool auth, const DNSName& authZone, const boost::optional& ednsmaskArg, const OptTag& routingTag, vState state, const boost::optional& extra, bool refresh, time_t ttl_time) +void MemRecursorCache::replace(time_t now, const DNSName& qname, const QType qtype, const vector& content, const SigRecsVec& signatures, const AuthRecsVec& authorityRecs, bool auth, const DNSName& authZone, const std::optional& ednsmaskArg, const OptTag& routingTag, vState state, const std::optional& extra, bool refresh, time_t ttl_time) { auto& shard = getMap(qname); auto lockedShard = shard.lock(); lockedShard->d_cachecachevalid = false; - boost::optional ednsmask; + std::optional ednsmask; if (ednsmaskArg) { ednsmask = ednsmaskArg->getNormalized(); } // We only store with a tag if we have an ednsmask and the tag is available // We only store an ednsmask if we do not have a tag and we do have a mask. - auto key = std::tuple(qname, qtype.getCode(), ednsmask ? routingTag : boost::none, (ednsmask && !routingTag) ? *ednsmask : Netmask()); + auto key = std::tuple(qname, qtype.getCode(), ednsmask ? routingTag : std::nullopt, (ednsmask && !routingTag) ? *ednsmask : Netmask()); bool isNew = false; cache_t::iterator stored = lockedShard->d_map.find(key); if (stored == lockedShard->d_map.end()) { @@ -853,7 +853,7 @@ bool MemRecursorCache::doAgeCache(time_t now, const DNSName& name, const QType q return false; } -bool MemRecursorCache::updateValidationStatus(time_t now, const DNSName& qname, const QType qtype, const ComboAddress& who, const OptTag& routingTag, bool requireAuth, vState newState, boost::optional capTTD) +bool MemRecursorCache::updateValidationStatus(time_t now, const DNSName& qname, const QType qtype, const ComboAddress& who, const OptTag& routingTag, bool requireAuth, vState newState, std::optional capTTD) { if (qtype == QType::ANY) { throw std::runtime_error("Trying to update the DNSSEC validation status of all (via ANY) records for " + qname.toLogString()); @@ -934,7 +934,7 @@ uint64_t MemRecursorCache::doDump(int fileDesc, size_t maxCacheEntries) for (const auto& record : recordSet.d_records) { count++; try { - fprintf(filePtr.get(), "%s %" PRIu32 " %" PRId64 " IN %s %s ; (%s) auth=%i zone=%s from=%s nm=%s rtag=%s ss=%hd%s%s\n", recordSet.d_qname.toString().c_str(), recordSet.d_orig_ttl, static_cast(recordSet.d_ttd - now), recordSet.d_qtype.toString().c_str(), record->getZoneRepresentation().c_str(), vStateToString(recordSet.d_state).c_str(), static_cast(recordSet.d_auth), recordSet.d_authZone.toLogString().c_str(), recordSet.d_from.toString().c_str(), recordSet.d_netmask.empty() ? "" : recordSet.d_netmask.toString().c_str(), !recordSet.d_rtag ? "" : recordSet.d_rtag.get().c_str(), recordSet.d_servedStale, recordSet.d_tooBig ? " (too big!)" : "", recordSet.d_tcp ? " tcp" : ""); + fprintf(filePtr.get(), "%s %" PRIu32 " %" PRId64 " IN %s %s ; (%s) auth=%i zone=%s from=%s nm=%s rtag=%s ss=%hd%s%s\n", recordSet.d_qname.toString().c_str(), recordSet.d_orig_ttl, static_cast(recordSet.d_ttd - now), recordSet.d_qtype.toString().c_str(), record->getZoneRepresentation().c_str(), vStateToString(recordSet.d_state).c_str(), static_cast(recordSet.d_auth), recordSet.d_authZone.toLogString().c_str(), recordSet.d_from.toString().c_str(), recordSet.d_netmask.empty() ? "" : recordSet.d_netmask.toString().c_str(), recordSet.d_rtag.value_or("").c_str(), recordSet.d_servedStale, recordSet.d_tooBig ? " (too big!)" : "", recordSet.d_tcp ? " tcp" : ""); } catch (...) { fprintf(filePtr.get(), "; error printing '%s'\n", recordSet.d_qname.empty() ? "EMPTY" : recordSet.d_qname.toString().c_str()); @@ -1136,7 +1136,7 @@ bool MemRecursorCache::putRecordSet(T& message) { AuthRecsVec authRecs; SigRecsVec sigRecs; - CacheEntry cacheEntry{{g_rootdnsname, QType::A, boost::none, Netmask()}, false}; + CacheEntry cacheEntry{{g_rootdnsname, QType::A, std::nullopt, Netmask()}, false}; while (message.next()) { switch (message.tag()) { case PBCacheEntry::repeated_bytes_record: { @@ -1285,6 +1285,6 @@ namespace boost { size_t hash_value(const MemRecursorCache::OptTag& rtag) { - return rtag ? hash_value(rtag.get()) : 0xcafebaaf; + return rtag ? hash_value(rtag.value()) : 0xcafebaaf; } } diff --git a/pdns/recursordist/recursor_cache.hh b/pdns/recursordist/recursor_cache.hh index 595b8cde10..cb833ff90d 100644 --- a/pdns/recursordist/recursor_cache.hh +++ b/pdns/recursordist/recursor_cache.hh @@ -65,7 +65,7 @@ public: size_t getRecordSets(size_t perShard, size_t maxSize, std::string& ret); size_t putRecordSets(const std::string& pbuf); - using OptTag = boost::optional; + using OptTag = std::optional; using Flags = uint8_t; static constexpr Flags None = 0; @@ -102,16 +102,16 @@ public: bool d_tcp{false}; }; - [[nodiscard]] time_t get(time_t, const DNSName& qname, QType qtype, Flags flags, vector* res, const ComboAddress& who, const OptTag& routingTag = boost::none, SigRecs* signatures = nullptr, AuthRecs* authorityRecs = nullptr, bool* variable = nullptr, vState* state = nullptr, bool* wasAuth = nullptr, DNSName* fromAuthZone = nullptr, Extra* extra = nullptr); + [[nodiscard]] time_t get(time_t, const DNSName& qname, QType qtype, Flags flags, vector* res, const ComboAddress& who, const OptTag& routingTag = std::nullopt, SigRecs* signatures = nullptr, AuthRecs* authorityRecs = nullptr, bool* variable = nullptr, vState* state = nullptr, bool* wasAuth = nullptr, DNSName* fromAuthZone = nullptr, Extra* extra = nullptr); - void replace(time_t, const DNSName& qname, QType qtype, const vector& content, const SigRecsVec& signatures, const AuthRecsVec& authorityRecs, bool auth, const DNSName& authZone, const boost::optional& ednsmask = boost::none, const OptTag& routingTag = boost::none, vState state = vState::Indeterminate, const boost::optional& extra = boost::none, bool refresh = false, time_t ttl_time = time(nullptr)); + void replace(time_t, const DNSName& qname, QType qtype, const vector& content, const SigRecsVec& signatures, const AuthRecsVec& authorityRecs, bool auth, const DNSName& authZone, const std::optional& ednsmask = std::nullopt, const OptTag& routingTag = std::nullopt, vState state = vState::Indeterminate, const std::optional& extra = std::nullopt, bool refresh = false, time_t ttl_time = time(nullptr)); void doPrune(time_t now, size_t keep); uint64_t doDump(int fileDesc, size_t maxCacheEntries); size_t doWipeCache(const DNSName& name, bool sub, QType qtype = 0xffff); bool doAgeCache(time_t now, const DNSName& name, QType qtype, uint32_t newTTL); - bool updateValidationStatus(time_t now, const DNSName& qname, QType qtype, const ComboAddress& who, const OptTag& routingTag, bool requireAuth, vState newState, boost::optional capTTD); + bool updateValidationStatus(time_t now, const DNSName& qname, QType qtype, const ComboAddress& who, const OptTag& routingTag, bool requireAuth, vState newState, std::optional capTTD); static void resetStaticsForTests(); @@ -385,7 +385,7 @@ private: static Entries getEntries(MapCombo::LockedContent& map, const DNSName& qname, QType qtype, const OptTag& rtag); static cache_t::const_iterator getEntryUsingECSIndex(MapCombo::LockedContent& map, time_t now, const DNSName& qname, QType qtype, bool requireAuth, const ComboAddress& who, bool serveStale); - static time_t handleHit(time_t now, MapCombo::LockedContent& content, OrderedTagIterator_t& entry, const DNSName& qname, uint32_t& origTTL, vector* res, SigRecs* signatures, AuthRecs* authorityRecs, bool* variable, boost::optional& state, bool* wasAuth, DNSName* authZone, Extra* extra); + static time_t handleHit(time_t now, MapCombo::LockedContent& content, OrderedTagIterator_t& entry, const DNSName& qname, uint32_t& origTTL, vector* res, SigRecs* signatures, AuthRecs* authorityRecs, bool* variable, std::optional& state, bool* wasAuth, DNSName* authZone, Extra* extra); static void updateStaleEntry(time_t now, OrderedTagIterator_t& entry); static void handleServeStaleBookkeeping(time_t, bool, OrderedTagIterator_t&); }; diff --git a/pdns/recursordist/reczones-helpers.cc b/pdns/recursordist/reczones-helpers.cc index 147d32f55f..68e4ad3dc9 100644 --- a/pdns/recursordist/reczones-helpers.cc +++ b/pdns/recursordist/reczones-helpers.cc @@ -41,7 +41,7 @@ static void putIntoCache(time_t now, QType qtype, vState state, const ComboAddre // Put non-default root hints into cache as authoritative. As argued below in // putDefaultHintsIntoCache, this is actually wrong, but people might depend on it by having // root-hints that refer to servers that aren't actually capable or willing to serve root data. - g_recCache->replace(now, name, qtype, aset, {}, {}, true, g_rootdnsname, boost::none, boost::none, state, MemRecursorCache::Extra{from, false}); + g_recCache->replace(now, name, qtype, aset, {}, {}, true, g_rootdnsname, std::nullopt, std::nullopt, state, MemRecursorCache::Extra{from, false}); } } @@ -158,11 +158,11 @@ void putDefaultHintsIntoCache(time_t now, std::vector& nsvec) * auth and will expire at the same time. A re-prime is then triggered, as before, when the * records were inserted with the auth bit set and the TTD comes. */ - g_recCache->replace(now, DNSName(templ), QType::A, {arr}, {}, {}, false, g_rootdnsname, boost::none, boost::none, vState::Insecure, MemRecursorCache::Extra{from, false}); + g_recCache->replace(now, DNSName(templ), QType::A, {arr}, {}, {}, false, g_rootdnsname, std::nullopt, std::nullopt, vState::Insecure, MemRecursorCache::Extra{from, false}); } if (!rootIps6.at(letter).empty()) { aaaarr.setContent(std::make_shared(ComboAddress(rootIps6.at(letter)))); - g_recCache->replace(now, DNSName(templ), QType::AAAA, {aaaarr}, {}, {}, false, g_rootdnsname, boost::none, boost::none, vState::Insecure, MemRecursorCache::Extra{from, false}); + g_recCache->replace(now, DNSName(templ), QType::AAAA, {aaaarr}, {}, {}, false, g_rootdnsname, std::nullopt, std::nullopt, vState::Insecure, MemRecursorCache::Extra{from, false}); } } } diff --git a/pdns/recursordist/reczones.cc b/pdns/recursordist/reczones.cc index 745cad67b5..32f3806040 100644 --- a/pdns/recursordist/reczones.cc +++ b/pdns/recursordist/reczones.cc @@ -56,7 +56,7 @@ bool primeHints(time_t now) } g_recCache->doWipeCache(g_rootdnsname, false, QType::NS); - g_recCache->replace(now, g_rootdnsname, QType::NS, nsvec, {}, {}, false, g_rootdnsname, boost::none, boost::none, vState::Insecure, MemRecursorCache::Extra{ComboAddress("255.255.255.255"), false}); // and stuff in the cache + g_recCache->replace(now, g_rootdnsname, QType::NS, nsvec, {}, {}, false, g_rootdnsname, std::nullopt, std::nullopt, vState::Insecure, MemRecursorCache::Extra{ComboAddress("255.255.255.255"), false}); // and stuff in the cache return ret; } diff --git a/pdns/recursordist/rpzloader.cc b/pdns/recursordist/rpzloader.cc index 24dec5abe1..fa3f5fe6d4 100644 --- a/pdns/recursordist/rpzloader.cc +++ b/pdns/recursordist/rpzloader.cc @@ -89,7 +89,7 @@ Netmask makeNetmaskFromRPZ(const DNSName& name) return v6Address; } -static void RPZRecordToPolicy(const DNSRecord& dnsRecord, const std::shared_ptr& zone, bool addOrRemove, const boost::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL, Logr::log_t log) +static void RPZRecordToPolicy(const DNSRecord& dnsRecord, const std::shared_ptr& zone, bool addOrRemove, const std::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL, Logr::log_t log) { static const DNSName drop("rpz-drop."); static const DNSName truncate("rpz-tcp-only."); @@ -236,7 +236,7 @@ static void RPZRecordToPolicy(const DNSRecord& dnsRecord, const std::shared_ptr< } } -static shared_ptr loadRPZFromServer(Logr::log_t plogger, const ComboAddress& primary, const DNSName& zoneName, const std::shared_ptr& zone, const boost::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL, const TSIGTriplet& tsigTriplet, size_t maxReceivedBytes, const ComboAddress& localAddress, uint16_t axfrTimeout) +static shared_ptr loadRPZFromServer(Logr::log_t plogger, const ComboAddress& primary, const DNSName& zoneName, const std::shared_ptr& zone, const std::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL, const TSIGTriplet& tsigTriplet, size_t maxReceivedBytes, const ComboAddress& localAddress, uint16_t axfrTimeout) { auto logger = plogger->withValues("primary", Logging::Loggable(primary)); @@ -331,7 +331,7 @@ static void setRPZZoneNewState(const std::string& zone, uint32_t serial, uint64_ } // this function is silent - you do the logging -std::shared_ptr loadRPZFromFile(const std::string& fname, const std::shared_ptr& zone, const boost::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL) +std::shared_ptr loadRPZFromFile(const std::string& fname, const std::shared_ptr& zone, const std::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL) { shared_ptr soaRecordContent = nullptr; ZoneParserTNG zpt(fname); diff --git a/pdns/recursordist/rpzloader.hh b/pdns/recursordist/rpzloader.hh index da16ded25c..1f039fdd78 100644 --- a/pdns/recursordist/rpzloader.hh +++ b/pdns/recursordist/rpzloader.hh @@ -31,7 +31,7 @@ extern bool g_logRPZChanges; struct RPZTrackerParams { ZoneXFRParams zoneXFRParams; - boost::optional defpol; + std::optional defpol; std::string defcontent; bool defpolOverrideLocal{true}; uint32_t maxTTL = std::numeric_limits::max(); @@ -45,7 +45,7 @@ struct RPZTrackerParams bool ignoreDuplicates{false}; }; -std::shared_ptr loadRPZFromFile(const std::string& fname, const std::shared_ptr& zone, const boost::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL); +std::shared_ptr loadRPZFromFile(const std::string& fname, const std::shared_ptr& zone, const std::optional& defpol, bool defpolOverrideLocal, uint32_t maxTTL); void RPZIXFRTracker(RPZTrackerParams params, uint64_t configGeneration); struct rpzStats diff --git a/pdns/recursordist/syncres.cc b/pdns/recursordist/syncres.cc index d6c7b2ee2c..6f055db61b 100644 --- a/pdns/recursordist/syncres.cc +++ b/pdns/recursordist/syncres.cc @@ -19,6 +19,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ +#include #ifdef HAVE_CONFIG_H #include @@ -1423,7 +1424,7 @@ uint64_t SyncRes::doDumpDoTProbeMap(int fileDesc) For now this means we can't be clever, but will turn off DNSSEC if you reply with FormError or gibberish. */ -LWResult::Result SyncRes::asyncresolveWrapper(const OptLog& log, const ComboAddress& address, bool ednsMANDATORY, const DNSName& domain, [[maybe_unused]] const DNSName& auth, int type, bool doTCP, bool sendRDQuery, struct timeval* now, boost::optional& srcmask, LWResult* res, bool* chained, const DNSName& nsName) const +LWResult::Result SyncRes::asyncresolveWrapper(const OptLog& log, const ComboAddress& address, bool ednsMANDATORY, const DNSName& domain, [[maybe_unused]] const DNSName& auth, int type, bool doTCP, bool sendRDQuery, struct timeval* now, std::optional& srcmask, LWResult* res, bool* chained, const DNSName& nsName) const { /* what is your QUEST? the goal is to get as many remotes as possible on the best level of EDNS support @@ -1661,7 +1662,7 @@ int SyncRes::doResolve(const DNSName& qname, const QType qtype, vector beenthereIgnored; - getBestNSFromCache(nsdomain, qtype, bestns, &flawedNSSet, depth, prefix, beenthereIgnored, boost::make_optional(forwarded, fwdomain)); + getBestNSFromCache(nsdomain, qtype, bestns, &flawedNSSet, depth, prefix, beenthereIgnored, forwarded ? std::make_optional(fwdomain) : std::nullopt); if (forwarded) { break; } @@ -2229,7 +2230,7 @@ bool SyncRes::canUseRecords(const std::string& prefix, const DNSName& qname, con return true; } -void SyncRes::getBestNSFromCache(const DNSName& qname, const QType qtype, vector& bestns, bool* flawedNSSet, unsigned int depth, const string& prefix, set& beenthere, const boost::optional& cutOffDomain) // NOLINT(readability-function-cognitive-complexity) +void SyncRes::getBestNSFromCache(const DNSName& qname, const QType qtype, vector& bestns, bool* flawedNSSet, unsigned int depth, const string& prefix, set& beenthere, const std::optional& cutOffDomain) // NOLINT(readability-function-cognitive-complexity) { DNSName subdomain(qname); bestns.clear(); @@ -2457,7 +2458,7 @@ void SyncRes::updateValidationStatusInCache(const DNSName& qname, const QType qt g_recCache->updateValidationStatus(d_now.tv_sec, qname, qtype, d_cacheRemote, d_routingTag, aaFlag, newState, s_maxbogusttl + d_now.tv_sec); } else { - g_recCache->updateValidationStatus(d_now.tv_sec, qname, qtype, d_cacheRemote, d_routingTag, aaFlag, newState, boost::none); + g_recCache->updateValidationStatus(d_now.tv_sec, qname, qtype, d_cacheRemote, d_routingTag, aaFlag, newState, std::nullopt); } } @@ -2806,7 +2807,7 @@ void SyncRes::computeNegCacheValidationStatus(const NegCache::NegCacheEntry& neg } if (state != vState::Indeterminate) { /* validation succeeded, let's update the cache entry so we don't have to validate again */ - boost::optional capTTD = boost::none; + std::optional capTTD = std::nullopt; if (vStateIsBogus(state)) { capTTD = d_now.tv_sec + s_maxbogusttl; } @@ -4466,7 +4467,7 @@ void SyncRes::rememberParentSetIfNeeded(const DNSName& domain, const vector& ednsmask, vState& state, bool& needWildcardProof, bool& gatherWildcardProof, unsigned int& wildcardLabelsCount, bool rdQuery, const ComboAddress& remoteIP, bool overTCP) // NOLINT(readability-function-cognitive-complexity) +RCode::rcodes_ SyncRes::updateCacheFromRecords(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, const QType qtype, const DNSName& auth, bool wasForwarded, const std::optional& ednsmask, vState& state, bool& needWildcardProof, bool& gatherWildcardProof, unsigned int& wildcardLabelsCount, bool rdQuery, const ComboAddress& remoteIP, bool overTCP) // NOLINT(readability-function-cognitive-complexity) { bool wasForwardRecurse = wasForwarded && rdQuery; tcache_t tcache; @@ -4826,7 +4827,7 @@ RCode::rcodes_ SyncRes::updateCacheFromRecords(unsigned int depth, const string& thisRRNeedsWildcardProof = true; } } - g_recCache->replace(d_now.tv_sec, tCacheEntry->first.name, tCacheEntry->first.type, tCacheEntry->second.records, tCacheEntry->second.signatures, thisRRNeedsWildcardProof ? authorityRecs : *MemRecursorCache::s_emptyAuthRecs, tCacheEntry->first.type == QType::DS ? true : isAA, auth, tCacheEntry->first.place == DNSResourceRecord::ANSWER ? ednsmask : boost::none, d_routingTag, recordState, MemRecursorCache::Extra{remoteIP, overTCP}, d_refresh, tCacheEntry->second.d_ttl_time); + g_recCache->replace(d_now.tv_sec, tCacheEntry->first.name, tCacheEntry->first.type, tCacheEntry->second.records, tCacheEntry->second.signatures, thisRRNeedsWildcardProof ? authorityRecs : *MemRecursorCache::s_emptyAuthRecs, tCacheEntry->first.type == QType::DS ? true : isAA, auth, tCacheEntry->first.place == DNSResourceRecord::ANSWER ? ednsmask : std::nullopt, d_routingTag, recordState, MemRecursorCache::Extra{remoteIP, overTCP}, d_refresh, tCacheEntry->second.d_ttl_time); // Delete potential negcache entry. When a record recovers with serve-stale the negcache entry can cause the wrong entry to // be served, as negcache entries are checked before record cache entries @@ -4851,7 +4852,7 @@ RCode::rcodes_ SyncRes::updateCacheFromRecords(unsigned int depth, const string& content.push_back(std::move(nonExpandedRecord)); } - g_recCache->replace(d_now.tv_sec, realOwner, QType(tCacheEntry->first.type), content, tCacheEntry->second.signatures, /* no additional records in that case */ {}, tCacheEntry->first.type == QType::DS ? true : isAA, auth, boost::none, boost::none, recordState, MemRecursorCache::Extra{remoteIP, overTCP}, d_refresh, tCacheEntry->second.d_ttl_time); + g_recCache->replace(d_now.tv_sec, realOwner, QType(tCacheEntry->first.type), content, tCacheEntry->second.signatures, /* no additional records in that case */ {}, tCacheEntry->first.type == QType::DS ? true : isAA, auth, std::nullopt, std::nullopt, recordState, MemRecursorCache::Extra{remoteIP, overTCP}, d_refresh, tCacheEntry->second.d_ttl_time); } } } @@ -5362,12 +5363,12 @@ bool SyncRes::tryDoT(const DNSName& qname, const QType qtype, const DNSName& nsN LWResult lwr; bool truncated{}; bool spoofed{}; - boost::optional netmask; + std::optional netmask; address.setPort(853); // We use the fact that qname equals auth bool isOK = false; try { - boost::optional extendedError; + std::optional extendedError; isOK = doResolveAtThisIP("", qname, qtype, lwr, netmask, qname, false, false, nsName, address, true, true, truncated, spoofed, extendedError, true); isOK = isOK && lwr.d_rcode == RCode::NoError && !lwr.d_records.empty(); } @@ -5390,7 +5391,7 @@ bool SyncRes::tryDoT(const DNSName& qname, const QType qtype, const DNSName& nsN return isOK; } -void SyncRes::ednsStats(boost::optional& ednsmask, const DNSName& qname, const string& prefix) +void SyncRes::ednsStats(std::optional& ednsmask, const DNSName& qname, const string& prefix) { if (!ednsmask) { return; @@ -5447,7 +5448,7 @@ void SyncRes::incTimeoutStats(const ComboAddress& remoteIP) } } -void SyncRes::checkTotalTime(const DNSName& qname, QType qtype, boost::optional& extendedError) const +void SyncRes::checkTotalTime(const DNSName& qname, QType qtype, std::optional& extendedError) const { if (s_maxtotusec != 0 && d_totUsec > s_maxtotusec) { if (s_addExtendedResolutionDNSErrors) { @@ -5457,7 +5458,7 @@ void SyncRes::checkTotalTime(const DNSName& qname, QType qtype, boost::optional< } } -bool SyncRes::doResolveAtThisIP(const std::string& prefix, const DNSName& qname, const QType qtype, LWResult& lwr, boost::optional& ednsmask, const DNSName& auth, bool const sendRDQuery, const bool wasForwarded, const DNSName& nsName, const ComboAddress& remoteIP, bool doTCP, bool doDoT, bool& truncated, bool& spoofed, boost::optional& extendedError, bool dontThrottle) +bool SyncRes::doResolveAtThisIP(const std::string& prefix, const DNSName& qname, const QType qtype, LWResult& lwr, std::optional& ednsmask, const DNSName& auth, bool const sendRDQuery, const bool wasForwarded, const DNSName& nsName, const ComboAddress& remoteIP, bool doTCP, bool doDoT, bool& truncated, bool& spoofed, std::optional& extendedError, bool dontThrottle) { checkTotalTime(qname, qtype, extendedError); @@ -5483,7 +5484,7 @@ bool SyncRes::doResolveAtThisIP(const std::string& prefix, const DNSName& qname, d_eventTrace.add(RecEventTrace::AuthRequest, static_cast(lwr.d_rcode), false, match); ednsStats(ednsmask, qname, prefix); if (resolveret == LWResult::Result::ECSMissing) { - ednsmask = boost::none; + ednsmask = std::nullopt; LOG(prefix << qname << ": Answer has no ECS, trying again without EDNS Client Subnet Mask" << endl); updateQueryCounts(prefix, qname, remoteIP, doTCP, doDoT); match = d_eventTrace.add(RecEventTrace::AuthRequest, qname.toLogString() + '/' + qtype.toString(), true, 0); @@ -5700,7 +5701,7 @@ void SyncRes::handleNewTarget(const std::string& prefix, const DNSName& qname, c updateValidationState(qname, state, cnameContext.state, prefix); } -bool SyncRes::processAnswer(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, const QType qtype, DNSName& auth, bool wasForwarded, const boost::optional& ednsmask, bool sendRDQuery, NsSet& nameservers, std::vector& ret, const DNSFilterEngine& dfe, bool* gotNewServers, int* rcode, vState& state, const ComboAddress& remoteIP, bool overTCP) +bool SyncRes::processAnswer(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, const QType qtype, DNSName& auth, bool wasForwarded, const std::optional& ednsmask, bool sendRDQuery, NsSet& nameservers, std::vector& ret, const DNSFilterEngine& dfe, bool* gotNewServers, int* rcode, vState& state, const ComboAddress& remoteIP, bool overTCP) { if (s_minimumTTL != 0) { for (auto& rec : lwr.d_records) { @@ -5908,7 +5909,7 @@ int SyncRes::doResolveAt(NsSet& nameservers, DNSName auth, bool flawedNSSet, con remoteIPs_t::iterator remoteIP; bool pierceDontQuery = false; bool sendRDQuery = false; - boost::optional ednsmask; + std::optional ednsmask; LWResult lwr; const bool wasForwarded = tns->first.empty() && (!nameservers[tns->first].first.empty()); int rcode = RCode::NoError; @@ -6074,7 +6075,7 @@ void SyncRes::setQuerySource(const Netmask& netmask) d_outgoingECSNetwork = netmask; } else { - d_outgoingECSNetwork = boost::none; + d_outgoingECSNetwork = std::nullopt; } } @@ -6087,7 +6088,7 @@ void SyncRes::setQuerySource(const ComboAddress& requestor, const boost::optiona uint8_t bits = std::min(incomingECS->getSourcePrefixLength(), (incomingECS->getSource().isIPv4() ? s_ecsipv4limit : s_ecsipv6limit)); ComboAddress trunc = incomingECS->getSource().getNetwork(); trunc.truncate(bits); - d_outgoingECSNetwork = boost::optional(Netmask(trunc, bits)); + d_outgoingECSNetwork = std::optional(Netmask(trunc, bits)); } else { d_cacheRemote = d_requestor; @@ -6096,7 +6097,7 @@ void SyncRes::setQuerySource(const ComboAddress& requestor, const boost::optiona uint8_t bits = d_requestor.isIPv4() ? 32 : 128; bits = std::min(bits, (trunc.isIPv4() ? s_ecsipv4limit : s_ecsipv6limit)); trunc.truncate(bits); - d_outgoingECSNetwork = boost::optional(Netmask(trunc, bits)); + d_outgoingECSNetwork = std::optional(Netmask(trunc, bits)); } else if (s_ecsScopeZero.getSourcePrefixLength() > 0) { /* RFC7871 says we MUST NOT send any ECS if the source scope is 0. @@ -6113,22 +6114,22 @@ void SyncRes::setQuerySource(const ComboAddress& requestor, const boost::optiona indicator of the applicable scope. Subsequent Stub Resolver queries for /0 can then be answered from this cached response. */ - d_outgoingECSNetwork = boost::optional(s_ecsScopeZero.getSource().getMaskedNetwork()); + d_outgoingECSNetwork = std::optional(s_ecsScopeZero.getSource().getMaskedNetwork()); d_cacheRemote = s_ecsScopeZero.getSource().getNetwork(); } else { // ECS disabled because no scope-zero address could be derived. - d_outgoingECSNetwork = boost::none; + d_outgoingECSNetwork = std::nullopt; } } } -boost::optional SyncRes::getEDNSSubnetMask(const DNSName& name, const ComboAddress& rem) +std::optional SyncRes::getEDNSSubnetMask(const DNSName& name, const ComboAddress& rem) { if (d_outgoingECSNetwork && (s_ednsdomains.check(name) || s_ednsremotesubnets.match(rem))) { return d_outgoingECSNetwork; } - return boost::none; + return std::nullopt; } void SyncRes::parseEDNSSubnetAllowlist(const std::string& alist) diff --git a/pdns/recursordist/syncres.hh b/pdns/recursordist/syncres.hh index 0f3d0bf8f9..f6ffc27036 100644 --- a/pdns/recursordist/syncres.hh +++ b/pdns/recursordist/syncres.hh @@ -87,7 +87,7 @@ public: Log, Store }; - using asyncresolve_t = std::function&, const ResolveContext&, LWResult*, bool*)>; + using asyncresolve_t = std::function&, const ResolveContext&, LWResult*, bool*)>; enum class HardenNXD { @@ -98,7 +98,7 @@ public: struct Context { - boost::optional extendedError; + std::optional extendedError; vState state{vState::Indeterminate}; }; @@ -589,12 +589,12 @@ public: std::unordered_map d_discardedPolicies; DNSFilterEngine::Policy d_appliedPolicy; std::unordered_set d_policyTags; - boost::optional d_routingTag; + std::optional d_routingTag; ComboAddress d_fromAuthIP; RecEventTrace d_eventTrace; pdns::trace::InitialSpanInfo d_otTrace; std::shared_ptr d_slog = g_slog->withName("syncres"); - boost::optional d_extendedError; + std::optional d_extendedError; unsigned int d_authzonequeries; unsigned int d_outqueries; @@ -647,11 +647,11 @@ private: int doResolveAt(NsSet& nameservers, DNSName auth, bool flawedNSSet, const DNSName& qname, QType qtype, vector& ret, unsigned int depth, const string& prefix, set& beenthere, Context& context, StopAtDelegation* stopAtDelegation, std::map>* fallback); - void ednsStats(boost::optional& ednsmask, const DNSName& qname, const string& prefix); + void ednsStats(std::optional& ednsmask, const DNSName& qname, const string& prefix); void incTimeoutStats(const ComboAddress& remoteIP); - void checkTotalTime(const DNSName& qname, QType qtype, boost::optional& extendedError) const; - bool doResolveAtThisIP(const std::string& prefix, const DNSName& qname, QType qtype, LWResult& lwr, boost::optional& ednsmask, const DNSName& auth, bool sendRDQuery, bool wasForwarded, const DNSName& nsName, const ComboAddress& remoteIP, bool doTCP, bool doDoT, bool& truncated, bool& spoofed, boost::optional& extendedError, bool dontThrottle = false); - bool processAnswer(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, QType qtype, DNSName& auth, bool wasForwarded, const boost::optional& ednsmask, bool sendRDQuery, NsSet& nameservers, std::vector& ret, const DNSFilterEngine& dfe, bool* gotNewServers, int* rcode, vState& state, const ComboAddress& remoteIP, bool overTCP); + void checkTotalTime(const DNSName& qname, QType qtype, std::optional& extendedError) const; + bool doResolveAtThisIP(const std::string& prefix, const DNSName& qname, QType qtype, LWResult& lwr, std::optional& ednsmask, const DNSName& auth, bool sendRDQuery, bool wasForwarded, const DNSName& nsName, const ComboAddress& remoteIP, bool doTCP, bool doDoT, bool& truncated, bool& spoofed, std::optional& extendedError, bool dontThrottle = false); + bool processAnswer(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, QType qtype, DNSName& auth, bool wasForwarded, const std::optional& ednsmask, bool sendRDQuery, NsSet& nameservers, std::vector& ret, const DNSFilterEngine& dfe, bool* gotNewServers, int* rcode, vState& state, const ComboAddress& remoteIP, bool overTCP); int doResolve(const DNSName& qname, QType qtype, vector& ret, unsigned int depth, set& beenthere, Context& context); int doResolveNoQNameMinimization(const DNSName& qname, QType qtype, vector& ret, unsigned int depth, set& beenthere, Context& context, bool* fromCache = nullptr, StopAtDelegation* stopAtDelegation = nullptr); @@ -663,7 +663,7 @@ private: bool doCNAMECacheCheck(const DNSName& qname, QType qtype, vector& ret, unsigned int depth, const string& prefix, int& res, Context& context, bool wasAuthZone, bool wasForwardRecurse, bool checkForDups); bool doCacheCheck(const DNSName& qname, const DNSName& authname, bool wasForwardedOrAuthZone, bool wasAuthZone, bool wasForwardRecurse, QType qtype, vector& ret, unsigned int depth, const string& prefix, int& res, Context& context); bool canUseRecords(const std::string& prefix, const DNSName& qname, const DNSName& name, QType qtype, vState state); - void getBestNSFromCache(const DNSName& qname, QType qtype, vector& bestns, bool* flawedNSSet, unsigned int depth, const string& prefix, set& beenthere, const boost::optional& cutOffDomain = boost::none); + void getBestNSFromCache(const DNSName& qname, QType qtype, vector& bestns, bool* flawedNSSet, unsigned int depth, const string& prefix, set& beenthere, const std::optional& cutOffDomain = std::nullopt); DNSName getBestNSNamesFromCache(const DNSName& qname, QType qtype, NsSet& nsset, bool* flawedNSSet, unsigned int depth, const string& prefix, set& beenthere); vector> shuffleInSpeedOrder(const DNSName& qname, NsSet& nameservers, const string& prefix); @@ -685,14 +685,14 @@ private: This is unfortunately needed to deal with very crappy so-called DNS servers */ void fixupAnswer(const std::string& prefix, LWResult& lwr, const DNSName& qname, QType qtype, const DNSName& auth, bool wasForwarded, bool rdQuery); void rememberParentSetIfNeeded(const DNSName& domain, const vector& newRecords, unsigned int depth, const string& prefix); - RCode::rcodes_ updateCacheFromRecords(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, QType qtype, const DNSName& auth, bool wasForwarded, const boost::optional&, vState& state, bool& needWildcardProof, bool& gatherWildcardProof, unsigned int& wildcardLabelsCount, bool sendRDQuery, const ComboAddress& remoteIP, bool overTCP); + RCode::rcodes_ updateCacheFromRecords(unsigned int depth, const string& prefix, LWResult& lwr, const DNSName& qname, QType qtype, const DNSName& auth, bool wasForwarded, const std::optional&, vState& state, bool& needWildcardProof, bool& gatherWildcardProof, unsigned int& wildcardLabelsCount, bool sendRDQuery, const ComboAddress& remoteIP, bool overTCP); bool processRecords(const std::string& prefix, const DNSName& qname, QType qtype, const DNSName& auth, LWResult& lwr, bool sendRDQuery, vector& ret, set& nsset, DNSName& newtarget, DNSName& newauth, bool& realreferral, bool& negindic, vState& state, bool needWildcardProof, bool gatherwildcardProof, unsigned int wildcardLabelsCount, int& rcode, bool& negIndicHasSignatures, unsigned int depth); bool doSpecialNamesResolve(const DNSName& qname, QType qtype, QClass qclass, vector& ret); - LWResult::Result asyncresolveWrapper(const OptLog& log, const ComboAddress& address, bool ednsMANDATORY, const DNSName& domain, const DNSName& auth, int type, bool doTCP, bool sendRDQuery, struct timeval* now, boost::optional& srcmask, LWResult* res, bool* chained, const DNSName& nsName) const; + LWResult::Result asyncresolveWrapper(const OptLog& log, const ComboAddress& address, bool ednsMANDATORY, const DNSName& domain, const DNSName& auth, int type, bool doTCP, bool sendRDQuery, struct timeval* now, std::optional& srcmask, LWResult* res, bool* chained, const DNSName& nsName) const; - boost::optional getEDNSSubnetMask(const DNSName& name, const ComboAddress& rem); + std::optional getEDNSSubnetMask(const DNSName& name, const ComboAddress& rem); static bool validationEnabled(); uint32_t computeLowestTTD(const std::vector& records, const MemRecursorCache::SigRecsVec& signatures, uint32_t signaturesTTL, const MemRecursorCache::AuthRecsVec& authorityRecs) const; @@ -734,7 +734,7 @@ private: zonesStates_t d_cutStates; ostringstream d_trace; shared_ptr d_pdl; - boost::optional d_outgoingECSNetwork; + std::optional d_outgoingECSNetwork; std::shared_ptr>> d_outgoingProtobufServers; std::shared_ptr>> d_frameStreamServers; boost::optional d_initialRequestId; diff --git a/pdns/recursordist/test-aggressive_nsec_cc.cc b/pdns/recursordist/test-aggressive_nsec_cc.cc index fdd843d05f..f9d98c88e7 100644 --- a/pdns/recursordist/test-aggressive_nsec_cc.cc +++ b/pdns/recursordist/test-aggressive_nsec_cc.cc @@ -57,7 +57,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_nxdomain) size_t queriesCount = 0; - sr->setAsyncCallback([target1, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target1, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -153,7 +153,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_nodata) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -239,7 +239,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_nodata_wildcard) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -251,7 +251,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_nodata_wildcard) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* the name does not exist, a wildcard applies but does not have this type */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("z.powerdns.com."), {QType::TXT, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } else if (domain == DNSName("com.")) { @@ -283,7 +283,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_nodata_wildcard) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* the name does not exist, a wildcard applies but does not have this type */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("z.powerdns.com."), {QType::TXT, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } } @@ -332,7 +332,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_ancestor) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -446,7 +446,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_wildcard_synthesis) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -458,7 +458,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_wildcard_synthesis) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* the name does not exist, a wildcard applies and have the requested type but no DS */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("z.powerdns.com."), {QType::A, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } else if (domain == DNSName("com.")) { @@ -486,10 +486,10 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_wildcard_synthesis) if (type == QType::A) { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.1"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* the name does not exist, a wildcard applies and has the requested type */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("z.powerdns.com."), {QType::A, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } else if (type == QType::TXT) { @@ -498,7 +498,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_wildcard_synthesis) addRecordToLW(res, DNSName("powerdns.com."), QType::SOA, "powerdns.com. powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY); addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("z.powerdns.com."), {QType::A, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } } @@ -563,7 +563,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_nxdomain) size_t queriesCount = 0; - sr->setAsyncCallback([target1, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target1, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -666,13 +666,13 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_nodata) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { if (domain != DNSName("powerdns.com.") && domain.isPartOf(DNSName("powerdns.com."))) { /* no cut, NSEC3 */ - return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, false, boost::none, true); + return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, false, std::nullopt, true); } else if (domain == DNSName("com.")) { /* no cut */ @@ -753,7 +753,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_nodata_wildcard) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -771,7 +771,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_nodata_wildcard) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* a wildcard applies but does not have this type */ addNSEC3UnhashedRecordToLW(DNSName("*.powerdns.com."), DNSName("powerdns.com."), "whatever", {QType::TXT, QType::RRSIG}, 600, res->d_records, 10); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } else if (domain == DNSName("com.")) { @@ -809,7 +809,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_nodata_wildcard) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* a wildcard applies but does not have this type */ addNSEC3NoDataNarrowRecordToLW(DNSName("*.powerdns.com."), DNSName("powerdns.com."), {QType::TXT, QType::RRSIG}, 600, res->d_records, 10); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } } @@ -858,7 +858,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_ancestor) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -978,7 +978,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_wildcard_synthesis) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -996,7 +996,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_wildcard_synthesis) addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* a wildcard applies but does not have this type */ addNSEC3UnhashedRecordToLW(DNSName("*.powerdns.com."), DNSName("powerdns.com."), "whatever", {QType::A, QType::RRSIG}, 600, res->d_records, 10); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } else if (domain == DNSName("com.")) { @@ -1024,7 +1024,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_wildcard_synthesis) if (type == QType::A) { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.1"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* no need for the closest encloser since we have a positive answer expanded from a wildcard */ /* the next closer */ addNSEC3UnhashedRecordToLW(DNSName("+.powerdns.com."), DNSName("powerdns.com."), "v", {QType::RRSIG}, 600, res->d_records, 10); @@ -1322,7 +1322,7 @@ static bool getDenialWrapper(std::unique_ptr& cache, time_t std::vector results; pdns::validation::ValidationContext validationContext; validationContext.d_nsec3IterationsRemainingQuota = std::numeric_limits::max(); - bool found = cache->getDenial(now, name, qtype, results, res, ComboAddress("192.0.2.1"), boost::none, true, validationContext); + bool found = cache->getDenial(now, name, qtype, results, res, ComboAddress("192.0.2.1"), std::nullopt, true, validationContext); if (expectedResult) { BOOST_CHECK_EQUAL(res, *expectedResult); } @@ -1355,7 +1355,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_rollover) drSOA.d_place = DNSResourceRecord::ANSWER; records.push_back(drSOA); - g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, boost::none, boost::none, vState::Secure); + g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, std::nullopt, std::nullopt, vState::Secure); BOOST_CHECK_EQUAL(g_recCache->size(), 1U); std::string oldSalt = "ab"; @@ -1472,7 +1472,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec_ancestor_cases) drSOA.d_place = DNSResourceRecord::ANSWER; records.push_back(drSOA); - g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, boost::none, boost::none, vState::Secure); + g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, std::nullopt, std::nullopt, vState::Secure); BOOST_CHECK_EQUAL(g_recCache->size(), 1U); { @@ -1630,7 +1630,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_nsec3_ancestor_cases) drSOA.d_place = DNSResourceRecord::ANSWER; records.push_back(drSOA); - g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, boost::none, boost::none, vState::Secure); + g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, std::nullopt, std::nullopt, vState::Secure); BOOST_CHECK_EQUAL(g_recCache->size(), 1U); const std::string salt("ab"); @@ -1950,7 +1950,7 @@ BOOST_AUTO_TEST_CASE(test_aggressive_max_nsec3_hash_cost) drSOA.d_place = DNSResourceRecord::ANSWER; records.push_back(drSOA); - g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, boost::none, boost::none, vState::Secure); + g_recCache->replace(now, zone, QType(QType::SOA), records, {}, {}, true, zone, std::nullopt, std::nullopt, vState::Secure); BOOST_CHECK_EQUAL(g_recCache->size(), 1U); auto insertNSEC3s = [zone, now](std::unique_ptr& cache, const std::string& salt, unsigned int iterationsCount) -> void { diff --git a/pdns/recursordist/test-recpacketcache_cc.cc b/pdns/recursordist/test-recpacketcache_cc.cc index 1d0b9e66bb..2dbd6c0109 100644 --- a/pdns/recursordist/test-recpacketcache_cc.cc +++ b/pdns/recursordist/test-recpacketcache_cc.cc @@ -47,16 +47,16 @@ BOOST_AUTO_TEST_CASE(test_recPacketCacheSimple) pw.commit(); string rpacket((const char*)&packet[0], packet.size()); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); rpc.doPruneTo(now, 0); BOOST_CHECK_EQUAL(rpc.size(), 0U); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); rpc.doWipePacketCache(qname); BOOST_CHECK_EQUAL(rpc.size(), 0U); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); uint32_t qhash2 = 0; bool found = rpc.getResponsePacket(tag, qpacket, now, &fpacket, &age, &qhash2); @@ -117,7 +117,7 @@ BOOST_AUTO_TEST_CASE(test_recPacketCacheSimpleWithRefresh) pw.commit(); string rpacket((const char*)&packet[0], packet.size()); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), now, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); uint32_t qhash2 = 0; bool found = rpc.getResponsePacket(tag, qpacket, qname, QType::A, QClass::IN, now, &fpacket, &age, &qhash2); @@ -177,17 +177,17 @@ BOOST_AUTO_TEST_CASE(test_recPacketCacheSimplePost2038) pw.commit(); string rpacket((const char*)&packet[0], packet.size()); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); rpc.doPruneTo(time(nullptr), 0); BOOST_CHECK_EQUAL(rpc.size(), 0U); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); rpc.doWipePacketCache(qname); BOOST_CHECK_EQUAL(rpc.size(), 0U); - rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag, qhash, string(qpacket), qname, QType::A, QClass::IN, string(rpacket), future, ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); uint32_t qhash2 = 0; bool found = rpc.getResponsePacket(tag, qpacket, future, &fpacket, &age, &qhash2); @@ -276,11 +276,11 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_Tags) BOOST_CHECK(r1packet != r2packet); /* inserting a response for tag1 */ - rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); /* inserting a different response for tag2, should not override the first one */ - rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* remove all responses from the cache */ @@ -288,10 +288,10 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_Tags) BOOST_CHECK_EQUAL(rpc.size(), 0U); /* reinsert both */ - rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); - rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* remove the responses by qname, should remove both */ @@ -299,7 +299,7 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_Tags) BOOST_CHECK_EQUAL(rpc.size(), 0U); /* insert the response for tag1 */ - rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag1, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); /* we can retrieve it */ @@ -318,7 +318,7 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_Tags) BOOST_CHECK_EQUAL(temphash, qhash); /* adding a response for the second tag */ - rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(tag2, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* We still get the correct response for the first tag */ @@ -389,11 +389,11 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_TCP) BOOST_CHECK(r1packet != r2packet); /* inserting a response for udp */ - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); /* inserting a different response for tcp, should not override the first one */ - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, true); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, true); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* remove all responses from the cache */ @@ -401,10 +401,10 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_TCP) BOOST_CHECK_EQUAL(rpc.size(), 0U); /* reinsert both */ - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 1U); - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, true); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, true); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* remove the responses by qname, should remove both */ @@ -412,7 +412,7 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_TCP) BOOST_CHECK_EQUAL(rpc.size(), 0U); /* insert the response for tcp */ - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, boost::none, true); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r1packet), time(0), ttd, vState::Indeterminate, std::nullopt, true); BOOST_CHECK_EQUAL(rpc.size(), 1U); vState vState; @@ -432,7 +432,7 @@ BOOST_AUTO_TEST_CASE(test_recPacketCache_TCP) BOOST_CHECK_EQUAL(temphash, qhash); /* adding a response for udp */ - rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, boost::none, false); + rpc.insertResponsePacket(0, qhash, string(qpacket), qname, QType::A, QClass::IN, string(r2packet), time(0), ttd, vState::Indeterminate, std::nullopt, false); BOOST_CHECK_EQUAL(rpc.size(), 2U); /* We get the correct response for udp now */ diff --git a/pdns/recursordist/test-recursorcache_cc.cc b/pdns/recursordist/test-recursorcache_cc.cc index 073beac613..1a04d22a3e 100644 --- a/pdns/recursordist/test-recursorcache_cc.cc +++ b/pdns/recursordist/test-recursorcache_cc.cc @@ -40,7 +40,7 @@ static void simple(time_t now) records.push_back(dr0); BOOST_CHECK_EQUAL(MRC.size(), 0U); - MRC.replace(now, DNSName("hello"), QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, DNSName("hello"), QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_GT(MRC.bytes(), 1U); BOOST_CHECK_EQUAL(MRC.doWipeCache(DNSName("hello"), false, QType::A), 1U); @@ -53,10 +53,10 @@ static void simple(time_t now) DNSName a = DNSName("hello ") + DNSName(std::to_string(counter)); BOOST_CHECK_EQUAL(DNSName(a.toString()), a); - MRC.replace(now, a, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, a, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); if (!MRC.doWipeCache(a, false)) BOOST_FAIL("Could not remove entry we just added to the cache!"); - MRC.replace(now, a, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, a, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); } BOOST_CHECK_EQUAL(MRC.size(), counter); @@ -108,7 +108,7 @@ static void simple(time_t now) // insert a subnet specific entry records.clear(); records.push_back(dr1); - MRC.replace(now, power, QType(QType::AAAA), records, signatures, authRecords, true, authZone, boost::optional("192.0.2.1/25")); + MRC.replace(now, power, QType(QType::AAAA), records, signatures, authRecords, true, authZone, std::optional("192.0.2.1/25")); BOOST_CHECK_EQUAL(MRC.size(), 1U); // subnet specific should be returned for a matching subnet @@ -127,7 +127,7 @@ static void simple(time_t now) // insert a NON-subnet specific entry records.clear(); records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); // NON-subnet specific should always be returned @@ -138,14 +138,14 @@ static void simple(time_t now) // insert a subnet specific entry for the same name but a different QType records.clear(); records.push_back(dr1); - MRC.replace(now, power, QType(QType::AAAA), records, signatures, authRecords, true, authZone, boost::optional("192.0.2.1/25")); + MRC.replace(now, power, QType(QType::AAAA), records, signatures, authRecords, true, authZone, std::optional("192.0.2.1/25")); // we should not have replaced the existing entry BOOST_CHECK_EQUAL(MRC.size(), 2U); // insert a TXT one, we will use that later records.clear(); records.push_back(dr1); - MRC.replace(now, power, QType(QType::TXT), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, power, QType(QType::TXT), records, signatures, authRecords, true, authZone, std::nullopt); // we should not have replaced any existing entry BOOST_CHECK_EQUAL(MRC.size(), 3U); @@ -230,7 +230,7 @@ static void simple(time_t now) // insert auth record records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1")), (ttd - now)); BOOST_CHECK_EQUAL(retrieved.size(), 1U); @@ -252,14 +252,14 @@ static void simple(time_t now) records.push_back(dr3); // non-auth should not replace valid auth - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1")), (ttd - now)); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr2Content.toString()); // but non-auth _should_ replace expired auth - MRC.replace(ttd + 1, power, QType(QType::A), records, signatures, authRecords, false, authZone, boost::none); + MRC.replace(ttd + 1, power, QType(QType::A), records, signatures, authRecords, false, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.get(ttd + 1, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1")), (dr3.d_ttl - (ttd + 1))); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); @@ -268,7 +268,7 @@ static void simple(time_t now) // non-auth should replace non-auth records.clear(); records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); // let's first check that non-auth is not returned when we need authoritative data BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::RequireAuth, &retrieved, ComboAddress("127.0.0.1")), -1); @@ -283,20 +283,20 @@ static void simple(time_t now) // insert Secure record records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none, boost::none, vState::Secure); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt, std::nullopt, vState::Secure); BOOST_CHECK_EQUAL(MRC.size(), 1U); vState retrievedState = vState::Indeterminate; bool wasAuth = false; - BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), boost::none, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), (ttd - now)); + BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), std::nullopt, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), (ttd - now)); BOOST_CHECK_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(vStateToString(retrievedState), vStateToString(vState::Secure)); BOOST_CHECK_EQUAL(wasAuth, true); // try to replace that with a Bogus record - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none, boost::none, vState::BogusNoRRSIG); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt, std::nullopt, vState::BogusNoRRSIG); BOOST_CHECK_EQUAL(MRC.size(), 1U); retrievedState = vState::Indeterminate; wasAuth = false; - BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), boost::none, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), (ttd - now)); + BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), std::nullopt, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), (ttd - now)); BOOST_CHECK_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(vStateToString(retrievedState), vStateToString(vState::Secure)); BOOST_CHECK_EQUAL(wasAuth, true); @@ -311,7 +311,7 @@ static void simple(time_t now) // insert an entry for 192.0.0.1/8 records.clear(); records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::optional("192.0.0.1/8")); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::optional("192.0.0.1/8")); BOOST_CHECK_EQUAL(MRC.size(), 1U); /* same as dr2 except for the actual IP */ @@ -327,14 +327,14 @@ static void simple(time_t now) // insert another entry but for 192.168.0.1/31 records.clear(); records.push_back(dr4); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::optional("192.168.0.1/31")); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::optional("192.168.0.1/31")); // we should not have replaced any existing entry BOOST_CHECK_EQUAL(MRC.size(), 2U); // insert the same than the first one but for 192.168.0.2/32 records.clear(); records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::optional("192.168.0.2/32")); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::optional("192.168.0.2/32")); // we should not have replaced any existing entry BOOST_CHECK_EQUAL(MRC.size(), 3U); @@ -351,7 +351,7 @@ static void simple(time_t now) // insert an entry for 192.0.0.1/8, non auth records.clear(); records.push_back(dr2); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, boost::optional("192.0.0.1/8")); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, false, authZone, std::optional("192.0.0.1/8")); BOOST_CHECK_EQUAL(MRC.size(), 1U); // we should not get it when we need authoritative data @@ -417,7 +417,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheBig) } // This one should fit - MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, boost::none); + MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::AAAA), MemRecursorCache::None, &retrieved, ComboAddress()), (ttd - now)); BOOST_CHECK_EQUAL(retrieved.size(), MemRecursorCache::s_maxRRSetSize); @@ -425,7 +425,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheBig) dr0.setContent(std::make_shared(dr0Content + std::to_string(MemRecursorCache::s_maxRRSetSize))); records.push_back(dr0); // This one is too large and should throw exception - MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, boost::none); + MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_THROW((void)MRC.get(now, power, QType(QType::AAAA), MemRecursorCache::None, &retrieved, ComboAddress()), @@ -433,7 +433,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheBig) records.resize(1); // This one should fit again - MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, boost::none); + MRC.replace(now, power, QType::AAAA, records, {}, {}, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::AAAA), MemRecursorCache::None, &retrieved, ComboAddress()), (ttd - now)); BOOST_CHECK_EQUAL(retrieved.size(), 1U); @@ -463,7 +463,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheGhost) ns1.d_ttl = static_cast(ttd); // XXX truncation ns1.d_place = DNSResourceRecord::ANSWER; records.push_back(ns1); - MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("powerdns.com."), boost::none); + MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("powerdns.com."), std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); /* try to raise the TTL, simulating the delegated authoritative server @@ -471,7 +471,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheGhost) records.clear(); ns1.d_ttl = static_cast(ttd + 3600); // XXX truncation records.push_back(ns1); - MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("ghost.powerdns.com."), boost::none); + MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("ghost.powerdns.com."), std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); /* the TTL should not have been raised */ @@ -507,7 +507,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheReplaceAuthByNonAuthMargin) ns1.d_ttl = static_cast(ttd); // XXX truncation ns1.d_place = DNSResourceRecord::ANSWER; records.push_back(ns1); - MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("powerdns.com."), boost::none); + MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, true, DNSName("powerdns.com."), std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); // Record will expire soon so we should hit the 5s margin, replace by non-auth data should succeed @@ -517,7 +517,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheReplaceAuthByNonAuthMargin) records.clear(); records.push_back(ns1); - MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, false, DNSName("powerdns.com."), boost::none); + MRC.replace(now, ns1.d_name, QType(ns1.d_type), records, signatures, authRecords, false, DNSName("powerdns.com."), std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); // Let time pass, if we did not insert the non-auth record, it will be expired @@ -568,10 +568,10 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingExpiredEntries) /* insert both entries */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); records.push_back(dr2); - MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); @@ -584,11 +584,11 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingExpiredEntries) /* the remaining entry should be power2, but to get it we need to go back in the past a bit */ - BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), 1); + BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), 1); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr2Content.toString()); /* check that power1 is gone */ - BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); /* clear everything up */ MRC.doWipeCache(DNSName("."), true); @@ -597,15 +597,15 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingExpiredEntries) /* insert both entries back */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); records.push_back(dr2); - MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); /* trigger a miss (expired) for power2 */ - BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); /* power2 should have been moved to the front of the expunge queue, and should this time be removed first */ @@ -617,11 +617,11 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingExpiredEntries) /* the remaining entry should be power1, but to get it we need to go back in the past a bit */ - BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), 1); + BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), 1); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr1Content.toString()); /* check that power2 is gone */ - BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(ttd - 1, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); } BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) @@ -663,10 +663,10 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) /* insert both entries */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); records.push_back(dr2); - MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); @@ -677,11 +677,11 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) BOOST_CHECK_EQUAL(MRC.size(), 1U); /* the remaining entry should be power2 */ - BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), ttd - now); + BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), ttd - now); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr2Content.toString()); /* check that power1 is gone */ - BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); /* clear everything up */ MRC.doWipeCache(DNSName("."), true); @@ -690,16 +690,16 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) /* insert both entries back */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); records.push_back(dr2); - MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); /* replace the entry for power1 */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); @@ -711,11 +711,11 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) BOOST_CHECK_EQUAL(MRC.size(), 1U); /* the remaining entry should be power1 */ - BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), ttd - now); + BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), ttd - now); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr1Content.toString()); /* check that power2 is gone */ - BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); /* clear everything up */ MRC.doWipeCache(DNSName("."), true); @@ -724,15 +724,15 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) /* insert both entries back */ records.push_back(dr1); - MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power1, QType(dr1.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); records.push_back(dr2); - MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, boost::none); + MRC.replace(now, power2, QType(dr2.d_type), records, signatures, authRecs, true, authZone, std::nullopt); records.clear(); BOOST_CHECK_EQUAL(MRC.size(), 2U); /* get a hit for power1 */ - BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), ttd - now); + BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), ttd - now); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr1Content.toString()); @@ -743,11 +743,11 @@ BOOST_AUTO_TEST_CASE(test_RecursorCache_ExpungingValidEntries) BOOST_CHECK_EQUAL(MRC.size(), 1U); /* the remaining entry should be power1 */ - BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), ttd - now); + BOOST_CHECK_EQUAL(MRC.get(now, power1, QType(dr1.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), ttd - now); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr1Content.toString()); /* check that power2 is gone */ - BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, boost::none, nullptr), -1); + BOOST_CHECK_EQUAL(MRC.get(now, power2, QType(dr2.d_type), MemRecursorCache::None, &retrieved, who, std::nullopt, nullptr), -1); MRC.doPrune(now, 0); BOOST_CHECK_EQUAL(MRC.size(), 0U); @@ -845,7 +845,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheECSIndex) /* insert a non-specific entry */ records.push_back(dr1); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.ecsIndexSize(), 0U); @@ -936,7 +936,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheECSIndex) /* insert a non-specific entry */ records.clear(); records.push_back(dr1); - MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, boost::none); + MRC.replace(now, power, QType(QType::A), records, signatures, authRecords, true, authZone, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.ecsIndexSize(), 0U); @@ -1090,8 +1090,8 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) BOOST_CHECK_EQUAL(MRC.size(), 0U); // An entry without edns subnet gets stored without tag as well - MRC.replace(ttd, DNSName("hello"), QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, boost::none); - MRC.replace(ttd, DNSName("hello"), QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, string("mytag")); + MRC.replace(ttd, DNSName("hello"), QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, std::nullopt); + MRC.replace(ttd, DNSName("hello"), QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, string("mytag")); BOOST_CHECK_EQUAL(MRC.size(), 1U); BOOST_CHECK_EQUAL(MRC.doWipeCache(DNSName("hello"), false, QType::A), 1U); BOOST_CHECK_EQUAL(MRC.size(), 0U); @@ -1106,8 +1106,8 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) DNSName a = DNSName("hello ") + DNSName(std::to_string(counter)); BOOST_CHECK_EQUAL(DNSName(a.toString()), a); - MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, string("mytagA")); - MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, string("mytagB")); + MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, string("mytagA")); + MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, string("mytagB")); // After this, we have untagged entries, since no address was specified for both replace calls } @@ -1118,7 +1118,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) int64_t expected = counter; for (counter = 0; counter < 110; counter++) { - if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, nobody, boost::none) > 0) { + if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, nobody, std::nullopt) > 0) { matches++; BOOST_CHECK_EQUAL(retrieved.size(), rset0.size()); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr0Content.toString()); @@ -1149,13 +1149,13 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) // Now insert some tagged entries for (counter = 0; counter < 50; ++counter) { DNSName a = DNSName("hello ") + DNSName(std::to_string(counter)); - MRC.replace(now, a, QType(QType::A), rset0tagged, signatures, authRecords, true, authZone, boost::optional("128.0.0.0/8"), string("mytagA")); + MRC.replace(now, a, QType(QType::A), rset0tagged, signatures, authRecords, true, authZone, std::optional("128.0.0.0/8"), string("mytagA")); } BOOST_CHECK_EQUAL(MRC.size(), 150U); matches = 0; for (counter = 0; counter < 110; counter++) { - if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, nobody, boost::none) > 0) { + if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, nobody, std::nullopt) > 0) { matches++; BOOST_CHECK_EQUAL(retrieved.size(), rset0.size()); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr0Content.toString()); @@ -1226,7 +1226,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) rset3.push_back(dr3); // insert a tagged entry - MRC.replace(now, power, QType(QType::A), rset1, signatures, authRecords, true, authZone, boost::optional("192.0.2.0/24"), string("mytag")); + MRC.replace(now, power, QType(QType::A), rset1, signatures, authRecords, true, authZone, std::optional("192.0.2.0/24"), string("mytag")); BOOST_CHECK_EQUAL(MRC.size(), 1U); // tagged specific should be returned for a matching tag @@ -1239,7 +1239,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) BOOST_CHECK_EQUAL(retrieved.size(), 0U); // insert a new entry without tag - MRC.replace(now, power, QType(QType::A), rset2, signatures, authRecords, true, authZone, boost::optional("192.0.3.0/24"), boost::none); + MRC.replace(now, power, QType(QType::A), rset2, signatures, authRecords, true, authZone, std::optional("192.0.3.0/24"), std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 2U); // tagged specific should be returned for a matching tag @@ -1248,28 +1248,28 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheTagged) BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr1Content.toString()); // if no tag given nothing should be retrieved if address doesn't match - BOOST_CHECK_LT(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), boost::none), 0); + BOOST_CHECK_LT(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("127.0.0.1"), std::nullopt), 0); BOOST_REQUIRE_EQUAL(retrieved.size(), 0U); // if no tag given and no-non-tagged entries matches nothing should be returned - BOOST_CHECK_LT(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.2.2"), boost::none), 0); + BOOST_CHECK_LT(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.2.2"), std::nullopt), 0); BOOST_REQUIRE_EQUAL(retrieved.size(), 0U); // Insert untagged entry with no netmask - MRC.replace(now, power, QType(QType::A), rset3, signatures, authRecords, true, authZone, boost::none, boost::none); + MRC.replace(now, power, QType(QType::A), rset3, signatures, authRecords, true, authZone, std::nullopt, std::nullopt); BOOST_CHECK_EQUAL(MRC.size(), 3U); // Retrieval with no address and no tag should get that one - BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress(), boost::none), (ttd - now)); + BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress(), std::nullopt), (ttd - now)); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr3Content.toString()); // If no tag given match non-tagged entry - BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.2.2"), boost::none), (ttd - now)); + BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.2.2"), std::nullopt), (ttd - now)); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr3Content.toString()); // If no tag given we should be able to retrieve the netmask specific record - BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.3.1"), boost::none), (ttd - now)); + BOOST_CHECK_EQUAL(MRC.get(now, power, QType(QType::A), MemRecursorCache::None, &retrieved, ComboAddress("192.0.3.1"), std::nullopt), (ttd - now)); BOOST_REQUIRE_EQUAL(retrieved.size(), 1U); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr2Content.toString()); @@ -1333,7 +1333,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheDumpAndRestore) DNSName a = DNSName("hello ") + DNSName(std::to_string(counter)); BOOST_CHECK_EQUAL(DNSName(a.toString()), a); - MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, boost::none, vState::Insecure, authAddress, false, ttl_time); + MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, std::nullopt, vState::Insecure, authAddress, false, ttl_time); } BOOST_CHECK_EQUAL(MRC.size(), expected); @@ -1349,7 +1349,7 @@ BOOST_AUTO_TEST_CASE(test_RecursorCacheDumpAndRestore) bool wasAuth = false; DNSName fromZone; MemRecursorCache::Extra extra; - if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, somebody, boost::none, &sigs, &authRecs, &variable, &state, &wasAuth, &fromZone, &extra) > 0) { + if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, somebody, std::nullopt, &sigs, &authRecs, &variable, &state, &wasAuth, &fromZone, &extra) > 0) { matches++; BOOST_CHECK_EQUAL(retrieved.size(), rset0.size()); BOOST_CHECK_EQUAL(getRR(retrieved.at(0))->getCA().toString(), dr0Content.toString()); @@ -1482,7 +1482,7 @@ struct RecordsSpeedTest DNSName a = DNSName("hello ") + DNSName(std::to_string(counter)); BOOST_CHECK_EQUAL(DNSName(a.toString()), a); - MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, boost::none, boost::none, vState::Insecure, MemRecursorCache::Extra{somebody, false}, false, ttl_time); + MRC.replace(now, a, QType(QType::A), rset0, signatures, authRecords, true, authZone, std::nullopt, std::nullopt, vState::Insecure, MemRecursorCache::Extra{somebody, false}, false, ttl_time); } BOOST_CHECK_EQUAL(MRC.size(), expected); @@ -1500,7 +1500,7 @@ struct RecordsSpeedTest bool wasAuth = false; DNSName fromZone; MemRecursorCache::Extra extra; - if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, somebody, boost::none, &sigs, &authRecs, &variable, &state, &wasAuth, &fromZone, &extra) > 0) { + if (MRC.get(now, DNSName("hello ") + DNSName(std::to_string(counter)), QType(QType::A), MemRecursorCache::None, &retrieved, somebody, std::nullopt, &sigs, &authRecs, &variable, &state, &wasAuth, &fromZone, &extra) > 0) { BOOST_CHECK_EQUAL(somebody.toString(), extra.d_address.toString()); BOOST_CHECK(!extra.d_tcp); matches++; diff --git a/pdns/recursordist/test-rpzloader_cc.cc b/pdns/recursordist/test-rpzloader_cc.cc index d1a9bf42f8..c97b97163b 100644 --- a/pdns/recursordist/test-rpzloader_cc.cc +++ b/pdns/recursordist/test-rpzloader_cc.cc @@ -108,7 +108,7 @@ BOOST_AUTO_TEST_CASE(load_rpz_ok) ::arg().set("max-generate-steps") = "1"; ::arg().set("max-include-depth") = "20"; auto zone = std::make_shared(); - auto soa = loadRPZFromFile(rpz, zone, boost::none, false, 3600); + auto soa = loadRPZFromFile(rpz, zone, std::nullopt, false, 3600); unlink(rpz.c_str()); BOOST_CHECK_EQUAL(soa->d_st.serial, 1U); @@ -137,7 +137,7 @@ BOOST_AUTO_TEST_CASE(load_rpz_dups) ::arg().set("max-include-depth") = "20"; auto zone = std::make_shared(); - BOOST_CHECK_THROW(loadRPZFromFile(rpz, zone, boost::none, false, 3600), + BOOST_CHECK_THROW(loadRPZFromFile(rpz, zone, std::nullopt, false, 3600), std::runtime_error); unlink(rpz.c_str()); } @@ -163,7 +163,7 @@ BOOST_AUTO_TEST_CASE(load_rpz_dups_allow) ::arg().set("max-include-depth") = "20"; auto zone = std::make_shared(); zone->setIgnoreDuplicates(true); - auto soa = loadRPZFromFile(rpz, zone, boost::none, false, 3600); + auto soa = loadRPZFromFile(rpz, zone, std::nullopt, false, 3600); unlink(rpz.c_str()); BOOST_CHECK_EQUAL(soa->d_st.serial, 1000000000U); BOOST_CHECK_EQUAL(zone->getDomain(), DNSName(".")); diff --git a/pdns/recursordist/test-syncres_cc.cc b/pdns/recursordist/test-syncres_cc.cc index d5eb90b680..c5565ff8ad 100644 --- a/pdns/recursordist/test-syncres_cc.cc +++ b/pdns/recursordist/test-syncres_cc.cc @@ -62,7 +62,7 @@ void RecursorLua4::getFeatures(Features& /* features */) { } -LWResult::Result asyncresolve(const OptLog& /* log */, const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, const std::shared_ptr>>& /* outgoingLoggers */, const std::shared_ptr>>& /* fstrmLoggers */, const std::set& /* exportTypes */, LWResult* /* res */, bool* /* chained */) +LWResult::Result asyncresolve(const OptLog& /* log */, const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, const std::shared_ptr>>& /* outgoingLoggers */, const std::shared_ptr>>& /* fstrmLoggers */, const std::set& /* exportTypes */, LWResult* /* res */, bool* /* chained */) { return LWResult::Result::Timeout; } @@ -300,7 +300,7 @@ bool isRootServer(const ComboAddress& ip) return false; } -void computeRRSIG(const DNSSECPrivateKey& dpk, const DNSName& signer, const DNSName& signQName, uint16_t signQType, uint32_t signTTL, uint32_t sigValidity, RRSIGRecordContent& rrc, const sortedRecords_t& toSign, boost::optional algo, boost::optional inception, boost::optional now) +void computeRRSIG(const DNSSECPrivateKey& dpk, const DNSName& signer, const DNSName& signQName, uint16_t signQType, uint32_t signTTL, uint32_t sigValidity, RRSIGRecordContent& rrc, const sortedRecords_t& toSign, std::optional algo, std::optional inception, std::optional now) { if (!now) { now = time(nullptr); @@ -324,7 +324,7 @@ void computeRRSIG(const DNSSECPrivateKey& dpk, const DNSName& signer, const DNSN typedef std::unordered_map> testkeysset_t; -bool addRRSIG(const testkeysset_t& keys, std::vector& records, const DNSName& signer, uint32_t sigValidity, std::variant broken, boost::optional algo, boost::optional wildcard, boost::optional now) +bool addRRSIG(const testkeysset_t& keys, std::vector& records, const DNSName& signer, uint32_t sigValidity, std::variant broken, std::optional algo, std::optional wildcard, std::optional now) { if (records.empty()) { return false; @@ -365,7 +365,7 @@ bool addRRSIG(const testkeysset_t& keys, std::vector& records, const } RRSIGRecordContent rrc; - computeRRSIG(it->second.first, signer, wildcard ? *wildcard : name, type, ttl, sigValidity, rrc, recordcontents, algo, boost::none, now); + computeRRSIG(it->second.first, signer, wildcard ? *wildcard : name, type, ttl, sigValidity, rrc, recordcontents, algo, std::nullopt, now); if (auto* bval = std::get_if(&broken); bval != nullptr && *bval) { rrc.d_signature[0] ^= 42; } @@ -506,7 +506,7 @@ void generateKeyMaterial(const DNSName& name, unsigned int algo, uint8_t digest, dsAnchors[name].insert(keys[name].second); } -LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, DNSName auth, int type, const testkeysset_t& keys, bool proveCut, boost::optional now, bool nsec3, bool optOut) +LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, DNSName auth, int type, const testkeysset_t& keys, bool proveCut, std::optional now, bool nsec3, bool optOut) { if (type == QType::DS) { auth.chopOff(); @@ -514,7 +514,7 @@ LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, setLWResult(res, 0, true, false, true); if (addDS(domain, 300, res->d_records, keys, DNSResourceRecord::ANSWER)) { - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, now); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, now); } else { addRecordToLW(res, auth, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400", DNSResourceRecord::AUTHORITY, 86400); @@ -523,7 +523,7 @@ LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, const auto it = keys.find(auth); if (it != keys.cend()) { /* sign the SOA */ - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, now); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, now); /* add a NSEC denying the DS */ std::set types = {QType::RRSIG}; if (proveCut) { @@ -539,7 +539,7 @@ LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, addNSEC3UnhashedRecordToLW(domain, auth, next.toString(), types, 600, res->d_records, 10, optOut); } - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, now); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, now); } } @@ -549,7 +549,7 @@ LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, if (type == QType::DNSKEY) { setLWResult(res, 0, true, false, true); addDNSKEY(keys, domain, 300, res->d_records); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, now); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, now); return LWResult::Result::Success; } diff --git a/pdns/recursordist/test-syncres_cc.hh b/pdns/recursordist/test-syncres_cc.hh index 4c67da23b1..279453816f 100644 --- a/pdns/recursordist/test-syncres_cc.hh +++ b/pdns/recursordist/test-syncres_cc.hh @@ -44,11 +44,11 @@ void addRecordToLW(LWResult* res, const std::string& name, uint16_t type, const bool isRootServer(const ComboAddress& ip); -void computeRRSIG(const DNSSECPrivateKey& dpk, const DNSName& signer, const DNSName& signQName, uint16_t signQType, uint32_t signTTL, uint32_t sigValidity, RRSIGRecordContent& rrc, const sortedRecords_t& toSign, boost::optional algo = boost::none, boost::optional inception = boost::none, boost::optional now = boost::none); +void computeRRSIG(const DNSSECPrivateKey& dpk, const DNSName& signer, const DNSName& signQName, uint16_t signQType, uint32_t signTTL, uint32_t sigValidity, RRSIGRecordContent& rrc, const sortedRecords_t& toSign, std::optional algo = std::nullopt, std::optional inception = std::nullopt, std::optional now = std::nullopt); typedef std::unordered_map> testkeysset_t; -bool addRRSIG(const testkeysset_t& keys, std::vector& records, const DNSName& signer, uint32_t sigValidity, std::variant broken = false, boost::optional algo = boost::none, boost::optional wildcard = boost::none, boost::optional now = boost::none); +bool addRRSIG(const testkeysset_t& keys, std::vector& records, const DNSName& signer, uint32_t sigValidity, std::variant broken = false, std::optional algo = std::nullopt, std::optional wildcard = std::nullopt, std::optional now = std::nullopt); void addDNSKEY(const testkeysset_t& keys, const DNSName& signer, uint32_t ttl, std::vector& records); @@ -71,6 +71,6 @@ void generateKeyMaterial(const DNSName& name, unsigned int algo, uint8_t digest, void generateKeyMaterial(const DNSName& name, unsigned int algo, uint8_t digest, testkeysset_t& keys, map& dsAnchors); -LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, DNSName auth, int type, const testkeysset_t& keys, bool proveCut = true, boost::optional now = boost::none, bool nsec3 = false, bool optOut = false); +LWResult::Result genericDSAndDNSKEYHandler(LWResult* res, const DNSName& domain, DNSName auth, int type, const testkeysset_t& keys, bool proveCut = true, std::optional now = std::nullopt, bool nsec3 = false, bool optOut = false); LWResult::Result basicRecordsForQnameMinimization(LWResult* res, const DNSName& domain, int type); diff --git a/pdns/recursordist/test-syncres_cc1.cc b/pdns/recursordist/test-syncres_cc1.cc index 4fc9aa3d43..ec62d84ff0 100644 --- a/pdns/recursordist/test-syncres_cc1.cc +++ b/pdns/recursordist/test-syncres_cc1.cc @@ -50,7 +50,7 @@ BOOST_AUTO_TEST_CASE(test_root_primed_ns) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -85,7 +85,7 @@ BOOST_AUTO_TEST_CASE(test_root_not_primed) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == g_rootdnsname && type == QType::NS) { @@ -121,7 +121,7 @@ BOOST_AUTO_TEST_CASE(test_root_not_primed_and_no_response) then call getRootNS(), for which at least one of the root servers needs to answer. None will, so it should ServFail. */ - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { downServers.insert(address); return LWResult::Result::Timeout; }); @@ -145,7 +145,7 @@ BOOST_AUTO_TEST_CASE(test_root_ns_poison_resistance) primeHints(); const DNSName target("www.example.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (domain == g_rootdnsname && type == QType::NS) { setLWResult(res, 0, true, false, true); @@ -210,7 +210,7 @@ BOOST_AUTO_TEST_CASE(test_root_primed_ns_update) size_t queriesCount = 0; - auto asynccb = [&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + auto asynccb = [&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -265,7 +265,7 @@ static void test_edns_formerr_fallback_f(bool sample) size_t queriesWithEDNS = 0; size_t queriesWithoutEDNS = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool /* sendRDQuery */, int EDNS0Level, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool /* sendRDQuery */, int EDNS0Level, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (EDNS0Level != 0) { queriesWithEDNS++; noEDNSServer = address; @@ -323,7 +323,7 @@ BOOST_AUTO_TEST_CASE(test_edns_formerr_but_edns_enabled) size_t queriesWithoutEDNS = 0; std::set usedServers; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int type, bool /* doTCP */, bool /* sendRDQuery */, int EDNS0Level, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int type, bool /* doTCP */, bool /* sendRDQuery */, int EDNS0Level, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (EDNS0Level > 0) { queriesWithEDNS++; } @@ -368,7 +368,7 @@ BOOST_AUTO_TEST_CASE(test_meta_types) for (const auto qtype : invalidTypes) { size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -388,7 +388,7 @@ BOOST_AUTO_TEST_CASE(test_tc_fallback_to_tcp) std::unique_ptr sr; initSR(sr); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (!doTCP) { setLWResult(res, 0, false, true, false); return LWResult::Result::Success; @@ -417,7 +417,7 @@ BOOST_AUTO_TEST_CASE(test_tc_over_tcp) size_t tcpQueriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (!doTCP) { setLWResult(res, 0, true, true, false); return LWResult::Result::Success; @@ -452,7 +452,7 @@ BOOST_AUTO_TEST_CASE(test_all_nss_down) primeHints(); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -498,7 +498,7 @@ BOOST_AUTO_TEST_CASE(test_all_nss_network_error) primeHints(); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -546,7 +546,7 @@ BOOST_AUTO_TEST_CASE(test_all_nss_send_tc_then_garbage_over_tcp) std::set downServers; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool doTCP, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "lock-up.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -590,7 +590,7 @@ BOOST_AUTO_TEST_CASE(test_all_nss_send_garbage_over_udp) std::set downServers; size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "lock-up.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -634,7 +634,7 @@ BOOST_AUTO_TEST_CASE(test_regular_ns_send_refused) std::set downServers; size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "refused.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -686,7 +686,7 @@ BOOST_AUTO_TEST_CASE(test_forward_ns_send_refused) ad.d_servers = forwardedNSs; (*SyncRes::t_sstorage.domainmap)[target] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "refused.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -737,7 +737,7 @@ BOOST_AUTO_TEST_CASE(test_forward_ns_send_servfail) ad.d_servers = forwardedNSs; (*SyncRes::t_sstorage.domainmap)[DNSName("refused.")] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "refused.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -780,7 +780,7 @@ BOOST_AUTO_TEST_CASE(test_only_one_ns_up_resolving_itself_with_glue) DNSName target("www.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); if (domain == target) { @@ -834,7 +834,7 @@ BOOST_AUTO_TEST_CASE(test_os_limit_errors) primeHints(); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -890,7 +890,7 @@ BOOST_AUTO_TEST_CASE(test_glued_referral) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (domain != target) { return LWResult::Result::Timeout; @@ -938,7 +938,7 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -1006,7 +1006,7 @@ BOOST_AUTO_TEST_CASE(test_endless_glueless_referral) const DNSName target("powerdns.com."); size_t count = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -1055,7 +1055,7 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_aaaa_task) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -1141,7 +1141,7 @@ BOOST_AUTO_TEST_CASE(test_edns_subnet_by_domain) incomingECS.setSource(Netmask("192.0.2.128/32")); sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1151,7 +1151,7 @@ BOOST_AUTO_TEST_CASE(test_edns_subnet_by_domain) addRecordToLW(res, "a.gtld-servers.net.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); /* this one did not use the ECS info */ - srcmask = boost::none; + srcmask = std::nullopt; return LWResult::Result::Success; } @@ -1201,7 +1201,7 @@ BOOST_AUTO_TEST_CASE(test_edns_subnet_by_addr) incomingECS.setSource(Netmask("2001:DB8::FF/128")); sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { BOOST_REQUIRE(!srcmask); @@ -1253,7 +1253,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_use_requestor) // No incoming ECS data sr->setQuerySource(ComboAddress("192.0.2.127"), boost::none); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { BOOST_REQUIRE(!srcmask); @@ -1297,7 +1297,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_use_scope_zero) // No incoming ECS data, Requestor IP not in ecs-add-for sr->setQuerySource(ComboAddress("192.0.2.127"), boost::none); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { BOOST_REQUIRE(!srcmask); @@ -1342,7 +1342,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_honor_incoming_mask) incomingECS.setSource(Netmask("192.0.0.0/16")); sr->setQuerySource(ComboAddress("192.0.2.127"), boost::optional(incomingECS)); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { BOOST_REQUIRE(!srcmask); @@ -1387,7 +1387,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_honor_incoming_mask_zero) incomingECS.setSource(Netmask("0.0.0.0/0")); sr->setQuerySource(ComboAddress("192.0.2.127"), boost::optional(incomingECS)); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { BOOST_REQUIRE(!srcmask); @@ -1427,7 +1427,7 @@ BOOST_AUTO_TEST_CASE(test_following_cname) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1472,7 +1472,7 @@ BOOST_AUTO_TEST_CASE(test_following_cname_with_a) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1520,7 +1520,7 @@ BOOST_AUTO_TEST_CASE(test_following_cname_chain_with_a) const DNSName cnameTarget1("cname-target1.powerdns.com"); const DNSName cnameTarget("cname-target.powerdns.com"); - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1580,7 +1580,7 @@ BOOST_AUTO_TEST_CASE(test_following_cname_chain_with_rpz) const DNSName cnameTargeta("cname-targeta.powerdns.com"); const DNSName cnameTargetb("cname-targetb.powerdns.com"); - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1667,7 +1667,7 @@ BOOST_AUTO_TEST_CASE(test_cname_nxdomain) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "powerdns.com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1725,7 +1725,7 @@ BOOST_AUTO_TEST_CASE(test_included_poisonous_cname) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -1776,7 +1776,7 @@ BOOST_AUTO_TEST_CASE(test_cname_loop) size_t count = 0; const DNSName target("cname.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { count++; if (isRootServer(address)) { @@ -1834,7 +1834,7 @@ BOOST_AUTO_TEST_CASE(test_cname_loop_forwarder) ad.d_servers = forwardedNSs; (*SyncRes::t_sstorage.domainmap)[target] = ad; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { count++; if (isRootServer(address)) { @@ -1877,7 +1877,7 @@ BOOST_AUTO_TEST_CASE(test_cname_long_loop) const DNSName target3("cname3.powerdns.com."); const DNSName target4("cname4.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { count++; if (isRootServer(address)) { @@ -1947,7 +1947,7 @@ BOOST_AUTO_TEST_CASE(test_cname_long_step0_shortcut) const DNSName target3("cname3.powerdns.com."); const DNSName target4("cname4.powerdns.com."); - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int qtype, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int qtype, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { count++; if (domain == DNSName("com.")) { @@ -2053,7 +2053,7 @@ BOOST_AUTO_TEST_CASE(test_cname_length) size_t length = 0; const DNSName target("cname.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -2110,7 +2110,7 @@ BOOST_AUTO_TEST_CASE(test_cname_target_servfail) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - resolver->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(ipAddress)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -2153,7 +2153,7 @@ BOOST_AUTO_TEST_CASE(test_cname_target_servfail_servestale) const DNSName target("cname.powerdns.com."); const DNSName cnameTarget("cname-target.powerdns.com"); - resolver->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(ipAddress)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -2196,7 +2196,7 @@ BOOST_AUTO_TEST_CASE(test_time_limit) size_t queries = 0; const DNSName target("cname.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -2252,7 +2252,7 @@ BOOST_AUTO_TEST_CASE(test_dname_processing) size_t queries = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -2396,7 +2396,7 @@ BOOST_AUTO_TEST_CASE(test_dname_dnssec_secure) size_t queries = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; /* We don't use the genericDSAndDNSKEYHandler here, as it would deny names existing at the wrong level of the tree, due to the way computeZoneCuts works * As such, we need to do some more work to make the answers correct. @@ -2547,7 +2547,7 @@ BOOST_AUTO_TEST_CASE(test_dname_plus_ns_dnssec_secure) size_t queries = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (type == QType::DS || type == QType::DNSKEY) { @@ -2654,7 +2654,7 @@ BOOST_AUTO_TEST_CASE(test_dname_dnssec_insecure) size_t queries = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -2783,7 +2783,7 @@ BOOST_AUTO_TEST_CASE(test_dname_processing_no_CNAME) size_t queries = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -2874,7 +2874,7 @@ BOOST_AUTO_TEST_CASE(test_glued_referral_child_ns_set_wrong) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (domain != target) { return LWResult::Result::Timeout; diff --git a/pdns/recursordist/test-syncres_cc10.cc b/pdns/recursordist/test-syncres_cc10.cc index 848395f5b4..d13a28b6b5 100644 --- a/pdns/recursordist/test-syncres_cc10.cc +++ b/pdns/recursordist/test-syncres_cc10.cc @@ -20,7 +20,7 @@ BOOST_AUTO_TEST_CASE(test_outgoing_v4_only) int queries = 0; const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -73,7 +73,7 @@ BOOST_AUTO_TEST_CASE(test_outgoing_v4_only_no_A_in_delegation) int queries = 0; const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -112,7 +112,7 @@ BOOST_AUTO_TEST_CASE(test_outgoing_v6_only_no_AAAA_in_delegation) int queries = 0; const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -163,7 +163,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_skipped_cut_invalid_ds_denia size_t queriesCount = 0; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -292,7 +292,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_wrong_rrsig_fake_signer) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -405,7 +405,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_missing_soa) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -549,7 +549,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_missing_dnskey) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -677,7 +677,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_nxd_dnskey) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -805,7 +805,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_nxd_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -936,7 +936,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_dnskey_loop) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1033,7 +1033,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_ds_loop) size_t queriesCount = 0; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DNSKEY) { @@ -1041,7 +1041,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_ds_loop) } if (type == QType::DS) { if (domain == DNSName("www.powerdns.com.")) { - auto ret = genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, boost::none, false, false); + auto ret = genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, std::nullopt, false, false); for (auto& rec : res->d_records) { // We know the NSEC RRSIG for the DS is the only one if (rec.d_name == DNSName("www.powerdns.com") && rec.d_type == QType::RRSIG) { @@ -1165,7 +1165,7 @@ BOOST_AUTO_TEST_CASE(test_servestale) const int theTTL = 5; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(address) != downServers.end()) { downCount++; @@ -1301,7 +1301,7 @@ BOOST_AUTO_TEST_CASE(test_servestale_neg) const int theTTL = 5; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(address) != downServers.end()) { downCount++; @@ -1436,7 +1436,7 @@ BOOST_AUTO_TEST_CASE(test_servestale_neg_to_available) const int theTTL = 5; const int negTTL = 60; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(address) != downServers.end()) { downCount++; @@ -1579,7 +1579,7 @@ BOOST_AUTO_TEST_CASE(test_servestale_cname_to_nxdomain) const int theTTL = 5; const int negTTL = 60; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(address) != downServers.end()) { downCount++; @@ -1732,7 +1732,7 @@ BOOST_AUTO_TEST_CASE(test_servestale_cname_to_nodata) const time_t theTTL = 5; const time_t negTTL = 60; - sr->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& ipAddress, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(ipAddress) != downServers.end()) { downCount++; @@ -1880,7 +1880,7 @@ BOOST_AUTO_TEST_CASE(test_servestale_immediateservfail) const int theTTL = 5; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (downServers.find(address) != downServers.end()) { @@ -1954,7 +1954,7 @@ BOOST_AUTO_TEST_CASE(test_glued_referral_additional_update) const DNSName target1("powerdns.com."); const DNSName target2("pdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (domain != target1 && domain != target2) { return LWResult::Result::Timeout; @@ -2045,7 +2045,7 @@ BOOST_AUTO_TEST_CASE(test_glued_referral_additional_no_update_because_locked) const DNSName target1("powerdns.com."); const DNSName target2("pdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (domain != target1 && domain != target2) { return LWResult::Result::Timeout; @@ -2135,7 +2135,7 @@ BOOST_AUTO_TEST_CASE(test_locked_nonauth_update_to_auth) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { /* this will cause issue with qname minimization if we ever implement it */ if (domain != target) { return LWResult::Result::Timeout; diff --git a/pdns/recursordist/test-syncres_cc2.cc b/pdns/recursordist/test-syncres_cc2.cc index 750d3e80c6..ea66bc6408 100644 --- a/pdns/recursordist/test-syncres_cc2.cc +++ b/pdns/recursordist/test-syncres_cc2.cc @@ -20,7 +20,7 @@ static void do_test_referral_depth(bool limited) size_t queries = 0; const DNSName target("www.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -118,7 +118,7 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_loop) const DNSName target2("powerdns.org."); size_t queriesToNS = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesToNS++; if (isRootServer(address)) { @@ -184,7 +184,7 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_loop_with_nonresolving) const DNSName target2("powerdns.org."); size_t queriesToNS = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesToNS++; if (isRootServer(address)) { @@ -249,7 +249,7 @@ BOOST_AUTO_TEST_CASE(test_glueless_referral_with_non_resolving) size_t queryCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -343,7 +343,7 @@ BOOST_AUTO_TEST_CASE(test_cname_qperq) size_t queries = 0; const DNSName target("cname.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queries++; if (isRootServer(address)) { @@ -387,7 +387,7 @@ BOOST_AUTO_TEST_CASE(test_throttled_server) const ComboAddress ns("192.0.2.1:53"); size_t queriesToNS = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -473,7 +473,7 @@ BOOST_AUTO_TEST_CASE(test_dont_query_server) const ComboAddress ns("192.0.2.1:53"); size_t queriesToNS = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -517,7 +517,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust) const ComboAddress ns("192.0.2.1:53"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -582,7 +582,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_trust_specific) /* This time the root denies target1 with a "com." SOA instead of a "." one. We should add target1 to the negcache, but not "com.". */ - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -644,7 +644,7 @@ BOOST_AUTO_TEST_CASE(test_root_nx_dont_trust) const ComboAddress ns("192.0.2.1:53"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -707,7 +707,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath) const ComboAddress ns("192.0.2.1:53"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -816,7 +816,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nothing_underneath_dnssec) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -974,7 +974,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nodata) const ComboAddress ns("192.0.2.1:53"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -1048,7 +1048,7 @@ BOOST_AUTO_TEST_CASE(test_rfc8020_nodata_bis) const ComboAddress ns("192.0.2.1:53"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -1124,7 +1124,7 @@ BOOST_AUTO_TEST_CASE(test_dont_skip_negcache_for_variable_response) incomingECS.setSource(Netmask("192.0.2.128/32")); sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1133,7 +1133,7 @@ BOOST_AUTO_TEST_CASE(test_dont_skip_negcache_for_variable_response) addRecordToLW(res, "powerdns.com.", QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 172800); addRecordToLW(res, "pdns-public-ns1.powerdns.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); - srcmask = boost::none; + srcmask = std::nullopt; return LWResult::Result::Success; } @@ -1180,7 +1180,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_limit_allowed) sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); SyncRes::s_ecsipv4cachelimit = 24; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1219,7 +1219,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_limit_no_ttl_limit_allowed) sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); SyncRes::s_ecsipv4cachelimit = 16; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1258,7 +1258,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_allowed) sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); SyncRes::s_ecscachelimitttl = 30; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1298,7 +1298,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_and_scope_allowed) SyncRes::s_ecscachelimitttl = 100; SyncRes::s_ecsipv4cachelimit = 24; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1338,7 +1338,7 @@ BOOST_AUTO_TEST_CASE(test_ecs_cache_ttllimit_notallowed) SyncRes::s_ecscachelimitttl = 100; SyncRes::s_ecsipv4cachelimit = 16; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1374,7 +1374,7 @@ BOOST_AUTO_TEST_CASE(test_ns_speed) std::map nsCounts; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 172800); @@ -1486,7 +1486,7 @@ BOOST_AUTO_TEST_CASE(test_flawed_nsset) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 172800); @@ -1510,7 +1510,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); - g_recCache->replace(now, target, QType(QType::NS), records, sigs, {}, true, g_rootdnsname, boost::optional()); + g_recCache->replace(now, target, QType(QType::NS), records, sigs, {}, true, g_rootdnsname, std::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); @@ -1528,7 +1528,7 @@ BOOST_AUTO_TEST_CASE(test_completely_flawed_nsset) const DNSName target("powerdns.com."); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address) && domain == target) { @@ -1564,7 +1564,7 @@ BOOST_AUTO_TEST_CASE(test_completely_flawed_big_nsset) const DNSName target("powerdns.com."); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address) && domain == target) { @@ -1606,7 +1606,7 @@ BOOST_AUTO_TEST_CASE(test_cache_hit) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { return LWResult::Result::Timeout; }); @@ -1616,7 +1616,7 @@ BOOST_AUTO_TEST_CASE(test_cache_hit) std::vector> sigs; addRecordToList(records, target, QType::A, "192.0.2.1", DNSResourceRecord::ANSWER, now + 3600); - g_recCache->replace(now, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, boost::optional()); + g_recCache->replace(now, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, std::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); @@ -1636,7 +1636,7 @@ BOOST_AUTO_TEST_CASE(test_no_rd) sr->setCacheOnly(); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -1658,7 +1658,7 @@ BOOST_AUTO_TEST_CASE(test_cache_min_max_ttl) const DNSName target("cachettl.powerdns.com."); const ComboAddress ns("192.0.2.1:53"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); @@ -1716,7 +1716,7 @@ BOOST_AUTO_TEST_CASE(test_cache_min_max_ecs_ttl) sr->setQuerySource(ComboAddress(), boost::optional(incomingECS)); SyncRes::addEDNSDomain(target); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& srcmask, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { BOOST_REQUIRE(srcmask); BOOST_CHECK_EQUAL(srcmask->toString(), "192.0.2.0/24"); @@ -1725,7 +1725,7 @@ BOOST_AUTO_TEST_CASE(test_cache_min_max_ecs_ttl) setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); addRecordToLW(res, "a.gtld-servers.net.", QType::A, ns.toString(), DNSResourceRecord::ADDITIONAL, 20); - srcmask = boost::none; + srcmask = std::nullopt; return LWResult::Result::Success; } @@ -1780,7 +1780,7 @@ BOOST_AUTO_TEST_CASE(test_cache_expired_ttl) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 172800); @@ -1805,7 +1805,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); - g_recCache->replace(now - 3600, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, boost::optional()); + g_recCache->replace(now - 3600, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, std::optional()); vector ret; int res = sr->beginResolve(target, QType(QType::A), QClass::IN, ret); @@ -1825,7 +1825,7 @@ BOOST_AUTO_TEST_CASE(test_cache_almost_expired_ttl) const DNSName target("powerdns.com."); - auto callback = [&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + auto callback = [&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "pdns-public-ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 172800); @@ -1851,12 +1851,12 @@ BOOST_AUTO_TEST_CASE(test_cache_almost_expired_ttl) std::vector> sigs; addRecordToList(records, target, QType::A, "192.0.2.2", DNSResourceRecord::ANSWER, now + 29); - g_recCache->replace(now - 30, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, boost::optional(), boost::none, vState::Indeterminate, boost::none, false, now - 31); + g_recCache->replace(now - 30, target, QType(QType::A), records, sigs, {}, true, g_rootdnsname, std::optional(), std::nullopt, vState::Indeterminate, std::nullopt, false, now - 31); /* Same for the NS record */ std::vector ns; addRecordToList(ns, target, QType::NS, "pdns-public-ns1.powerdns.com", DNSResourceRecord::ANSWER, now + 29); - g_recCache->replace(now - 30, target, QType::NS, ns, sigs, {}, false, target, boost::optional(), boost::none, vState::Indeterminate, boost::none, false, now - 31); + g_recCache->replace(now - 30, target, QType::NS, ns, sigs, {}, false, target, std::optional(), std::nullopt, vState::Indeterminate, std::nullopt, false, now - 31); 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 5419a239ce..37404511bf 100644 --- a/pdns/recursordist/test-syncres_cc3.cc +++ b/pdns/recursordist/test-syncres_cc3.cc @@ -19,7 +19,7 @@ BOOST_AUTO_TEST_CASE(test_cache_auth) check that we only return one result, and we only cache one too. */ const DNSName target("cache-auth.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.2", DNSResourceRecord::ANSWER, 10); addRecordToLW(res, domain, QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 10); @@ -54,7 +54,7 @@ BOOST_AUTO_TEST_CASE(test_unauth_any) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -112,7 +112,7 @@ static void test_no_data_f(bool qmin) sr->setAsyncCallback( [&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, - struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, + struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); return LWResult::Result::Success; @@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(test_extra_answers) const DNSName target2("www2.powerdns.com."); // in bailiwick, but not asked for const DNSName target3("www.random.net."); // out of bailiwick and not asked for - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "powerdns.com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -207,7 +207,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_extra_answers) generateKeyMaterial(DNSName("powerdns.com"), DNSSEC::ECDSA256, DNSSEC::DIGEST_SHA256, keys, luaconfsCopy.dsAnchors); g_luaconfs.setState(luaconfsCopy); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (type == QType::DS || type == QType::DNSKEY) { return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, false); } @@ -264,7 +264,7 @@ BOOST_AUTO_TEST_CASE(test_skip_opt_any) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.42"); addRecordToLW(res, domain, QType::ANY, "\\# 0"); @@ -287,7 +287,7 @@ BOOST_AUTO_TEST_CASE(test_nodata_nsec_nodnssec) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); /* the NSEC and RRSIG contents are complete garbage, please ignore them */ @@ -312,7 +312,7 @@ BOOST_AUTO_TEST_CASE(test_nodata_nsec_dnssec) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); /* the NSEC and RRSIG contents are complete garbage, please ignore them */ @@ -337,7 +337,7 @@ BOOST_AUTO_TEST_CASE(test_nx_nsec_nodnssec) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, RCode::NXDomain, true, false, true); addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); /* the NSEC and RRSIG contents are complete garbage, please ignore them */ @@ -362,7 +362,7 @@ BOOST_AUTO_TEST_CASE(test_nx_nsec_dnssec) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, RCode::NXDomain, true, false, true); addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); /* the NSEC and RRSIG contents are complete garbage, please ignore them */ @@ -388,7 +388,7 @@ BOOST_AUTO_TEST_CASE(test_qclass_none) /* apart from special names and QClass::ANY, anything else than QClass::IN should be rejected right away */ size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -410,7 +410,7 @@ BOOST_AUTO_TEST_CASE(test_answer_no_aa) const DNSName target("powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.1"); return LWResult::Result::Success; @@ -427,7 +427,7 @@ BOOST_AUTO_TEST_CASE(test_answer_no_aa) const ComboAddress who; vector cached; MemRecursorCache::SigRecs signatures; - BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), MemRecursorCache::None, &cached, who, boost::none, &signatures), 0); + BOOST_REQUIRE_GT(g_recCache->get(now, target, QType(QType::A), MemRecursorCache::None, &cached, who, std::nullopt, &signatures), 0); } BOOST_AUTO_TEST_CASE(test_special_types) @@ -440,7 +440,7 @@ BOOST_AUTO_TEST_CASE(test_special_types) /* {A,I}XFR, RRSIG and NSEC3 should be rejected right away */ size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool doTCP, bool sendRDQuery, int EDNS0Level, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { cerr << "asyncresolve called to ask " << address.toStringWithPort() << " about " << domain.toString() << " / " << QType(type).toString() << " over " << (doTCP ? "TCP" : "UDP") << " (rd: " << sendRDQuery << ", EDNS0 level: " << EDNS0Level << ")" << endl; queriesCount++; return LWResult::Result::Timeout; @@ -480,7 +480,7 @@ BOOST_AUTO_TEST_CASE(test_special_names) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -603,7 +603,7 @@ BOOST_AUTO_TEST_CASE(test_nameserver_ipv4_rpz) const DNSName target("rpz.powerdns.com."); const ComboAddress ns("192.0.2.1:53"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, false, true, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -644,7 +644,7 @@ BOOST_AUTO_TEST_CASE(test_nameserver_ipv6_rpz) const DNSName target("rpz.powerdns.com."); const ComboAddress ns("[2001:DB8::42]:53"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -686,7 +686,7 @@ BOOST_AUTO_TEST_CASE(test_nameserver_name_rpz) const ComboAddress ns("192.0.2.1:53"); const DNSName nsName("ns1.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, nsName.toString(), DNSResourceRecord::AUTHORITY, 172800); @@ -728,7 +728,7 @@ BOOST_AUTO_TEST_CASE(test_nameserver_name_rpz_disabled) const ComboAddress ns("192.0.2.1:53"); const DNSName nsName("ns1.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address)) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, nsName.toString(), DNSResourceRecord::AUTHORITY, 172800); @@ -783,7 +783,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_nord) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { ++queriesCount; if (address == forwardedNS) { BOOST_CHECK_EQUAL(sendRDQuery, false); @@ -842,7 +842,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_rd) ad.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[target] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (address == forwardedNS) { @@ -893,7 +893,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_nord) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { ++queriesCount; if (address == forwardedNS) { BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -951,7 +951,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd) ad.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[target] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (address == forwardedNS) { BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -997,7 +997,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd_dnssec) ad.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[g_rootdnsname] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -1068,7 +1068,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_nord_dnssec) ad.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[DNSName("test.")] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; BOOST_CHECK_EQUAL(sendRDQuery, false); @@ -1170,7 +1170,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd_dnssec_bogus) ad.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[g_rootdnsname] = ad; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -1238,7 +1238,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd_dnssec_nodata_bogus) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -1301,7 +1301,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd_dnssec_cname_wildcard_expanded authDomain.d_servers.push_back(forwardedNS); (*SyncRes::t_sstorage.domainmap)[g_rootdnsname] = authDomain; - testSR->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + testSR->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool sendRDQuery, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; BOOST_CHECK_EQUAL(sendRDQuery, true); @@ -1320,7 +1320,7 @@ BOOST_AUTO_TEST_CASE(test_forward_zone_recurse_rd_dnssec_cname_wildcard_expanded addRecordToLW(res, target, QType::CNAME, cnameTarget.toString()); addRecordToLW(res, cnameTarget, QType::A, "192.0.2.1"); /* the RRSIG proves that the cnameTarget was expanded from a wildcard */ - addRRSIG(keys, res->d_records, cnameTarget, 300, false, boost::none, DNSName("*")); + addRRSIG(keys, res->d_records, cnameTarget, 300, false, std::nullopt, DNSName("*")); /* we need to add the proof that this name does not exist, so the wildcard may apply */ addNSECRecordToLW(DNSName("cnamd."), DNSName("cnamf."), {QType::A, QType::NSEC, QType::RRSIG}, 60, res->d_records); addRRSIG(keys, res->d_records, cnameTarget, 300); @@ -1371,7 +1371,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_oob) (*SyncRes::t_sstorage.domainmap)[authZone] = ad; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -1439,7 +1439,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_oob_cname) (*SyncRes::t_sstorage.domainmap)[authZone] = ad; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; }); @@ -1504,7 +1504,7 @@ BOOST_AUTO_TEST_CASE(test_auth_cname_to_oob_target) (*SyncRes::t_sstorage.domainmap)[authZone] = authDomain; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address) || domain == DNSName("com") || domain == DNSName("example.com")) { setLWResult(res, 0, false, false, true); @@ -1572,7 +1572,7 @@ BOOST_AUTO_TEST_CASE(test_auth_cname_to_non_existent_oob_target) (*SyncRes::t_sstorage.domainmap)[authZone] = authDomain; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (isRootServer(address) || domain == DNSName("com") || domain == DNSName("example.com")) { setLWResult(res, 0, false, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.net.", DNSResourceRecord::AUTHORITY, 172800); @@ -1643,7 +1643,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone) (*map)[target] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.42"); @@ -1692,7 +1692,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_cname_lead_to_oob) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target) { @@ -1748,7 +1748,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_oob_lead_to_outgoing_queryb) (*map)[target] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == externalCNAME) { @@ -1804,7 +1804,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_ds) (*map)[target] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type != QType::DS) { setLWResult(res, 0, true, false, true); diff --git a/pdns/recursordist/test-syncres_cc4.cc b/pdns/recursordist/test-syncres_cc4.cc index cea74caef8..a978d2f793 100644 --- a/pdns/recursordist/test-syncres_cc4.cc +++ b/pdns/recursordist/test-syncres_cc4.cc @@ -40,7 +40,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_nodata) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; @@ -79,7 +79,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_nx) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; @@ -146,7 +146,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_delegation) takes too long. */ const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { return genericDSAndDNSKEYHandler(res, domain, DNSName("."), type, keys, domain == DNSName("com.") || domain == authZone, fixedNow); @@ -213,7 +213,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_delegation_point) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (address == ComboAddress(nsAddr.toString(), 53) && domain == target) { @@ -266,7 +266,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_wildcard) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; @@ -321,7 +321,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_wildcard_with_ent) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; @@ -371,7 +371,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_wildcard_nodata) (*map)[authZone] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* /* res */, bool* /* chained */) { queriesCount++; return LWResult::Result::Timeout; @@ -417,7 +417,7 @@ BOOST_AUTO_TEST_CASE(test_auth_zone_cache_only) (*map)[target] = ad; SyncRes::setDomainMap(map); - sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&queriesCount](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.42"); @@ -453,7 +453,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig) time_t now = time(nullptr); RRSIGRecordContent rrc; /* this RRSIG is valid for the current second only */ - computeRRSIG(dpk, qname, qname, QType::A, 600, 0, rrc, recordcontents, boost::none, now); + computeRRSIG(dpk, qname, qname, QType::A, 600, 0, rrc, recordcontents, std::nullopt, now); skeyset_t keyset; keyset.insert(std::make_shared(dpk.getDNSKEY())); @@ -483,7 +483,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_future) time_t inception = 0xf0000000U; auto validity = 0xffffffffU; RRSIGRecordContent rrc; - computeRRSIG(dpk, qname, qname, QType::A, 600, validity, rrc, recordcontents, boost::none, inception, 0); + computeRRSIG(dpk, qname, qname, QType::A, 600, validity, rrc, recordcontents, std::nullopt, inception, 0); skeyset_t keyset; keyset.insert(std::make_shared(dpk.getDNSKEY())); @@ -525,7 +525,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_extreme_timestamps) time_t inception = 0U; // Interpreted as jan 1st 1970, until it is more than 68 years in the past auto validity = 0xffffffffU; // Will be interpreted as end of 1969, as is more than 68 years in the future (until it isn't) RRSIGRecordContent rrc; - computeRRSIG(dpk, qname, qname, QType::A, 600, validity, rrc, recordcontents, boost::none, inception, 0); + computeRRSIG(dpk, qname, qname, QType::A, 600, validity, rrc, recordcontents, std::nullopt, inception, 0); skeyset_t keyset; keyset.insert(std::make_shared(dpk.getDNSKEY())); @@ -568,7 +568,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_root_validation_csk) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -653,7 +653,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_root_validation_ksk_zsk) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -721,7 +721,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_no_dnskey) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -797,7 +797,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_dnskey_without_zone_flag) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -873,7 +873,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_dnskey_revoked) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -957,7 +957,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_dnskey_doesnt_match_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1064,7 +1064,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_dss) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1159,7 +1159,7 @@ PrivateKey: n7SRA4n6NejhZBWQOhjTaICYSpkTl6plJn1ATFG23FI=)PKEY"); size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys, dskeys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys, dskeys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1261,7 +1261,7 @@ PrivateKey: pTaMJcvNrPIIiQiHGvCLZZASroyQpUwew5FvCgjHNsk=)PKEY"); size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys, dskeys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys, dskeys](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1345,7 +1345,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_rrsig_signed_with_unknown_dnskey) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1412,7 +1412,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_no_rrsig) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1487,7 +1487,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_no_rrsig_noaa) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1576,7 +1576,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_unknown_ds_algorithm) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1656,7 +1656,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_unknown_ds_digest) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1729,7 +1729,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_bad_sig) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1741,7 +1741,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_bad_sig) addRecordToLW(res, domain, QType::NS, std::string(addr), DNSResourceRecord::ANSWER, 3600); } - addRRSIG(keys, res->d_records, domain, 300, true, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, true, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.root-servers.net.", QType::A, "198.41.0.4", DNSResourceRecord::ADDITIONAL, 3600); addRecordToLW(res, "a.root-servers.net.", QType::AAAA, "2001:503:ba3e::2:30", DNSResourceRecord::ADDITIONAL, 3600); @@ -1753,7 +1753,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_bad_sig) setLWResult(res, 0, true, false, true); addDNSKEY(keys, domain, 300, res->d_records); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); return LWResult::Result::Success; } @@ -1801,7 +1801,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sigs) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys, fixedNow](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys, fixedNow](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1813,9 +1813,9 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sigs) addRecordToLW(res, domain, QType::NS, std::string(addr), DNSResourceRecord::ANSWER, 3600); } - addRRSIG(keys, res->d_records, domain, 300, 1, boost::none, boost::none, fixedNow); - addRRSIG(keys, res->d_records, domain, 300, 2, boost::none, boost::none, fixedNow); - addRRSIG(keys, res->d_records, domain, 300, 0, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, 1, std::nullopt, std::nullopt, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, 2, std::nullopt, std::nullopt, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, 0, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.root-servers.net.", QType::A, "198.41.0.4", DNSResourceRecord::ADDITIONAL, 3600); addRecordToLW(res, "a.root-servers.net.", QType::AAAA, "2001:503:ba3e::2:30", DNSResourceRecord::ADDITIONAL, 3600); @@ -1827,7 +1827,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sigs) setLWResult(res, 0, true, false, true); addDNSKEY(keys, domain, 300, res->d_records); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); return LWResult::Result::Success; } @@ -1879,7 +1879,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sig_validations) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys, fixedNow](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys, fixedNow](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1891,8 +1891,8 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sig_validations) addRecordToLW(res, domain, QType::NS, std::string(addr), DNSResourceRecord::ANSWER, 3600); } - addRRSIG(keys, res->d_records, domain, 300, true, boost::none, boost::none, fixedNow); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, true, std::nullopt, std::nullopt, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.root-servers.net.", QType::A, "198.41.0.4", DNSResourceRecord::ADDITIONAL, 3600); addRecordToLW(res, "a.root-servers.net.", QType::AAAA, "2001:503:ba3e::2:30", DNSResourceRecord::ADDITIONAL, 3600); @@ -1904,7 +1904,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_too_many_sig_validations) setLWResult(res, 0, true, false, true); addDNSKEY(keys, domain, 300, res->d_records); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); return LWResult::Result::Success; } @@ -1939,7 +1939,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_bad_algo) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -2010,7 +2010,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_unsigned_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -2091,7 +2091,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_unsigned_ds_direct) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; diff --git a/pdns/recursordist/test-syncres_cc5.cc b/pdns/recursordist/test-syncres_cc5.cc index afc04616de..f829acac34 100644 --- a/pdns/recursordist/test-syncres_cc5.cc +++ b/pdns/recursordist/test-syncres_cc5.cc @@ -36,7 +36,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_various_algos) const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -52,7 +52,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_various_algos) setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(DNSName("com."), 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); return LWResult::Result::Success; } @@ -61,7 +61,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_various_algos) if (domain == DNSName("com.")) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.com."); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, domain, 300); } @@ -69,7 +69,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_various_algos) setLWResult(res, 0, false, false, true); addRecordToLW(res, auth, QType::NS, "ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(auth, 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("com."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("com."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); } return LWResult::Result::Success; @@ -79,14 +79,14 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_various_algos) if (type == QType::NS) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "ns1.powerdns.com."); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, auth, 300); } else { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } return LWResult::Result::Success; } @@ -132,7 +132,7 @@ static void testFixedPointInTime(time_t fixedNow) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -148,7 +148,7 @@ static void testFixedPointInTime(time_t fixedNow) setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(DNSName("com."), 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); return LWResult::Result::Success; } @@ -157,15 +157,15 @@ static void testFixedPointInTime(time_t fixedNow) if (domain == DNSName("com.")) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.com."); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); } else { setLWResult(res, 0, false, false, true); addRecordToLW(res, auth, QType::NS, "ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(auth, 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("com."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("com."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); } return LWResult::Result::Success; @@ -175,14 +175,14 @@ static void testFixedPointInTime(time_t fixedNow) if (type == QType::NS) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "ns1.powerdns.com."); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } else { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } return LWResult::Result::Success; } @@ -257,7 +257,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_a_then_ns) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -360,7 +360,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_a_then_ns) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -466,7 +466,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_with_nta) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -567,7 +567,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_with_nta) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -651,7 +651,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -742,7 +742,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nxdomain_nsec) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -856,7 +856,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -914,7 +914,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard) } else { addRecordToLW(res, domain, QType::A, "192.0.2.42", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply */ addNSECRecordToLW(DNSName("a.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 60, res->d_records); addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300); @@ -973,7 +973,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_proof_before_rrsig) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1031,7 +1031,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_proof_before_rrsig) } else { addRecordToLW(res, domain, QType::A, "192.0.2.42", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply */ addNSECRecordToLW(DNSName("a.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 60, res->d_records); addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300); @@ -1093,7 +1093,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_proof_cname) size_t queriesCount = 0; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1150,7 +1150,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_proof_cname) } else if (domain == target) { addRecordToLW(res, domain, QType::CNAME, "alias.powerdns.com", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply, and we are NOT including it */ } @@ -1200,7 +1200,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_nodata_nowildcard) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1236,7 +1236,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_nodata_nowildcard) addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSECRecordToLW(DNSName("*.com."), DNSName("com."), {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1280,7 +1280,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1299,7 +1299,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard) addRRSIG(keys, res->d_records, auth, 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -1327,7 +1327,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard) addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1371,7 +1371,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1390,7 +1390,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s) addRRSIG(keys, res->d_records, auth, 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -1418,7 +1418,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s) addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1461,7 +1461,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s_per_query) size_t queriesCount = 0; - sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([target, &queriesCount, keys](const ComboAddress& ip, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, boost::optional /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1480,7 +1480,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s_per_query) addRRSIG(keys, res->d_records, auth, 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -1508,7 +1508,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_too_many_nsec3s_per_query) addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1542,7 +1542,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_duplicated_n size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1561,7 +1561,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_duplicated_n addRRSIG(keys, res->d_records, auth, 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -1592,7 +1592,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_duplicated_n addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1638,7 +1638,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_too_many_ite size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1657,7 +1657,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_too_many_ite addRRSIG(keys, res->d_records, auth, 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records, g_maxNSEC3Iterations + 100); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -1685,7 +1685,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_nodata_nowildcard_too_many_ite addRRSIG(keys, res->d_records, DNSName("com."), 300); /* a wildcard matches but has no record for this type */ addNSEC3UnhashedRecordToLW(DNSName("*.com."), DNSName("com."), "whatever", {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records, g_maxNSEC3Iterations + 100); - addRRSIG(keys, res->d_records, DNSName("com"), 300, false, boost::none, DNSName("*.com")); + addRRSIG(keys, res->d_records, DNSName("com"), 300, false, std::nullopt, DNSName("*.com")); return LWResult::Result::Success; } } @@ -1731,7 +1731,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1794,7 +1794,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard) } else { addRecordToLW(res, domain, QType::A, "192.0.2.42", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply */ /* first the closest encloser */ addNSEC3UnhashedRecordToLW(DNSName("powerdns.com."), DNSName("powerdns.com."), "whatever", {QType::A, QType::TXT, QType::RRSIG, QType::NSEC}, 600, res->d_records); @@ -1852,7 +1852,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard_proof_cname) size_t queriesCount = 0; - resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /*sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + resolver->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /*sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1902,14 +1902,14 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard_proof_cname) else { if (domain == target) { addRecordToLW(res, domain, QType::CNAME, "alias.powerdns.com.", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply but we are NOT adding it! */ /* first the closest encloser */ } else if (domain == alias) { addRecordToLW(res, domain, QType::A, "192.0.2.42", DNSResourceRecord::ANSWER, 600); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); } } return LWResult::Result::Success; @@ -1955,7 +1955,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard_too_many_iterations) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -2013,7 +2013,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec3_wildcard_too_many_iterations) } else { addRecordToLW(res, domain, QType::A, "192.0.2.42"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we need to add the proof that this name does not exist, so the wildcard may apply */ /* first the closest encloser */ addNSEC3UnhashedRecordToLW(DNSName("powerdns.com."), DNSName("powerdns.com."), "whatever", {QType::A, QType::TXT, QType::RRSIG, QType::NSEC}, 600, res->d_records); @@ -2068,7 +2068,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_missing) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -2126,7 +2126,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_nsec_wildcard_missing) } else { addRecordToLW(res, domain, QType::A, "192.0.2.42"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); } return LWResult::Result::Success; } @@ -2170,7 +2170,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_expanded_onto_itself) g_luaconfs.setState(luaconfsCopy); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (type == QType::DS || type == QType::DNSKEY) { if (domain == target) { const auto auth = DNSName("powerdns.com."); @@ -2189,11 +2189,11 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_expanded_onto_itself) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.42"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); /* we don't _really_ need to add the proof that the exact name does not exist because it does, it's the wildcard itself, but let's do it so other validators don't choke on it */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } }); @@ -2225,7 +2225,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_expanded_onto_itself_nodata g_luaconfs.setState(luaconfsCopy); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (type == QType::DS || type == QType::DNSKEY) { if (domain == target) { const auto auth = DNSName("powerdns.com."); @@ -2247,7 +2247,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_expanded_onto_itself_nodata addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300); /* add the proof that the exact name does exist but that this type does not */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("\\000.*.powerdns.com."), {QType::AAAA, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } }); @@ -2279,7 +2279,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_like_expanded_from_wildcard g_luaconfs.setState(luaconfsCopy); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (type == QType::DS || type == QType::DNSKEY) { if (domain == target) { const auto auth = DNSName("powerdns.com."); @@ -2288,7 +2288,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_like_expanded_from_wildcard addRecordToLW(res, auth, QType::SOA, "foo. bar. 2017032800 1800 900 604800 86400", DNSResourceRecord::AUTHORITY, 86400); addRRSIG(keys, res->d_records, auth, 300); addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } if (domain == DNSName("sub.powerdns.com.")) { @@ -2299,7 +2299,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_like_expanded_from_wildcard addRRSIG(keys, res->d_records, auth, 300); /* add a NSEC denying the DS */ addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } return genericDSAndDNSKEYHandler(res, domain, domain, type, keys); @@ -2307,9 +2307,9 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_wildcard_like_expanded_from_wildcard { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.42"); - addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com."), 300, false, std::nullopt, DNSName("*.powerdns.com")); addNSECRecordToLW(DNSName("*.powerdns.com."), DNSName("wwz.powerdns.com."), {QType::A, QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, boost::none, DNSName("*.powerdns.com")); + addRRSIG(keys, res->d_records, DNSName("powerdns.com"), 300, false, std::nullopt, DNSName("*.powerdns.com")); return LWResult::Result::Success; } }); @@ -2344,7 +2344,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_incomplete_cache_zonecut_qm) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth(domain); @@ -2483,7 +2483,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_servfail_ds) const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -2504,7 +2504,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_servfail_ds) setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(DNSName("com."), 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); return LWResult::Result::Success; } @@ -2513,7 +2513,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_servfail_ds) if (domain == DNSName("com.")) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.com."); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, domain, 300); } @@ -2522,7 +2522,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_servfail_ds) addRecordToLW(res, auth, QType::NS, "ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 3600); /* do NOT include the DS here */ // addDS(auth, 300, res->d_records, keys); - // addRRSIG(keys, res->d_records, DNSName("com."), 300, false, boost::none, boost::none, fixedNow); + // addRRSIG(keys, res->d_records, DNSName("com."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); } return LWResult::Result::Success; @@ -2532,14 +2532,14 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_servfail_ds) if (type == QType::NS) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "ns1.powerdns.com."); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, auth, 300); } else { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } return LWResult::Result::Success; } @@ -2594,7 +2594,7 @@ static void dnssec_secure_servfail_dnskey(DNSSECMode mode, vState /* expectedVal const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -2615,7 +2615,7 @@ static void dnssec_secure_servfail_dnskey(DNSSECMode mode, vState /* expectedVal setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(DNSName("com."), 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); return LWResult::Result::Success; } @@ -2624,7 +2624,7 @@ static void dnssec_secure_servfail_dnskey(DNSSECMode mode, vState /* expectedVal if (domain == DNSName("com.")) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.com."); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, domain, 300); } @@ -2632,7 +2632,7 @@ static void dnssec_secure_servfail_dnskey(DNSSECMode mode, vState /* expectedVal setLWResult(res, 0, false, false, true); addRecordToLW(res, auth, QType::NS, "ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(auth, 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("com."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("com."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); } return LWResult::Result::Success; @@ -2642,14 +2642,14 @@ static void dnssec_secure_servfail_dnskey(DNSSECMode mode, vState /* expectedVal if (type == QType::NS) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "ns1.powerdns.com."); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, auth, 300); } else { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(keys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } return LWResult::Result::Success; } @@ -2716,7 +2716,7 @@ static void dnssec_secure_servfail_dnskey_insecure(DNSSECMode mode, vState expec const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -2738,7 +2738,7 @@ static void dnssec_secure_servfail_dnskey_insecure(DNSSECMode mode, vState expec setLWResult(res, 0, false, false, true); addRecordToLW(res, "com.", QType::NS, "a.gtld-servers.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(DNSName("com."), 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); return LWResult::Result::Success; } @@ -2747,7 +2747,7 @@ static void dnssec_secure_servfail_dnskey_insecure(DNSSECMode mode, vState expec if (domain == DNSName("com.")) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "a.gtld-servers.com."); - addRRSIG(keys, res->d_records, domain, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "a.gtld-servers.com.", QType::A, "192.0.2.1", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(keys, res->d_records, domain, 300); } @@ -2755,7 +2755,7 @@ static void dnssec_secure_servfail_dnskey_insecure(DNSSECMode mode, vState expec setLWResult(res, 0, false, false, true); addRecordToLW(res, auth, QType::NS, "ns1.powerdns.com.", DNSResourceRecord::AUTHORITY, 3600); addDS(auth, 300, res->d_records, keys); - addRRSIG(keys, res->d_records, DNSName("com."), 300, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, DNSName("com."), 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); } return LWResult::Result::Success; @@ -2765,14 +2765,14 @@ static void dnssec_secure_servfail_dnskey_insecure(DNSSECMode mode, vState expec if (type == QType::NS) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::NS, "ns1.powerdns.com."); - addRRSIG(pdnskeys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(pdnskeys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); addRecordToLW(res, "ns1.powerdns.com.", QType::A, "192.0.2.2", DNSResourceRecord::ADDITIONAL, 3600); addRRSIG(pdnskeys, res->d_records, auth, 300); } else { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(pdnskeys, res->d_records, auth, 300, false, boost::none, boost::none, fixedNow); + addRRSIG(pdnskeys, res->d_records, auth, 300, false, std::nullopt, std::nullopt, fixedNow); } return LWResult::Result::Success; } diff --git a/pdns/recursordist/test-syncres_cc6.cc b/pdns/recursordist/test-syncres_cc6.cc index 9f0d7ec580..15e2ff485e 100644 --- a/pdns/recursordist/test-syncres_cc6.cc +++ b/pdns/recursordist/test-syncres_cc6.cc @@ -30,7 +30,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_no_ds_on_referral_secure) size_t queriesCount = 0; size_t dsQueriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -149,7 +149,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_ds_sign_loop) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -268,7 +268,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_ds_denial_loop) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DNSKEY || (type == QType::DS && domain != target)) { @@ -344,7 +344,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_ds_root) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -405,7 +405,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_dnskey_signed_child) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -513,7 +513,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_dnskey_unpublished) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -611,7 +611,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_dnskey_unpublished_nsec3) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -627,7 +627,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_dnskey_unpublished_nsec3) addRRSIG(keys, res->d_records, auth, 300, false); return LWResult::Result::Success; } - return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true /* cut */, boost::none, true /* nsec3 */); + return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true /* cut */, std::nullopt, true /* nsec3 */); } if (type == QType::DNSKEY) { if (domain == target) { @@ -640,7 +640,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_dnskey_unpublished_nsec3) addRRSIG(keys, res->d_records, domain, 300, false); return LWResult::Result::Success; } - return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true /* cut */, boost::none, true /* nsec3 */); + return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true /* cut */, std::nullopt, true /* nsec3 */); } else { if (isRootServer(address)) { @@ -708,7 +708,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_no_ds_on_referral_insecure) size_t queriesCount = 0; size_t dsQueriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -818,7 +818,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_bogus_unsigned_nsec) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -906,7 +906,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_bogus_no_nsec) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -994,7 +994,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1102,7 +1102,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_optout) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1118,7 +1118,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_optout) addRRSIG(keys, res->d_records, DNSName("com."), 300); return LWResult::Result::Success; } - return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, boost::none, true, true); + return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, std::nullopt, true, true); } if (type == QType::DNSKEY) { if (domain == g_rootdnsname || domain == DNSName("com.")) { @@ -1215,7 +1215,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_nxd_optout) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1231,7 +1231,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_nxd_optout) addRRSIG(keys, res->d_records, DNSName("com."), 300); return LWResult::Result::Success; } - return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, boost::none, true, true); + return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, true, std::nullopt, true, true); } if (type == QType::DNSKEY) { if (domain == g_rootdnsname || domain == DNSName("com.")) { @@ -1321,7 +1321,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_direct_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1387,7 +1387,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_direct_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1451,7 +1451,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_skipped_cut) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1572,7 +1572,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_secure_without_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1669,7 +1669,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_broken_without_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1769,7 +1769,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_broken_cname_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1874,7 +1874,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_cname_for_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { diff --git a/pdns/recursordist/test-syncres_cc7.cc b/pdns/recursordist/test-syncres_cc7.cc index 72fb85a555..d57d948bd1 100644 --- a/pdns/recursordist/test-syncres_cc7.cc +++ b/pdns/recursordist/test-syncres_cc7.cc @@ -31,7 +31,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_to_ta_skipped_cut) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -156,7 +156,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_nodata) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -284,7 +284,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -410,7 +410,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_cname_glue) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -530,7 +530,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_to_secure_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -653,7 +653,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_to_secure_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -749,7 +749,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_bogus_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -845,7 +845,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_secure_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -941,7 +941,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_to_insecure_cname) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1058,7 +1058,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_ta) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DNSKEY) { @@ -1154,7 +1154,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_ta_norrsig) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DNSKEY) { @@ -1248,7 +1248,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_nta) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1314,7 +1314,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_no_ta) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain == target && type == QType::NS) { @@ -1372,7 +1372,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nodata) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1433,7 +1433,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_missing_soa_on_nodata) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1506,7 +1506,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_insecure_missing_soa_on_nxd) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1580,7 +1580,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_bogus_nxdomain) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1644,7 +1644,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_secure_to_insecure_cut_with_cname_at_apex) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { @@ -1779,7 +1779,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_cname_inside_secure_zone) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS) { diff --git a/pdns/recursordist/test-syncres_cc8.cc b/pdns/recursordist/test-syncres_cc8.cc index cc4a190f3f..350071a941 100644 --- a/pdns/recursordist/test-syncres_cc8.cc +++ b/pdns/recursordist/test-syncres_cc8.cc @@ -558,7 +558,7 @@ BOOST_AUTO_TEST_CASE(test_nsec_expanded_wildcard_proof) /* proves that a.example.com does exist, and has been generated from a wildcard (see the RRSIG below) */ addNSECRecordToLW(DNSName("a.example.org."), DNSName("d.example.org"), {QType::A, QType::TXT, QType::RRSIG, QType::NSEC}, 600, records); recordContents.insert(records.at(0).getContent()); - addRRSIG(keys, records, DNSName("example.org."), 300, false, boost::none, DNSName("example.org.")); + addRRSIG(keys, records, DNSName("example.org."), 300, false, std::nullopt, DNSName("example.org.")); signatureContents.push_back(getRR(records.at(1))); records.clear(); @@ -1198,7 +1198,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_negcache_validity) size_t queriesCount = 0; const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -1212,7 +1212,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_negcache_validity) addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); addRRSIG(keys, res->d_records, domain, 300); addNSECRecordToLW(domain, DNSName("z."), {QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, domain, 1, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 1, false, std::nullopt, std::nullopt, fixedNow); return LWResult::Result::Success; } @@ -1266,7 +1266,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_negcache_bogus_validity) size_t queriesCount = 0; const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -1338,7 +1338,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_cache_validity) size_t queriesCount = 0; const time_t tnow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -1350,7 +1350,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_cache_validity) { setLWResult(res, RCode::NoError, true, false, true); addRecordToLW(res, domain, QType::A, targetAddr.toString(), DNSResourceRecord::ANSWER, 3600); - addRRSIG(keys, res->d_records, domain, 1, false, boost::none, boost::none, tnow); + addRRSIG(keys, res->d_records, domain, 1, false, std::nullopt, std::nullopt, tnow); return LWResult::Result::Success; } @@ -1368,7 +1368,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_rrsig_cache_validity) const ComboAddress who; vector cached; MemRecursorCache::SigRecs signatures; - BOOST_REQUIRE_EQUAL(g_recCache->get(tnow, target, QType(QType::A), MemRecursorCache::RequireAuth, &cached, who, boost::none, &signatures), 1); + BOOST_REQUIRE_EQUAL(g_recCache->get(tnow, target, QType(QType::A), MemRecursorCache::RequireAuth, &cached, who, std::nullopt, &signatures), 1); BOOST_REQUIRE_EQUAL(cached.size(), 1U); BOOST_REQUIRE_EQUAL(signatures->size(), 1U); BOOST_CHECK_EQUAL((cached[0].d_ttl - tnow), 1); @@ -1406,7 +1406,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cache_secure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1472,7 +1472,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cache_insecure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1538,7 +1538,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cache_bogus) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -1626,7 +1626,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cache_secure_any) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { diff --git a/pdns/recursordist/test-syncres_cc9.cc b/pdns/recursordist/test-syncres_cc9.cc index 09297fce0c..a472c71e43 100644 --- a/pdns/recursordist/test-syncres_cc9.cc +++ b/pdns/recursordist/test-syncres_cc9.cc @@ -33,7 +33,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cname_cache_secure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -108,7 +108,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cname_cache_insecure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -181,7 +181,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_cname_cache_bogus) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -276,7 +276,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_additional_without_rrsig) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -360,7 +360,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_secure) size_t queriesCount = 0; const time_t fixedNow = sr->getNow().tv_sec; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -374,7 +374,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_secure) addRecordToLW(res, domain, QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY, 3600); addRRSIG(keys, res->d_records, domain, 300); addNSECRecordToLW(domain, DNSName("z."), {QType::NSEC, QType::RRSIG}, 600, res->d_records); - addRRSIG(keys, res->d_records, domain, 1, false, boost::none, boost::none, fixedNow); + addRRSIG(keys, res->d_records, domain, 1, false, std::nullopt, std::nullopt, fixedNow); return LWResult::Result::Success; } @@ -445,7 +445,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_secure_ds) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (type == QType::DS || type == QType::DNSKEY) { @@ -501,7 +501,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_insecure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -578,7 +578,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_from_negcache_bogus) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; DNSName auth = domain; @@ -678,7 +678,7 @@ BOOST_AUTO_TEST_CASE(test_lowercase_outgoing) const DNSName target("WWW.POWERDNS.COM"); const DNSName cname("WWW.PowerDNS.org"); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { sentOutQnames.push_back(domain); if (isRootServer(address)) { @@ -752,7 +752,7 @@ BOOST_AUTO_TEST_CASE(test_getDSRecords_multialgo) auto rootkey = keys.find(g_rootdnsname); keys2.insert(*rootkey); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { DNSName auth = domain; auth.chopOff(); if (type == QType::DS || type == QType::DNSKEY) { @@ -802,7 +802,7 @@ BOOST_AUTO_TEST_CASE(test_getDSRecords_multialgo_all_sha) // But add the existing root key otherwise no RRSIG can be created keys3.insert(*rootkey); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { DNSName auth = domain; auth.chopOff(); if (type == QType::DS || type == QType::DNSKEY) { @@ -855,7 +855,7 @@ BOOST_AUTO_TEST_CASE(test_getDSRecords_multialgo_two_highest) // But add the existing root key otherwise no RRSIG can be created keys3.insert(*rootkey); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { DNSName auth = domain; auth.chopOff(); if (type == QType::DS || type == QType::DNSKEY) { @@ -892,7 +892,7 @@ BOOST_AUTO_TEST_CASE(test_cname_plus_authority_ns_ttl) const DNSName cnameTarget("cname-target.powerdns.com"); size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -940,7 +940,7 @@ BOOST_AUTO_TEST_CASE(test_cname_plus_authority_ns_ttl) vector cached; bool wasAuth = false; - auto ttl = g_recCache->get(now, DNSName("powerdns.com."), QType(QType::NS), MemRecursorCache::None, &cached, who, boost::none, nullptr, nullptr, nullptr, nullptr, &wasAuth); + auto ttl = g_recCache->get(now, DNSName("powerdns.com."), QType(QType::NS), MemRecursorCache::None, &cached, who, std::nullopt, nullptr, nullptr, nullptr, nullptr, &wasAuth); BOOST_REQUIRE_GE(ttl, 1); BOOST_REQUIRE_LE(ttl, 42); BOOST_CHECK_EQUAL(cached.size(), 1U); @@ -949,7 +949,7 @@ BOOST_AUTO_TEST_CASE(test_cname_plus_authority_ns_ttl) cached.clear(); /* Also check that the part in additional is still not auth */ - BOOST_REQUIRE_GE(g_recCache->get(now, DNSName("a.gtld-servers.net."), QType(QType::A), MemRecursorCache::None, &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), MemRecursorCache::None, &cached, who, std::nullopt, nullptr, nullptr, nullptr, nullptr, &wasAuth), -1); BOOST_CHECK_EQUAL(cached.size(), 1U); BOOST_CHECK_EQUAL(wasAuth, false); } @@ -971,7 +971,7 @@ BOOST_AUTO_TEST_CASE(test_bogus_does_not_replace_secure_in_the_cache) generateKeyMaterial(DNSName("powerdns.com."), DNSSEC::ECDSA256, DNSSEC::DIGEST_SHA256, keys); g_luaconfs.setState(luaconfsCopy); - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { if (type == QType::DS || type == QType::DNSKEY) { if (domain == DNSName("cname.powerdns.com.")) { return genericDSAndDNSKEYHandler(res, domain, domain, type, keys, false /* no cut */); @@ -1017,7 +1017,7 @@ BOOST_AUTO_TEST_CASE(test_bogus_does_not_replace_secure_in_the_cache) vector cached; bool wasAuth = false; vState retrievedState = vState::Insecure; - BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::SOA), MemRecursorCache::RequireAuth, &cached, who, boost::none, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::SOA), MemRecursorCache::RequireAuth, &cached, who, std::nullopt, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), 0); BOOST_CHECK_EQUAL(vStateToString(retrievedState), vStateToString(vState::Secure)); BOOST_CHECK_EQUAL(wasAuth, true); @@ -1027,7 +1027,7 @@ BOOST_AUTO_TEST_CASE(test_bogus_does_not_replace_secure_in_the_cache) BOOST_REQUIRE_EQUAL(ret.size(), 2U); cached.clear(); - BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::SOA), MemRecursorCache::RequireAuth, &cached, who, boost::none, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), 0); + BOOST_CHECK_GT(g_recCache->get(now, DNSName("powerdns.com."), QType(QType::SOA), MemRecursorCache::RequireAuth, &cached, who, std::nullopt, nullptr, nullptr, nullptr, &retrievedState, &wasAuth), 0); BOOST_CHECK_EQUAL(vStateToString(retrievedState), vStateToString(vState::Secure)); BOOST_CHECK_EQUAL(wasAuth, true); } @@ -1041,7 +1041,7 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_general) const DNSName target("sanitization.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.1"); /* should be scrubbed because it doesn't match the QType */ @@ -1087,7 +1087,7 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_relevant_additional_aaaa) const DNSName target("sanitization.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& domain, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, 0, true, false, true); addRecordToLW(res, domain, QType::A, "192.0.2.1"); addRecordToLW(res, domain, QType::AAAA, "2001:db8::1", DNSResourceRecord::ADDITIONAL); @@ -1121,7 +1121,7 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_keep_glue) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (isRootServer(address)) { @@ -1189,7 +1189,7 @@ BOOST_AUTO_TEST_CASE(test_records_sanitization_scrubs_ns_nxd) const DNSName target("sanitization-ns-nxd.powerdns.com."); - sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& /* ip */, const DNSName& /* domain */, int /* type */, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { setLWResult(res, RCode::NXDomain, true, false, true); addRecordToLW(res, "powerdns.com.", QType::SOA, "pdns-public-ns1.powerdns.com. pieter\\.lexis.powerdns.com. 2017032301 10800 3600 604800 3600", DNSResourceRecord::AUTHORITY); addRecordToLW(res, "powerdns.com.", QType::NS, "spoofed.ns.", DNSResourceRecord::AUTHORITY, 172800); @@ -1239,7 +1239,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_referral_on_ds_query_insecure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain.isPartOf(DNSName("signed.ds-ignorant.com.")) && address == ComboAddress("192.0.2.1:53")) { @@ -1328,7 +1328,7 @@ BOOST_AUTO_TEST_CASE(test_dnssec_validation_referral_on_ds_query_secure) size_t queriesCount = 0; - sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, boost::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { + sr->setAsyncCallback([&](const ComboAddress& address, const DNSName& domain, int type, bool /* doTCP */, bool /* sendRDQuery */, int /* EDNS0Level */, struct timeval* /* now */, std::optional& /* srcmask */, const ResolveContext& /* context */, LWResult* res, bool* /* chained */) { queriesCount++; if (domain.isPartOf(DNSName("signed.ds-ignorant.com.")) && address == ComboAddress("192.0.2.1:53")) { -- 2.47.3