From acb61e0aa64947e8aa4fa18fe3884192a1d62560 Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Tue, 9 Jul 2019 22:43:19 +0200 Subject: [PATCH] auth: remove the default default from the zone_id argument in lookup() lookup calls without a zone_id: modules/lmdbbackend/lmdbbackend.cc: lookup(QType(QType::SOA), domain, -1); pdns/communicator.hh: b->lookup(QType(QType::ANY),name, -1); pdns/pdnsutil.cc: B.lookup(QType(QType::NS), domain, -1); pdns/pdnsutil.cc: B.lookup(QType(QType::A), DNSName(std::to_string(random()))+domain, -1); pdns/pdnsutil.cc: B.lookup(QType(QType::DNSKEY), zone, -1 ); pdns/dnsbackend.cc: this->lookup(QType(QType::SOA),domain,-1); pdns/mastercommunicator.cc: B->lookup(QType(QType::NS), di.zone, -1); pdns/ws-auth.cc: di.backend->lookup(QType(QType::ANY), qname, -1); pdns/slavecommunicator.cc: B->lookup(QType(QType::RRSIG), di.zone, -1); --- modules/bindbackend/bindbackend2.cc | 2 +- modules/bindbackend/bindbackend2.hh | 2 +- modules/geoipbackend/geoipbackend.cc | 2 +- modules/geoipbackend/geoipbackend.hh | 2 +- modules/ldapbackend/ldapbackend.hh | 2 +- modules/ldapbackend/native.cc | 4 ++-- modules/lmdbbackend/lmdbbackend.cc | 4 ++-- modules/lmdbbackend/lmdbbackend.hh | 2 +- modules/lua2backend/lua2api2.hh | 2 +- modules/luabackend/luabackend.hh | 2 +- modules/luabackend/minimal.cc | 2 +- modules/mydnsbackend/mydnsbackend.cc | 2 +- modules/mydnsbackend/mydnsbackend.hh | 2 +- modules/opendbxbackend/odbxbackend.cc | 2 +- modules/opendbxbackend/odbxbackend.hh | 2 +- modules/pipebackend/pipebackend.cc | 2 +- modules/pipebackend/pipebackend.hh | 2 +- modules/randombackend/randombackend.cc | 2 +- modules/remotebackend/remotebackend.cc | 2 +- modules/remotebackend/remotebackend.hh | 2 +- modules/tinydnsbackend/tinydnsbackend.cc | 2 +- modules/tinydnsbackend/tinydnsbackend.hh | 2 +- pdns/backends/gsql/gsqlbackend.cc | 2 +- pdns/backends/gsql/gsqlbackend.hh | 2 +- pdns/communicator.hh | 2 +- pdns/dbdnsseckeeper.cc | 2 +- pdns/dnsbackend.cc | 2 +- pdns/dnsbackend.hh | 2 +- pdns/lua-record.cc | 2 +- pdns/mastercommunicator.cc | 2 +- pdns/packethandler.cc | 28 ++++++++++++------------ pdns/pdnsutil.cc | 16 +++++++------- pdns/rfc2136handler.cc | 16 +++++++------- pdns/slavecommunicator.cc | 4 ++-- pdns/tcpreceiver.cc | 4 ++-- pdns/ueberbackend.cc | 6 ++--- pdns/ueberbackend.hh | 2 +- pdns/ws-auth.cc | 2 +- 38 files changed, 71 insertions(+), 71 deletions(-) diff --git a/modules/bindbackend/bindbackend2.cc b/modules/bindbackend/bindbackend2.cc index 859a8028d..221508e01 100644 --- a/modules/bindbackend/bindbackend2.cc +++ b/modules/bindbackend/bindbackend2.cc @@ -1053,7 +1053,7 @@ bool Bind2Backend::getBeforeAndAfterNamesAbsolute(uint32_t id, const DNSName& qn } } -void Bind2Backend::lookup(const QType &qtype, const DNSName &qname, DNSPacket *pkt_p, int zoneId ) +void Bind2Backend::lookup(const QType &qtype, const DNSName &qname, int zoneId, DNSPacket *pkt_p ) { d_handle.reset(); DNSName domain(qname); diff --git a/modules/bindbackend/bindbackend2.hh b/modules/bindbackend/bindbackend2.hh index ee545d636..c3998394f 100644 --- a/modules/bindbackend/bindbackend2.hh +++ b/modules/bindbackend/bindbackend2.hh @@ -195,7 +195,7 @@ public: time_t getCtime(const string &fname); // DNSSEC bool getBeforeAndAfterNamesAbsolute(uint32_t id, const DNSName& qname, DNSName& unhashed, DNSName& before, DNSName& after) override; - void lookup(const QType &, const DNSName &qdomain, DNSPacket *p=0, int zoneId=-1) override; + void lookup(const QType &, const DNSName &qdomain, int zoneId, DNSPacket *p=nullptr) override; bool list(const DNSName &target, int id, bool include_disabled=false) override; bool get(DNSResourceRecord &) override; void getAllDomains(vector *domains, bool include_disabled=false) override; diff --git a/modules/geoipbackend/geoipbackend.cc b/modules/geoipbackend/geoipbackend.cc index c07757034..682501e60 100644 --- a/modules/geoipbackend/geoipbackend.cc +++ b/modules/geoipbackend/geoipbackend.cc @@ -343,7 +343,7 @@ bool GeoIPBackend::lookup_static(const GeoIPDomain &dom, const DNSName &search, return false; }; -void GeoIPBackend::lookup(const QType &qtype, const DNSName& qdomain, DNSPacket *pkt_p, int zoneId) { +void GeoIPBackend::lookup(const QType &qtype, const DNSName& qdomain, int zoneId, DNSPacket *pkt_p) { ReadLock rl(&s_state_lock); const GeoIPDomain* dom; GeoIPNetmask gl; diff --git a/modules/geoipbackend/geoipbackend.hh b/modules/geoipbackend/geoipbackend.hh index 015782a7f..9d8f00af9 100644 --- a/modules/geoipbackend/geoipbackend.hh +++ b/modules/geoipbackend/geoipbackend.hh @@ -49,7 +49,7 @@ public: GeoIPBackend(const std::string& suffix=""); ~GeoIPBackend(); - void lookup(const QType &qtype, const DNSName &qdomain, DNSPacket *pkt_p=0, int zoneId=-1) override; + void lookup(const QType &qtype, const DNSName &qdomain, int zoneId, DNSPacket *pkt_p=nullptr) override; bool list(const DNSName &target, int domain_id, bool include_disabled=false) override { return false; } // not supported bool get(DNSResourceRecord &r) override; void reload() override; diff --git a/modules/ldapbackend/ldapbackend.hh b/modules/ldapbackend/ldapbackend.hh index 7fe7df8a4..f89e29af2 100644 --- a/modules/ldapbackend/ldapbackend.hh +++ b/modules/ldapbackend/ldapbackend.hh @@ -174,7 +174,7 @@ class LdapBackend : public DNSBackend // Native backend bool list( const DNSName& target, int domain_id, bool include_disabled=false ) override; - void lookup( const QType& qtype, const DNSName& qdomain, DNSPacket* p = 0, int zoneid = -1 ) override; + void lookup( const QType& qtype, const DNSName& qdomain, int zoneid, DNSPacket* p = nullptr ) override; bool get( DNSResourceRecord& rr ) override; bool getDomainInfo( const DNSName& domain, DomainInfo& di, bool getSerial=true ) override; diff --git a/modules/ldapbackend/native.cc b/modules/ldapbackend/native.cc index c0f913fa3..2c9bac201 100644 --- a/modules/ldapbackend/native.cc +++ b/modules/ldapbackend/native.cc @@ -117,7 +117,7 @@ bool LdapBackend::list_strict( const DNSName& target, int domain_id ) -void LdapBackend::lookup( const QType &qtype, const DNSName &qname, DNSPacket *dnspkt, int zoneid ) +void LdapBackend::lookup( const QType &qtype, const DNSName &qname, int zoneid, DNSPacket *dnspkt ) { try { @@ -138,7 +138,7 @@ void LdapBackend::lookup( const QType &qtype, const DNSName &qname, DNSPacket *d { g_log << Logger::Warning << d_myname << " Connection to LDAP lost, trying to reconnect" << endl; if ( reconnect() ) - this->lookup( qtype, qname, dnspkt, zoneid ); + this->lookup( qtype, qname, zoneid, dnspkt ); else throw PDNSException( "Failed to reconnect to LDAP server" ); } diff --git a/modules/lmdbbackend/lmdbbackend.cc b/modules/lmdbbackend/lmdbbackend.cc index 57ce194d5..d186fb716 100644 --- a/modules/lmdbbackend/lmdbbackend.cc +++ b/modules/lmdbbackend/lmdbbackend.cc @@ -540,7 +540,7 @@ bool LMDBBackend::list(const DNSName &target, int id, bool include_disabled) return true; } -void LMDBBackend::lookup(const QType &type, const DNSName &qdomain, DNSPacket *p, int zoneId) +void LMDBBackend::lookup(const QType &type, const DNSName &qdomain, int zoneId, DNSPacket *p) { if(d_dolog) { g_log << Logger::Warning << "Got lookup for "<& rrset) override; void getAllDomains(vector *domains, bool include_disabled=false) override; - void lookup(const QType &type, const DNSName &qdomain, DNSPacket *p, int zoneId) override; + void lookup(const QType &type, const DNSName &qdomain, int zoneId, DNSPacket *p=nullptr) override; bool get(DNSResourceRecord &rr) override; bool get(DNSZoneRecord& dzr) override; diff --git a/modules/lua2backend/lua2api2.hh b/modules/lua2backend/lua2api2.hh index 2acbf89cd..dff22a7c9 100644 --- a/modules/lua2backend/lua2api2.hh +++ b/modules/lua2backend/lua2api2.hh @@ -180,7 +180,7 @@ public: return true; } - void lookup(const QType &qtype, const DNSName &qname, DNSPacket *p, int domain_id) override { + void lookup(const QType &qtype, const DNSName &qname, int domain_id, DNSPacket *p=nullptr) override { if (d_result.size() != 0) throw PDNSException("lookup attempted while another was running"); diff --git a/modules/luabackend/luabackend.hh b/modules/luabackend/luabackend.hh index b03bfe413..3c0459ea3 100644 --- a/modules/luabackend/luabackend.hh +++ b/modules/luabackend/luabackend.hh @@ -47,7 +47,7 @@ public: LUABackend(const string &suffix=""); ~LUABackend(); bool list(const DNSName &target, int domain_id, bool include_disabled=false) override; - void lookup(const QType &qtype, const DNSName &qname, DNSPacket *p, int domain_id) override; + void lookup(const QType &qtype, const DNSName &qname, int domain_id, DNSPacket *p=nullptr) override; bool get(DNSResourceRecord &rr) override; //! fills the soadata struct with the SOA details. Returns false if there is no SOA. bool getSOA(const DNSName &name, SOAData &soadata) override; diff --git a/modules/luabackend/minimal.cc b/modules/luabackend/minimal.cc index c18b21b98..3da125314 100644 --- a/modules/luabackend/minimal.cc +++ b/modules/luabackend/minimal.cc @@ -97,7 +97,7 @@ bool LUABackend::list(const DNSName &target, int domain_id, bool include_disable return ok; } -void LUABackend::lookup(const QType &qtype, const DNSName &qname, DNSPacket *p, int domain_id) { +void LUABackend::lookup(const QType &qtype, const DNSName &qname, int domain_id, DNSPacket *p) { if (logging) g_log << Logger::Info << backend_name << "(lookup) BEGIN" << endl; diff --git a/modules/mydnsbackend/mydnsbackend.cc b/modules/mydnsbackend/mydnsbackend.cc index b8a3714ff..59971f563 100644 --- a/modules/mydnsbackend/mydnsbackend.cc +++ b/modules/mydnsbackend/mydnsbackend.cc @@ -242,7 +242,7 @@ bool MyDNSBackend::getSOA(const DNSName& name, SOAData& soadata) { return true; } -void MyDNSBackend::lookup(const QType &qtype, const DNSName &qname, DNSPacket *p, int zoneId) { +void MyDNSBackend::lookup(const QType &qtype, const DNSName &qname, int zoneId, DNSPacket *p) { SSqlStatement::row_t rrow; bool found = false; diff --git a/modules/mydnsbackend/mydnsbackend.hh b/modules/mydnsbackend/mydnsbackend.hh index 1e19af2f9..9e3db7ee6 100644 --- a/modules/mydnsbackend/mydnsbackend.hh +++ b/modules/mydnsbackend/mydnsbackend.hh @@ -36,7 +36,7 @@ public: MyDNSBackend(const string &suffix); ~MyDNSBackend(); - void lookup(const QType &, const DNSName &qdomain, DNSPacket *p=0, int zoneId=-1) override; + void lookup(const QType &, const DNSName &qdomain, int zoneId, DNSPacket *p=nullptr) override; bool list(const DNSName &target, int domain_id, bool include_disabled=false) override; bool get(DNSResourceRecord &r) override; bool getSOA(const DNSName& name, SOAData& soadata) override; diff --git a/modules/opendbxbackend/odbxbackend.cc b/modules/opendbxbackend/odbxbackend.cc index d9d8a5c03..c0fc88a60 100644 --- a/modules/opendbxbackend/odbxbackend.cc +++ b/modules/opendbxbackend/odbxbackend.cc @@ -289,7 +289,7 @@ bool OdbxBackend::list( const DNSName& target, int zoneid, bool include_disabled -void OdbxBackend::lookup( const QType& qtype, const DNSName& qname, DNSPacket* dnspkt, int zoneid ) +void OdbxBackend::lookup( const QType& qtype, const DNSName& qname, int zoneid, DNSPacket* dnspkt ) { try { diff --git a/modules/opendbxbackend/odbxbackend.hh b/modules/opendbxbackend/odbxbackend.hh index 4a8b910aa..edb3199b2 100644 --- a/modules/opendbxbackend/odbxbackend.hh +++ b/modules/opendbxbackend/odbxbackend.hh @@ -76,7 +76,7 @@ public: OdbxBackend( const string& suffix="" ); ~OdbxBackend(); - void lookup( const QType& qtype, const DNSName& qdomain, DNSPacket* p = 0, int zoneid = -1 ) override; + void lookup( const QType& qtype, const DNSName& qdomain, int zoneid, DNSPacket* p = nullptr ) override; bool getSOA( const DNSName& domain, SOAData& sd ) override; bool list( const DNSName& target, int domain_id, bool include_disabled=false ) override; bool get( DNSResourceRecord& rr ) override; diff --git a/modules/pipebackend/pipebackend.cc b/modules/pipebackend/pipebackend.cc index 7821c49fc..1227b27d1 100644 --- a/modules/pipebackend/pipebackend.cc +++ b/modules/pipebackend/pipebackend.cc @@ -159,7 +159,7 @@ void PipeBackend::cleanup() d_abiVersion = 0; } -void PipeBackend::lookup(const QType& qtype,const DNSName& qname, DNSPacket *pkt_p, int zoneId) +void PipeBackend::lookup(const QType& qtype,const DNSName& qname, int zoneId, DNSPacket *pkt_p) { try { launch(); diff --git a/modules/pipebackend/pipebackend.hh b/modules/pipebackend/pipebackend.hh index abdfb8582..eba89b201 100644 --- a/modules/pipebackend/pipebackend.hh +++ b/modules/pipebackend/pipebackend.hh @@ -53,7 +53,7 @@ class PipeBackend : public DNSBackend public: PipeBackend(const string &suffix=""); ~PipeBackend(); - void lookup(const QType&, const DNSName& qdomain, DNSPacket *p=0, int zoneId=-1) override; + void lookup(const QType&, const DNSName& qdomain, int zoneId, DNSPacket *p=nullptr) override; bool list(const DNSName& target, int domain_id, bool include_disabled=false) override; bool get(DNSResourceRecord &r) override; string directBackendCmd(const string &query) override; diff --git a/modules/randombackend/randombackend.cc b/modules/randombackend/randombackend.cc index 525beb897..577ba6390 100644 --- a/modules/randombackend/randombackend.cc +++ b/modules/randombackend/randombackend.cc @@ -48,7 +48,7 @@ public: return false; // we don't support AXFR } - void lookup(const QType &type, const DNSName &qdomain, DNSPacket *p, int zoneId) override + void lookup(const QType &type, const DNSName &qdomain, int zoneId, DNSPacket *p) override { if(qdomain == d_ourdomain){ if(type.getCode() == QType::SOA || type.getCode() == QType::ANY) { diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index c77728a68..6d7f34437 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -165,7 +165,7 @@ int RemoteBackend::build() { * The functions here are just remote json stubs that send and receive the method call * data is mainly left alone, some defaults are assumed. */ -void RemoteBackend::lookup(const QType &qtype, const DNSName& qdomain, DNSPacket *pkt_p, int zoneId) { +void RemoteBackend::lookup(const QType &qtype, const DNSName& qdomain, int zoneId, DNSPacket *pkt_p) { if (d_index != -1) throw PDNSException("Attempt to lookup while one running"); diff --git a/modules/remotebackend/remotebackend.hh b/modules/remotebackend/remotebackend.hh index a794dd1a3..c453c52e9 100644 --- a/modules/remotebackend/remotebackend.hh +++ b/modules/remotebackend/remotebackend.hh @@ -155,7 +155,7 @@ class RemoteBackend : public DNSBackend RemoteBackend(const std::string &suffix=""); ~RemoteBackend(); - void lookup(const QType &qtype, const DNSName& qdomain, DNSPacket *pkt_p=0, int zoneId=-1) override; + void lookup(const QType &qtype, const DNSName& qdomain, int zoneId=-1, DNSPacket *pkt_p=nullptr) override; bool get(DNSResourceRecord &rr) override; bool list(const DNSName& target, int domain_id, bool include_disabled=false) override; diff --git a/modules/tinydnsbackend/tinydnsbackend.cc b/modules/tinydnsbackend/tinydnsbackend.cc index 0dc44461f..94154ebe8 100644 --- a/modules/tinydnsbackend/tinydnsbackend.cc +++ b/modules/tinydnsbackend/tinydnsbackend.cc @@ -196,7 +196,7 @@ bool TinyDNSBackend::list(const DNSName &target, int domain_id, bool include_dis return d_cdbReader->searchSuffix(key); } -void TinyDNSBackend::lookup(const QType &qtype, const DNSName &qdomain, DNSPacket *pkt_p, int zoneId) { +void TinyDNSBackend::lookup(const QType &qtype, const DNSName &qdomain, int zoneId, DNSPacket *pkt_p) { d_isAxfr = false; string queryDomain = toLowerCanonic(qdomain.toString()); diff --git a/modules/tinydnsbackend/tinydnsbackend.hh b/modules/tinydnsbackend/tinydnsbackend.hh index 2de0e462e..869083db2 100644 --- a/modules/tinydnsbackend/tinydnsbackend.hh +++ b/modules/tinydnsbackend/tinydnsbackend.hh @@ -67,7 +67,7 @@ class TinyDNSBackend : public DNSBackend public: // Methods for simple operation TinyDNSBackend(const string &suffix); - void lookup(const QType &qtype, const DNSName &qdomain, DNSPacket *pkt_p=0, int zoneId=-1) override; + void lookup(const QType &qtype, const DNSName &qdomain, int zoneId, DNSPacket *pkt_p=nullptr) override; bool list(const DNSName &target, int domain_id, bool include_disabled=false) override; bool get(DNSResourceRecord &rr) override; void getAllDomains(vector *domains, bool include_disabled=false) override; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 0f13175cb..8ab7d9916 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -1038,7 +1038,7 @@ bool GSQLBackend::setDomainMetadata(const DNSName& name, const std::string& kind return true; } -void GSQLBackend::lookup(const QType &qtype,const DNSName &qname, DNSPacket *pkt_p, int domain_id) +void GSQLBackend::lookup(const QType &qtype,const DNSName &qname, int domain_id, DNSPacket *pkt_p) { try { reconnectIfNeeded(); diff --git a/pdns/backends/gsql/gsqlbackend.hh b/pdns/backends/gsql/gsqlbackend.hh index be25db1c1..c9ac5b9e5 100644 --- a/pdns/backends/gsql/gsqlbackend.hh +++ b/pdns/backends/gsql/gsqlbackend.hh @@ -179,7 +179,7 @@ public: d_SearchCommentsQuery_stmt.reset(); } - void lookup(const QType &, const DNSName &qdomain, DNSPacket *p=0, int zoneId=-1) override; + void lookup(const QType &, const DNSName &qdomain, int zoneId, DNSPacket *p=nullptr) override; bool list(const DNSName &target, int domain_id, bool include_disabled=false) override; bool get(DNSResourceRecord &r) override; void getAllDomains(vector *domains, bool include_disabled=false) override; diff --git a/pdns/communicator.hh b/pdns/communicator.hh index 62b75548a..e0b257582 100644 --- a/pdns/communicator.hh +++ b/pdns/communicator.hh @@ -258,7 +258,7 @@ public: this->resolve_name(&addresses, name); if(b) { - b->lookup(QType(QType::ANY),name); + b->lookup(QType(QType::ANY),name,-1); DNSZoneRecord rr; while(b->get(rr)) if(rr.dr.d_type == QType::A || rr.dr.d_type==QType::AAAA) diff --git a/pdns/dbdnsseckeeper.cc b/pdns/dbdnsseckeeper.cc index 4af741003..2fa9b78be 100644 --- a/pdns/dbdnsseckeeper.cc +++ b/pdns/dbdnsseckeeper.cc @@ -546,7 +546,7 @@ bool DNSSECKeeper::getPreRRSIGs(UeberBackend& db, const DNSName& signer, const D DLOG(g_log<<"Could not get SOA for domain"<(rr.dr); diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index eb48835ea..cf30da3c3 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -221,7 +221,7 @@ vectorBackendMakerClass::all(bool metadataOnly) */ bool DNSBackend::getSOA(const DNSName &domain, SOAData &sd) { - this->lookup(QType(QType::SOA),domain); + this->lookup(QType(QType::SOA),domain,-1); DNSResourceRecord rr; rr.auth = true; diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index 4fe4208b6..6fd4c1626 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -121,7 +121,7 @@ class DNSBackend { public: //! lookup() initiates a lookup. A lookup without results should not throw! - virtual void lookup(const QType &qtype, const DNSName &qdomain, DNSPacket *pkt_p=0, int zoneId=-1)=0; + virtual void lookup(const QType &qtype, const DNSName &qdomain, int zoneId=-1, DNSPacket *pkt_p=nullptr)=0; virtual bool get(DNSResourceRecord &)=0; //!< retrieves one DNSResource record, returns false if no more were available virtual bool get(DNSZoneRecord &r); diff --git a/pdns/lua-record.cc b/pdns/lua-record.cc index 31b756271..0cddaffa0 100644 --- a/pdns/lua-record.cc +++ b/pdns/lua-record.cc @@ -393,7 +393,7 @@ static std::vector lookup(const DNSName& name, uint16_t qtype, in static UeberBackend ub; static std::mutex mut; std::lock_guard lock(mut); - ub.lookup(QType(qtype), name, nullptr, zoneid); + ub.lookup(QType(qtype), name, zoneid); DNSZoneRecord dr; vector ret; while(ub.get(dr)) { diff --git a/pdns/mastercommunicator.cc b/pdns/mastercommunicator.cc index bdd13fb38..3291c906d 100644 --- a/pdns/mastercommunicator.cc +++ b/pdns/mastercommunicator.cc @@ -52,7 +52,7 @@ void CommunicatorClass::queueNotifyDomain(const DomainInfo& di, UeberBackend* B) try { if (d_onlyNotify.size()) { - B->lookup(QType(QType::NS), di.zone); + B->lookup(QType(QType::NS), di.zone, -1); while(B->get(rr)) nsset.insert(getRR(rr.dr)->getNS().toString()); diff --git a/pdns/packethandler.cc b/pdns/packethandler.cc index 0b60e8144..a5b2a5cf6 100644 --- a/pdns/packethandler.cc +++ b/pdns/packethandler.cc @@ -127,7 +127,7 @@ bool PacketHandler::addCDNSKEY(DNSPacket *p, DNSPacket *r, const SOAData& sd) } if(::arg().mustDo("direct-dnskey")) { - B.lookup(QType(QType::CDNSKEY), p->qdomain, p, sd.domain_id); + B.lookup(QType(QType::CDNSKEY), p->qdomain, sd.domain_id, p); while(B.get(rr)) { rr.dr.d_ttl=sd.default_ttl; @@ -163,7 +163,7 @@ bool PacketHandler::addDNSKEY(DNSPacket *p, DNSPacket *r, const SOAData& sd) } if(::arg().mustDo("direct-dnskey")) { - B.lookup(QType(QType::DNSKEY), p->qdomain, p, sd.domain_id); + B.lookup(QType(QType::DNSKEY), p->qdomain, sd.domain_id, p); while(B.get(rr)) { rr.dr.d_ttl=sd.default_ttl; @@ -213,7 +213,7 @@ bool PacketHandler::addCDS(DNSPacket *p, DNSPacket *r, const SOAData& sd) } if(::arg().mustDo("direct-dnskey")) { - B.lookup(QType(QType::CDS), p->qdomain, p, sd.domain_id); + B.lookup(QType(QType::CDS), p->qdomain, sd.domain_id, p); while(B.get(rr)) { rr.dr.d_ttl=sd.default_ttl; @@ -307,7 +307,7 @@ vector PacketHandler::getBestReferralNS(DNSPacket *p, SOAData& sd do { if(subdomain == sd.qname) // stop at SOA break; - B.lookup(QType(QType::NS), subdomain, p, sd.domain_id); + B.lookup(QType(QType::NS), subdomain, sd.domain_id, p); while(B.get(rr)) { ret.push_back(rr); // this used to exclude auth NS records for some reason } @@ -326,7 +326,7 @@ vector PacketHandler::getBestDNAMESynth(DNSPacket *p, SOAData& sd do { DLOG(g_log<<"Attempting DNAME lookup for "<get(rr)) { @@ -1611,7 +1611,7 @@ bool showZone(DNSSECKeeper& dk, const DNSName& zone, bool exportDS = false) vector keys; DNSZoneRecord zr; - B.lookup(QType(QType::DNSKEY), zone); + B.lookup(QType(QType::DNSKEY), zone, -1 ); while(B.get(zr)) { if (zr.dr.d_type != QType::DNSKEY) continue; keys.push_back(*getRR(zr.dr)); @@ -1851,7 +1851,7 @@ void testSchema(DNSSECKeeper& dk, const DNSName& zone) cout<<"Committing"<commitTransaction(); cout<<"Querying TXT"<lookup(QType(QType::TXT), zone, NULL, di.id); + db->lookup(QType(QType::TXT), zone, di.id); if(db->get(rrget)) { DNSResourceRecord rrthrowaway; diff --git a/pdns/rfc2136handler.cc b/pdns/rfc2136handler.cc index 43ed9ec20..f3e1b7919 100644 --- a/pdns/rfc2136handler.cc +++ b/pdns/rfc2136handler.cc @@ -33,7 +33,7 @@ int PacketHandler::checkUpdatePrerequisites(const DNSRecord *rr, DomainInfo *di) bool foundRecord=false; DNSResourceRecord rec; - di->backend->lookup(QType(QType::ANY), rr->d_name, nullptr, di->id); + di->backend->lookup(QType(QType::ANY), rr->d_name, di->id); while(di->backend->get(rec)) { if (!rec.qtype.getCode()) continue; @@ -171,7 +171,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr, bool foundRecord = false; - di->backend->lookup(rrType, rr->d_name, nullptr, di->id); + di->backend->lookup(rrType, rr->d_name, di->id); while (di->backend->get(rec)) { rrset.push_back(rec); foundRecord = true; @@ -289,7 +289,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr, break; bool foundShorter = false; - di->backend->lookup(QType(QType::ANY), shorter, nullptr, di->id); + di->backend->lookup(QType(QType::ANY), shorter, di->id); while (di->backend->get(rec)) { if (rec.qname == rr->d_name && rec.qtype == QType::DS) fixDS = true; @@ -444,7 +444,7 @@ uint PacketHandler::performUpdate(const string &msgPrefix, const DNSRecord *rr, } // end of NSEC3PARAM delete block - di->backend->lookup(rrType, rr->d_name, nullptr, di->id); + di->backend->lookup(rrType, rr->d_name, di->id); while(di->backend->get(rec)) { if (rr->d_class == QClass::ANY) { // 3.4.2.3 if (rec.qname == di->zone && (rec.qtype == QType::NS || rec.qtype == QType::SOA)) // Never delete all SOA and NS's @@ -861,7 +861,7 @@ int PacketHandler::processUpdate(DNSPacket *p) { rrVector_t *vec = &preRRSet->second; DNSResourceRecord rec; - di.backend->lookup(QType(QType::ANY), rrSet.first, nullptr, di.id); + di.backend->lookup(QType(QType::ANY), rrSet.first, di.id); uint16_t foundRR=0, matchRR=0; while (di.backend->get(rec)) { if (rec.qtype == rrSet.second) { @@ -959,7 +959,7 @@ int PacketHandler::processUpdate(DNSPacket *p) { } for (const auto &rr : cnamesToAdd) { DNSResourceRecord rec; - di.backend->lookup(QType(QType::ANY), rr->d_name, nullptr, di.id); + di.backend->lookup(QType(QType::ANY), rr->d_name, di.id); while (di.backend->get(rec)) { if (rec.qtype != QType::CNAME && rec.qtype != QType::ENT && rec.qtype != QType::RRSIG) { // leave database handle in a consistent state @@ -974,7 +974,7 @@ int PacketHandler::processUpdate(DNSPacket *p) { } for (const auto &rr : nonCnamesToAdd) { DNSResourceRecord rec; - di.backend->lookup(QType(QType::CNAME), rr->d_name, nullptr, di.id); + di.backend->lookup(QType(QType::CNAME), rr->d_name, di.id); while (di.backend->get(rec)) { if (rec.qtype == QType::CNAME && rr->d_type != QType::RRSIG) { // leave database handle in a consistent state @@ -990,7 +990,7 @@ int PacketHandler::processUpdate(DNSPacket *p) { if (nsRRtoDelete.size()) { vector nsRRInZone; DNSResourceRecord rec; - di.backend->lookup(QType(QType::NS), di.zone, nullptr, di.id); + di.backend->lookup(QType(QType::NS), di.zone, di.id); while (di.backend->get(rec)) { nsRRInZone.push_back(rec); } diff --git a/pdns/slavecommunicator.cc b/pdns/slavecommunicator.cc index af88fa958..cc44b0d88 100644 --- a/pdns/slavecommunicator.cc +++ b/pdns/slavecommunicator.cc @@ -141,7 +141,7 @@ void CommunicatorClass::ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, c vector rrset; { DNSZoneRecord zrr; - B.lookup(QType(g.first.second), g.first.first+domain, 0, di.id); + B.lookup(QType(g.first.second), g.first.first+domain, di.id); while(B.get(zrr)) { zrr.dr.d_name.makeUsRelative(domain); rrset.push_back(zrr.dr); @@ -960,7 +960,7 @@ void CommunicatorClass::slaveRefresh(PacketHandler *P) else if(hasSOA && theirserial == ourserial) { uint32_t maxExpire=0, maxInception=0; if(dk.isPresigned(di.zone)) { - B->lookup(QType(QType::RRSIG), di.zone); // can't use DK before we are done with this lookup! + B->lookup(QType(QType::RRSIG), di.zone, -1); // can't use DK before we are done with this lookup! DNSZoneRecord zr; while(B->get(zr)) { auto rrsig = getRR(zr.dr); diff --git a/pdns/tcpreceiver.cc b/pdns/tcpreceiver.cc index 1a9121af3..e0fcda825 100644 --- a/pdns/tcpreceiver.cc +++ b/pdns/tcpreceiver.cc @@ -491,7 +491,7 @@ bool TCPNameserver::canDoAXFR(shared_ptr q) DNSResourceRecord rr; set nsset; - B->lookup(QType(QType::NS),q->qdomain); + B->lookup(QType(QType::NS),q->qdomain,sd.domain_id); while(B->get(rr)) nsset.insert(DNSName(rr.content)); for(const auto & j: nsset) { @@ -715,7 +715,7 @@ int TCPNameserver::doAXFR(const DNSName &target, shared_ptr q, int ou } if(::arg().mustDo("direct-dnskey")) { - sd.db->lookup(QType(QType::DNSKEY), target, NULL, sd.domain_id); + sd.db->lookup(QType(QType::DNSKEY), target, sd.domain_id); while(sd.db->get(zrr)) { zrr.dr.d_ttl = sd.default_ttl; csp.submit(zrr); diff --git a/pdns/ueberbackend.cc b/pdns/ueberbackend.cc index e33b9030e..1621eefa3 100644 --- a/pdns/ueberbackend.cc +++ b/pdns/ueberbackend.cc @@ -540,7 +540,7 @@ UeberBackend::~UeberBackend() } // this handle is more magic than most -void UeberBackend::lookup(const QType &qtype,const DNSName &qname, DNSPacket *pkt_p, int zoneId) +void UeberBackend::lookup(const QType &qtype,const DNSName &qname, int zoneId, DNSPacket *pkt_p) { if(d_stale) { g_log<lookup(qtype, qname,pkt_p,zoneId); + (d_handle.d_hinterBackend=backends[d_handle.i++])->lookup(qtype, qname,zoneId,pkt_p); } else if(cstat==0) { // cout<<"UeberBackend::lookup("<backends[i++]; - d_hinterBackend->lookup(qtype,qname,pkt_p,parent->d_domain_id); + d_hinterBackend->lookup(qtype,qname,parent->d_domain_id,pkt_p); } else break; diff --git a/pdns/ueberbackend.hh b/pdns/ueberbackend.hh index 658c43590..522760f1e 100644 --- a/pdns/ueberbackend.hh +++ b/pdns/ueberbackend.hh @@ -97,7 +97,7 @@ public: static AtomicCounter instances; }; - void lookup(const QType &, const DNSName &qdomain, DNSPacket *pkt_p=0, int zoneId=-1); + void lookup(const QType &, const DNSName &qdomain, int zoneId, DNSPacket *pkt_p=nullptr); /** Determines if we are authoritative for a zone, and at what level */ bool getAuth(const DNSName &target, const QType &qtype, SOAData* sd, bool cachedOk=true); diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index 32d6fd66f..c2fc99009 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -2013,7 +2013,7 @@ static void patchZone(HttpRequest* req, HttpResponse* resp) { if (replace_records) { bool ent_present = false; - di.backend->lookup(QType(QType::ANY), qname); + di.backend->lookup(QType(QType::ANY), qname, -1); DNSResourceRecord rr; while (di.backend->get(rr)) { if (rr.qtype.getCode() == QType::ENT) { -- 2.40.0