From: Miod Vallat Date: Wed, 23 Apr 2025 12:29:17 +0000 (+0200) Subject: No need to pass a DNSPacket to APILookup(). X-Git-Tag: dnsdist-2.0.0-alpha2~66^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F15299%2Fhead;p=thirdparty%2Fpdns.git No need to pass a DNSPacket to APILookup(). --- diff --git a/modules/lmdbbackend/lmdbbackend.hh b/modules/lmdbbackend/lmdbbackend.hh index bf0f816ee5..1c96eff128 100644 --- a/modules/lmdbbackend/lmdbbackend.hh +++ b/modules/lmdbbackend/lmdbbackend.hh @@ -79,7 +79,7 @@ public: void getAllDomains(vector* domains, bool doSerial, bool include_disabled) override; void lookup(const QType& type, const DNSName& qdomain, int zoneId, DNSPacket* p = nullptr) override { lookupInternal(type, qdomain, zoneId, p, false); } - void APILookup(const QType& type, const DNSName& qdomain, int zoneId, DNSPacket* p = nullptr, bool include_disabled = false) override { lookupInternal(type, qdomain, zoneId, p, include_disabled); } + void APILookup(const QType& type, const DNSName& qdomain, int zoneId, bool include_disabled = false) override { lookupInternal(type, qdomain, zoneId, nullptr, include_disabled); } bool get(DNSResourceRecord& rr) override; bool get(DNSZoneRecord& dzr) override; diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index daa5bbec71..8e05d651c8 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -226,7 +226,7 @@ void RemoteBackend::lookup(const QType& qtype, const DNSName& qdomain, int zoneI } // Similar to lookup above, but passes an extra include_disabled parameter. -void RemoteBackend::APILookup(const QType& qtype, const DNSName& qdomain, int zoneId, DNSPacket* pkt_p, bool include_disabled) +void RemoteBackend::APILookup(const QType& qtype, const DNSName& qdomain, int zoneId, bool include_disabled) { if (d_index != -1) { throw PDNSException("Attempt to lookup while one running"); @@ -236,12 +236,6 @@ void RemoteBackend::APILookup(const QType& qtype, const DNSName& qdomain, int zo string remoteIP = "0.0.0.0"; string realRemote = "0.0.0.0/0"; - if (pkt_p != nullptr) { - localIP = pkt_p->getLocal().toString(); - realRemote = pkt_p->getRealRemote().toString(); - remoteIP = pkt_p->getInnerRemote().toString(); - } - Json query = Json::object{ {"method", "APILookup"}, {"parameters", Json::object{{"qtype", qtype.toString()}, {"qname", qdomain.toString()}, {"remote", remoteIP}, {"local", localIP}, {"real-remote", realRemote}, {"zone-id", zoneId}, {"include-disabled", include_disabled}}}}; diff --git a/modules/remotebackend/remotebackend.hh b/modules/remotebackend/remotebackend.hh index e6d7062392..c9aeaa8f22 100644 --- a/modules/remotebackend/remotebackend.hh +++ b/modules/remotebackend/remotebackend.hh @@ -169,7 +169,7 @@ public: unsigned int getCapabilities() override; void lookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, DNSPacket* pkt_p = nullptr) override; - void APILookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, DNSPacket* pkt_p = nullptr, bool include_disabled = false) override; + void APILookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, bool include_disabled = false) override; bool get(DNSResourceRecord& rr) override; bool list(const ZoneName& target, int domain_id, bool include_disabled = false) override; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 2b7fe5847d..e912a56d5d 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -1461,7 +1461,7 @@ void GSQLBackend::lookup(const QType& qtype, const DNSName& qname, int domain_id d_qname=qname; } -void GSQLBackend::APILookup(const QType& qtype, const DNSName& qname, int domain_id, DNSPacket* /* pkt_p */, bool include_disabled) +void GSQLBackend::APILookup(const QType& qtype, const DNSName& qname, int domain_id, bool include_disabled) { try { reconnectIfNeeded(); diff --git a/pdns/backends/gsql/gsqlbackend.hh b/pdns/backends/gsql/gsqlbackend.hh index 6b1b6205d8..1b492c524e 100644 --- a/pdns/backends/gsql/gsqlbackend.hh +++ b/pdns/backends/gsql/gsqlbackend.hh @@ -200,7 +200,7 @@ protected: public: unsigned int getCapabilities() override; void lookup(const QType &, const DNSName &qdomain, int zoneId, DNSPacket *p=nullptr) override; - void APILookup(const QType &qtype, const DNSName &qname, int domain_id, DNSPacket *p=nullptr, bool include_disabled = false) override; + void APILookup(const QType &qtype, const DNSName &qname, int domain_id, bool include_disabled = false) override; bool list(const ZoneName &target, int domain_id, bool include_disabled=false) override; bool get(DNSResourceRecord &r) override; void getAllDomains(vector* domains, bool getSerial, bool include_disabled) override; diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index a3e529846d..031ce1b656 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -68,9 +68,9 @@ int DNSBackend::getArgAsNum(const string& key) } // Default API lookup has no support for disabled records and simply wraps lookup() -void DNSBackend::APILookup(const QType& qtype, const DNSName& qdomain, int zoneId, DNSPacket* pkt_p, bool /* include_disabled */) +void DNSBackend::APILookup(const QType& qtype, const DNSName& qdomain, int zoneId, bool /* include_disabled */) { - lookup(qtype, qdomain, zoneId, pkt_p); + lookup(qtype, qdomain, zoneId, nullptr); } void BackendFactory::declare(const string& suffix, const string& param, const string& explanation, const string& value) diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index 6059b1077e..9a5d9cf089 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -169,7 +169,7 @@ public: //! lookup() initiates a lookup. A lookup without results should not throw! virtual void lookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, DNSPacket* pkt_p = nullptr) = 0; - virtual void APILookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, DNSPacket* pkt_p = nullptr, bool include_disabled = false); + virtual void APILookup(const QType& qtype, const DNSName& qdomain, int zoneId = -1, bool include_disabled = false); virtual bool get(DNSResourceRecord&) = 0; //!< retrieves one DNSResource record, returns false if no more were available virtual bool get(DNSZoneRecord& zoneRecord); diff --git a/pdns/ws-auth.cc b/pdns/ws-auth.cc index ee98b52edf..e36e621667 100644 --- a/pdns/ws-auth.cc +++ b/pdns/ws-auth.cc @@ -459,7 +459,7 @@ static void fillZone(UeberBackend& backend, const ZoneName& zonename, HttpRespon qType = req->getvars["rrset_type"]; } bool include_disabled = boolFromHttpRequest(req, "include_disabled"); - domainInfo.backend->APILookup(qType, qName, static_cast(domainInfo.id), nullptr, include_disabled); + domainInfo.backend->APILookup(qType, qName, static_cast(domainInfo.id), include_disabled); } while (domainInfo.backend->get(resourceRecord)) { if (resourceRecord.qtype.getCode() == 0) { @@ -2381,7 +2381,7 @@ static void patchZone(UeberBackend& backend, const ZoneName& zonename, DomainInf bool dname_seen = false; bool ns_seen = false; - domainInfo.backend->APILookup(QType(QType::ANY), qname, static_cast(domainInfo.id), nullptr, false); + domainInfo.backend->APILookup(QType(QType::ANY), qname, static_cast(domainInfo.id), false); DNSResourceRecord resourceRecord; while (domainInfo.backend->get(resourceRecord)) { if (resourceRecord.qtype.getCode() == QType::ENT) {