]> granicus.if.org Git - pdns/commitdiff
auth: remove the default default from the zone_id argument in lookup()
authorKees Monshouwer <mind04@monshouwer.org>
Tue, 9 Jul 2019 20:43:19 +0000 (22:43 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 20 Sep 2019 12:42:27 +0000 (14:42 +0200)
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);

38 files changed:
modules/bindbackend/bindbackend2.cc
modules/bindbackend/bindbackend2.hh
modules/geoipbackend/geoipbackend.cc
modules/geoipbackend/geoipbackend.hh
modules/ldapbackend/ldapbackend.hh
modules/ldapbackend/native.cc
modules/lmdbbackend/lmdbbackend.cc
modules/lmdbbackend/lmdbbackend.hh
modules/lua2backend/lua2api2.hh
modules/luabackend/luabackend.hh
modules/luabackend/minimal.cc
modules/mydnsbackend/mydnsbackend.cc
modules/mydnsbackend/mydnsbackend.hh
modules/opendbxbackend/odbxbackend.cc
modules/opendbxbackend/odbxbackend.hh
modules/pipebackend/pipebackend.cc
modules/pipebackend/pipebackend.hh
modules/randombackend/randombackend.cc
modules/remotebackend/remotebackend.cc
modules/remotebackend/remotebackend.hh
modules/tinydnsbackend/tinydnsbackend.cc
modules/tinydnsbackend/tinydnsbackend.hh
pdns/backends/gsql/gsqlbackend.cc
pdns/backends/gsql/gsqlbackend.hh
pdns/communicator.hh
pdns/dbdnsseckeeper.cc
pdns/dnsbackend.cc
pdns/dnsbackend.hh
pdns/lua-record.cc
pdns/mastercommunicator.cc
pdns/packethandler.cc
pdns/pdnsutil.cc
pdns/rfc2136handler.cc
pdns/slavecommunicator.cc
pdns/tcpreceiver.cc
pdns/ueberbackend.cc
pdns/ueberbackend.hh
pdns/ws-auth.cc

index 859a8028d2348c8c75fef65999295da61b481fef..221508e01705638ed8c23e29aabce829bc4d592a 100644 (file)
@@ -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);
index ee545d636555e69d42c4fdb5340e5cd6232a590c..c3998394f1db270bd2f40873c267d18aa0a6596c 100644 (file)
@@ -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<DomainInfo> *domains, bool include_disabled=false) override;
index c07757034acc21a8f43a6bde12ba728f04ffcc20..682501e605751d09c72b5eaaf86e282c004ab2ef 100644 (file)
@@ -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;
index 015782a7f95994e303860e0d4d886f5e72cb9ab2..9d8f00af9964df3cd672aa4e71c21f19b3850916 100644 (file)
@@ -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;
index 7fe7df8a47f080eff1d68fd346767fa3861c7fde..f89e29af22d2c6020eaa137dd212493f9886bc3e 100644 (file)
@@ -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;
index c0f913fa367b5e5dce5812dcfd03a8c7e72d4da2..2c9bac2014c676870a62b3f1a95821fda69df6de 100644 (file)
@@ -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" );
   }
index 57ce194d59146a926759695150a57285ee4c4112..d186fb716e08b49e161fd3856e9dcefb7eeed7a8 100644 (file)
@@ -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 "<<qdomain<<"|"<<type.getName()<<" in zone "<< zoneId<<endl;
@@ -635,7 +635,7 @@ bool LMDBBackend::get(DNSResourceRecord& rr)
 bool LMDBBackend::getSOA(const DNSName &domain, SOAData &sd)
 {
   //  cout <<"Native getSOA called"<<endl;
-  lookup(QType(QType::SOA), domain, 0, -1);
+  lookup(QType(QType::SOA), domain, -1);
   DNSZoneRecord dzr;
   bool found=false;
   while(get(dzr)) {
index 19604b6ef4c828ac02e9423bebce0efeae76eccc..7d5e8bdb3a90dadc7f7e0283434569c9d43ea2eb 100644 (file)
@@ -51,7 +51,7 @@ public:
   bool replaceRRSet(uint32_t domain_id, const DNSName& qname, const QType& qt, const vector<DNSResourceRecord>& rrset) override;
 
   void getAllDomains(vector<DomainInfo> *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;
 
index 2acbf89cd3e2dedc6a57727da592d1951f3e3aa9..dff22a7c94954f7145e8fbbc1cc27c64d2c91293 100644 (file)
@@ -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");
 
index b03bfe4136b618444b8f3757ab34287e6045cfd4..3c0459ea35bc3de8eddb638930b24e7416f24d12 100644 (file)
@@ -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;
index c18b21b98d01abcab765ce6186d288a23cd0d32f..3da12531403dbef3f48633b787a1b99444c1865d 100644 (file)
@@ -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;
 
index b8a3714ff52ac32f5e2a2da251c04052a73676e9..59971f563b975b9e3746af6ab1a639db6baea96f 100644 (file)
@@ -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;
 
index 1e19af2f953a379ba429622e4751d58238760422..9e3db7ee6552dac721ed2951fcc252ac7059ccf8 100644 (file)
@@ -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;
index d9d8a5c03e76e3a771a0aaf2cfa47b2d09701d4e..c0fc88a60c776fa8d7be3d1c53febdbb2ffcfe14 100644 (file)
@@ -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
         {
index 4a8b910aa1917aabc39452101d4626743fca13b5..edb3199b2aaa51a768a7f3a56a0d37423a587054 100644 (file)
@@ -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;
index 7821c49fc5eba934429a662b84786c14127e8833..1227b27d121bb702d4f1404c26962f3499118fad 100644 (file)
@@ -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();
index abdfb858296d08a5efd6d9f8eaa3f494777dbf8b..eba89b201be3ebc9661851544bcf71e777e15ae0 100644 (file)
@@ -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;
index 525beb897ba1c7a2c80eb64a602eaba1b4cc3294..577ba63904c5ce464dd91353e2892626aa8b7192 100644 (file)
@@ -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) {
index c77728a68b62c59e73cb405a1c5b334f19116834..6d7f34437f78b6410377a55ebb871af4b87a7975 100644 (file)
@@ -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");
 
index a794dd1a3b8109cec1d090f96ad71ecc55e2198e..c453c52e99e002ae5cb3c981feedda911ad7cb7c 100644 (file)
@@ -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;
 
index 0dc44461f90b68dd2cc9bc841f85eb48eebd488c..94154ebe80d3c7050087548faa5c5e38d164b5b5 100644 (file)
@@ -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());
 
index 2de0e462ec3337faaf6321e03a4c99a5bd3bfbf7..869083db22d9702e8b4b07b8b79f099620b3f2fd 100644 (file)
@@ -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<DomainInfo> *domains, bool include_disabled=false) override;
index 0f13175cbde8ddc75f21805d8748dcfcc268f136..8ab7d9916c7d15160b26bd42b5ec3e1984a66005 100644 (file)
@@ -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();
index be25db1c15e1fb69b142749cfab259d0a1ab2a58..c9ac5b9e5362291600797a7424cca3e6aa97a910 100644 (file)
@@ -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<DomainInfo> *domains, bool include_disabled=false) override;
index 62b75548a2e3864dd480b08748d34b23326ce62b..e0b25758259d018341a47291052c24cf2a6d351e 100644 (file)
@@ -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)
index 4af74100310a540c1b5c669f6b4dcc17f452b825..2fa9b78bef5b0ef55612aebc3c0771a2228dfde9 100644 (file)
@@ -546,7 +546,7 @@ bool DNSSECKeeper::getPreRRSIGs(UeberBackend& db, const DNSName& signer, const D
                 DLOG(g_log<<"Could not get SOA for domain"<<endl);
                 return false;
         }
-        db.lookup(QType(QType::RRSIG), wildcardname.countLabels() ? wildcardname : qname, NULL, sd.domain_id);
+        db.lookup(QType(QType::RRSIG), wildcardname.countLabels() ? wildcardname : qname, sd.domain_id);
         DNSZoneRecord rr;
         while(db.get(rr)) {
           auto rrsig = getRR<RRSIGRecordContent>(rr.dr);
index eb48835ea9117f1b170acab6a6150daca21298ee..cf30da3c3a60e016392c8ad9f91ad285f0b077c4 100644 (file)
@@ -221,7 +221,7 @@ vector<DNSBackend *>BackendMakerClass::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;
index 4fe4208b622f718ef010a0b234ecb7af49f73c2e..6fd4c1626001558eda217b858f214125148c43f4 100644 (file)
@@ -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);
 
index 31b756271a5a20d958ed57b8c24d2b7172d74553..0cddaffa0ad2987820a3b3e5e6700bb01e527fcd 100644 (file)
@@ -393,7 +393,7 @@ static std::vector<DNSZoneRecord> lookup(const DNSName& name, uint16_t qtype, in
   static UeberBackend ub;
   static std::mutex mut;
   std::lock_guard<std::mutex> lock(mut);
-  ub.lookup(QType(qtype), name, nullptr, zoneid);
+  ub.lookup(QType(qtype), name, zoneid);
   DNSZoneRecord dr;
   vector<DNSZoneRecord> ret;
   while(ub.get(dr)) {
index bdd13fb38bdf1f81a2fd964c0738dc568c9d66a8..3291c906db6201a9536ef37f9549a6b291f60908 100644 (file)
@@ -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<NSRecordContent>(rr.dr)->getNS().toString());
 
index 0b60e81443d2b8f1f534556603e188fd561d2a30..a5b2a5cf6d99a2cf492124e0341174f35aeed5ce 100644 (file)
@@ -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<DNSZoneRecord> 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<DNSZoneRecord> PacketHandler::getBestDNAMESynth(DNSPacket *p, SOAData& sd
   do {
     DLOG(g_log<<"Attempting DNAME lookup for "<<subdomain<<", sd.qname="<<sd.qname<<endl);
 
-    B.lookup(QType(QType::DNAME), subdomain, p, sd.domain_id);
+    B.lookup(QType(QType::DNAME), subdomain, sd.domain_id, p);
     while(B.get(rr)) {
       ret.push_back(rr);  // put in the original
       rr.dr.d_type = QType::CNAME;
@@ -368,9 +368,9 @@ bool PacketHandler::getBestWildcard(DNSPacket *p, SOAData& sd, const DNSName &ta
   wildcard=subdomain;
   while( subdomain.chopOff() && !haveSomething )  {
     if (subdomain.empty()) {
-      B.lookup(QType(QType::ANY), g_wildcarddnsname, p, sd.domain_id); 
+      B.lookup(QType(QType::ANY), g_wildcarddnsname, sd.domain_id, p); 
     } else {
-      B.lookup(QType(QType::ANY), g_wildcarddnsname+subdomain, p, sd.domain_id);
+      B.lookup(QType(QType::ANY), g_wildcarddnsname+subdomain, sd.domain_id, p);
     }
     while(B.get(rr)) {
 #ifdef HAVE_LUA_RECORDS
@@ -411,7 +411,7 @@ bool PacketHandler::getBestWildcard(DNSPacket *p, SOAData& sd, const DNSName &ta
     if ( subdomain == sd.qname || haveSomething ) // stop at SOA or result
       break;
 
-    B.lookup(QType(QType::ANY), subdomain, p, sd.domain_id);
+    B.lookup(QType(QType::ANY), subdomain, sd.domain_id, p);
     if (B.get(rr)) {
       DLOG(g_log<<"No wildcard match, ancestor exists"<<endl);
       while (B.get(rr)) ;
@@ -456,7 +456,7 @@ int PacketHandler::doAdditionalProcessingAndDropAA(DNSPacket *p, DNSPacket *r, c
       else
         continue;
 
-      B.lookup(QType(d_doIPv6AdditionalProcessing ? QType::ANY : QType::A), lookup, p, soadata.domain_id);
+      B.lookup(QType(d_doIPv6AdditionalProcessing ? QType::ANY : QType::A), lookup, soadata.domain_id, p);
 
       while(B.get(rr)) {
         if(rr.dr.d_type != QType::A && rr.dr.d_type!=QType::AAAA)
@@ -501,7 +501,7 @@ void PacketHandler::emitNSEC(DNSPacket *r, const SOAData& sd, const DNSName& nam
 
   DNSZoneRecord rr;
 
-  B.lookup(QType(QType::ANY), name, NULL, sd.domain_id);
+  B.lookup(QType(QType::ANY), name, sd.domain_id);
   while(B.get(rr)) {
 #ifdef HAVE_LUA_RECORDS   
     if(rr.dr.d_type == QType::LUA)
@@ -548,7 +548,7 @@ void PacketHandler::emitNSEC3(DNSPacket *r, const SOAData& sd, const NSEC3PARAMR
         n3rc.set(QType::CDS);
     }
 
-    B.lookup(QType(QType::ANY), name, NULL, sd.domain_id);
+    B.lookup(QType(QType::ANY), name, sd.domain_id);
     while(B.get(rr)) {
 #ifdef HAVE_LUA_RECORDS
       if(rr.dr.d_type == QType::LUA)
@@ -655,7 +655,7 @@ void PacketHandler::addNSEC3(DNSPacket *p, DNSPacket *r, const DNSName& target,
       bool doBreak = false;
       DNSZoneRecord rr;
       while( closest.chopOff() && (closest != sd.qname))  { // stop at SOA
-        B.lookup(QType(QType::ANY), closest, p, sd.domain_id);
+        B.lookup(QType(QType::ANY), closest, sd.domain_id, p);
         while(B.get(rr))
           if (rr.auth)
             doBreak = true;
@@ -996,7 +996,7 @@ void PacketHandler::makeNOError(DNSPacket* p, DNSPacket* r, const DNSName& targe
 bool PacketHandler::addDSforNS(DNSPacket* p, DNSPacket* r, SOAData& sd, const DNSName& dsname)
 {
   //cerr<<"Trying to find a DS for '"<<dsname<<"', domain_id = "<<sd.domain_id<<endl;
-  B.lookup(QType(QType::DS), dsname, p, sd.domain_id);
+  B.lookup(QType(QType::DS), dsname, sd.domain_id, p);
   DNSZoneRecord rr;
   bool gotOne=false;
   while(B.get(rr)) {
@@ -1327,7 +1327,7 @@ DNSPacket *PacketHandler::doQuestion(DNSPacket *p)
 #endif
 
     // see what we get..
-    B.lookup(QType(QType::ANY), target, p, sd.domain_id);
+    B.lookup(QType(QType::ANY), target, sd.domain_id, p);
     rrset.clear();
     haveAlias.trimToLabels(0);
     aliasScopeMask = 0;
index 203f0b5cef011a30149473bdc320b0e1fe1f1a8e..925c8aebcb7806206b9ea15e6f345af88632099c 100644 (file)
@@ -193,11 +193,11 @@ void dbBench(const std::string& fname)
   unsigned int hits=0, misses=0;
   for(; n < 10000; ++n) {
     DNSName domain(domains[dns_random(domains.size())]);
-    B.lookup(QType(QType::NS), domain);
+    B.lookup(QType(QType::NS), domain, -1);
     while(B.get(rr)) {
       hits++;
     }
-    B.lookup(QType(QType::A), DNSName(std::to_string(random()))+domain);
+    B.lookup(QType(QType::A), DNSName(std::to_string(random()))+domain, -1);
     while(B.get(rr)) {
     }
     misses++;
@@ -299,7 +299,7 @@ int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, const vect
     if(B.getSOAUncached(parent, sd_p)) {
       bool ns=false;
       DNSZoneRecord zr;
-      B.lookup(QType(QType::ANY), zone, NULL, sd_p.domain_id);
+      B.lookup(QType(QType::ANY), zone, sd_p.domain_id);
       while(B.get(zr))
         ns |= (zr.dr.d_type == QType::NS);
       if (!ns) {
@@ -1232,7 +1232,7 @@ int addOrReplaceRecord(bool addOrReplace, const vector<string>& cmds) {
   di.backend->startTransaction(zone, -1);
 
   if(addOrReplace) { // the 'add' case
-    di.backend->lookup(rr.qtype, rr.qname, 0, di.id);
+    di.backend->lookup(rr.qtype, rr.qname, di.id);
 
     while(di.backend->get(oldrr))
       newrrs.push_back(oldrr);
@@ -1249,7 +1249,7 @@ int addOrReplaceRecord(bool addOrReplace, const vector<string>& cmds) {
     }
   }
 
-  di.backend->lookup(QType(QType::ANY), rr.qname, 0, di.id);
+  di.backend->lookup(QType(QType::ANY), rr.qname, di.id);
   bool found=false;
   if(rr.qtype.getCode() == QType::CNAME) { // this will save us SO many questions
 
@@ -1285,7 +1285,7 @@ int addOrReplaceRecord(bool addOrReplace, const vector<string>& cmds) {
 
   di.backend->replaceRRSet(di.id, name, rr.qtype, newrrs);
   // need to be explicit to bypass the ueberbackend cache!
-  di.backend->lookup(rr.qtype, name, 0, di.id);
+  di.backend->lookup(rr.qtype, name, di.id);
   di.backend->commitTransaction();
   cout<<"New rrset:"<<endl;
   while(di.backend->get(rr)) {
@@ -1611,7 +1611,7 @@ bool showZone(DNSSECKeeper& dk, const DNSName& zone, bool exportDS = false)
     vector<DNSKEYRecordContent> 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<DNSKEYRecordContent>(zr.dr));
@@ -1851,7 +1851,7 @@ void testSchema(DNSSECKeeper& dk, const DNSName& zone)
   cout<<"Committing"<<endl;
   db->commitTransaction();
   cout<<"Querying TXT"<<endl;
-  db->lookup(QType(QType::TXT), zone, NULL, di.id);
+  db->lookup(QType(QType::TXT), zone, di.id);
   if(db->get(rrget))
   {
     DNSResourceRecord rrthrowaway;
index 43ed9ec20d5b31edcbd8a0f4fdcf6d2891c71046..f3e1b791977e1f9b9485125ec85829aa4bd325ba 100644 (file)
@@ -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<DNSResourceRecord> 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);
       }
index af88fa9585e7f5c5554cf8e54e16067375fda57a..cc44b0d88115ad27679d9ef850694ffba1eac46b 100644 (file)
@@ -141,7 +141,7 @@ void CommunicatorClass::ixfrSuck(const DNSName &domain, const TSIGTriplet& tt, c
         vector<DNSRecord> 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<RRSIGRecordContent>(zr.dr);
index 1a9121af30a0f3bcc503181c81d7175d1c50a14d..e0fcda82525463ed493602f23992328eff3608b3 100644 (file)
@@ -491,7 +491,7 @@ bool TCPNameserver::canDoAXFR(shared_ptr<DNSPacket> q)
         DNSResourceRecord rr;
         set<DNSName> 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<DNSPacket> 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);
index e33b9030ea669dd4e6187689fec85c720ce346b0..1621eefa3e4b2dea5fdef59f92a33e104a1b5210 100644 (file)
@@ -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<<Logger::Error<<"Stale ueberbackend received question, signalling that we want to be recycled"<<endl;
@@ -580,7 +580,7 @@ void UeberBackend::lookup(const QType &qtype,const DNSName &qname, DNSPacket *pk
       //      cout<<"UeberBackend::lookup("<<qname<<"|"<<DNSRecordContent::NumberToType(qtype.getCode())<<"): uncached"<<endl;
       d_negcached=d_cached=false;
       d_answers.clear(); 
-      (d_handle.d_hinterBackend=backends[d_handle.i++])->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("<<qname<<"|"<<DNSRecordContent::NumberToType(qtype.getCode())<<"): NEGcached"<<endl;
@@ -681,7 +681,7 @@ bool UeberBackend::handle::get(DNSZoneRecord &r)
            <<" out of answers, taking next"<<endl);
       
       d_hinterBackend=parent->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;
index 658c43590fe8fc730d6eca4d5834ba984d6f250a..522760f1ec568bf7f710b2889d3ef27e3142857e 100644 (file)
@@ -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);
index 32d6fd66f92900a712d0458ad47e37b61b902aa0..c2fc9900991a07023036d93ca664dbdfc07cef0c 100644 (file)
@@ -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) {