From: Miod Vallat Date: Mon, 7 Apr 2025 10:12:07 +0000 (+0200) Subject: Better future-proof logic. X-Git-Tag: dnsdist-2.0.0-alpha2~96^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F15382%2Fhead;p=thirdparty%2Fpdns.git Better future-proof logic. --- diff --git a/modules/bindbackend/binddnssec.cc b/modules/bindbackend/binddnssec.cc index 130417d17c..8bd46b5f8b 100644 --- a/modules/bindbackend/binddnssec.cc +++ b/modules/bindbackend/binddnssec.cc @@ -38,12 +38,11 @@ void Bind2Backend::setupDNSSEC() unsigned int Bind2Backend::getCapabilities() { + unsigned int caps = CAP_LIST; if (d_hybrid) { - return CAP_DNSSEC | CAP_LIST; - } - else { - return CAP_LIST; + caps |= CAP_DNSSEC; } + return caps; } bool Bind2Backend::getNSEC3PARAM(const DNSName& /* name */, NSEC3PARAMRecordContent* /* ns3p */) @@ -204,10 +203,11 @@ void Bind2Backend::freeStatements() unsigned int Bind2Backend::getCapabilities() { + unsigned int caps = CAP_LIST; if (d_dnssecdb || d_hybrid) { - return CAP_DNSSEC | CAP_LIST; + caps |= CAP_DNSSEC; } - return CAP_LIST; + return caps; } bool Bind2Backend::getNSEC3PARAM(const DNSName& name, NSEC3PARAMRecordContent* ns3p) diff --git a/modules/geoipbackend/geoipbackend.hh b/modules/geoipbackend/geoipbackend.hh index baff3ec2aa..d21aadf214 100644 --- a/modules/geoipbackend/geoipbackend.hh +++ b/modules/geoipbackend/geoipbackend.hh @@ -57,12 +57,11 @@ public: unsigned int getCapabilities() override { + unsigned int caps = 0; if (d_dnssec) { - return CAP_DNSSEC; - } - else { - return 0; + caps |= CAP_DNSSEC; } + return caps; } void lookup(const QType& qtype, const DNSName& qdomain, int zoneId, DNSPacket* pkt_p = nullptr) override; diff --git a/modules/lua2backend/lua2api2.hh b/modules/lua2backend/lua2api2.hh index 0272768903..acd501fd88 100644 --- a/modules/lua2backend/lua2api2.hh +++ b/modules/lua2backend/lua2api2.hh @@ -131,12 +131,11 @@ public: unsigned int getCapabilities() override { + unsigned int caps = CAP_DIRECT | CAP_LIST; if (d_dnssec) { - return CAP_DNSSEC | CAP_DIRECT | CAP_LIST; - } - else { - return CAP_DIRECT | CAP_LIST; + caps |= CAP_DNSSEC; } + return caps; } void parseLookup(const lookup_result_t& result) diff --git a/modules/remotebackend/remotebackend.cc b/modules/remotebackend/remotebackend.cc index 1639c237d8..b38280ed2d 100644 --- a/modules/remotebackend/remotebackend.cc +++ b/modules/remotebackend/remotebackend.cc @@ -508,10 +508,11 @@ bool RemoteBackend::unpublishDomainKey(const DNSName& name, unsigned int id) unsigned int RemoteBackend::getCapabilities() { + unsigned int caps = CAP_DIRECT | CAP_LIST; if (d_dnssec) { - return CAP_DNSSEC | CAP_DIRECT | CAP_LIST; + caps |= CAP_DNSSEC; } - return CAP_DIRECT | CAP_LIST; + return caps; } bool RemoteBackend::getTSIGKey(const DNSName& name, DNSName& algorithm, std::string& content) diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index ae125224ce..7cc9851469 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -868,10 +868,11 @@ bool GSQLBackend::updateEmptyNonTerminals(uint32_t domain_id, set& inse unsigned int GSQLBackend::getCapabilities() { + unsigned int caps = CAP_COMMENTS | CAP_DIRECT | CAP_LIST | CAP_CREATE; if (d_dnssecQueries) { - return CAP_DNSSEC | CAP_COMMENTS | CAP_DIRECT | CAP_LIST | CAP_CREATE; + caps |= CAP_DNSSEC; } - return CAP_COMMENTS | CAP_DIRECT | CAP_LIST | CAP_CREATE; + return caps; } bool GSQLBackend::getBeforeAndAfterNamesAbsolute(uint32_t id, const DNSName& qname, DNSName& unhashed, DNSName& before, DNSName& after)