From: Fred Morcos Date: Fri, 13 Oct 2023 13:09:18 +0000 (+0200) Subject: Cleanup UeberBackend::getSOAUncached X-Git-Tag: rec-5.0.0-beta1~16^2~13 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=988be9b350a1060e1429a81ab3cff95a87f2725f;p=thirdparty%2Fpdns.git Cleanup UeberBackend::getSOAUncached --- diff --git a/pdns/ueberbackend.cc b/pdns/ueberbackend.cc index 89d9298a44..93846a62d2 100644 --- a/pdns/ueberbackend.cc +++ b/pdns/ueberbackend.cc @@ -488,32 +488,32 @@ bool UeberBackend::getAuth(const DNSName& target, const QType& qtype, SOAData* s return found; } -bool UeberBackend::getSOAUncached(const DNSName& domain, SOAData& sd) +bool UeberBackend::getSOAUncached(const DNSName& domain, SOAData& soaData) { d_question.qtype = QType::SOA; d_question.qname = domain; d_question.zoneId = -1; for (auto* backend : backends) { - if (backend->getSOA(domain, sd)) { - if (domain != sd.qname) { - throw PDNSException("getSOA() returned an SOA for the wrong zone. Question: '" + domain.toLogString() + "', answer: '" + sd.qname.toLogString() + "'"); + if (backend->getSOA(domain, soaData)) { + if (domain != soaData.qname) { + throw PDNSException("getSOA() returned an SOA for the wrong zone. Question: '" + domain.toLogString() + "', answer: '" + soaData.qname.toLogString() + "'"); } - if (d_cache_ttl) { - DNSZoneRecord rr; - rr.dr.d_name = sd.qname; - rr.dr.d_type = QType::SOA; - rr.dr.setContent(makeSOAContent(sd)); - rr.dr.d_ttl = sd.ttl; - rr.domain_id = sd.domain_id; - - addCache(d_question, {rr}); + if (d_cache_ttl != 0U) { + DNSZoneRecord zoneRecord; + zoneRecord.dr.d_name = soaData.qname; + zoneRecord.dr.d_type = QType::SOA; + zoneRecord.dr.setContent(makeSOAContent(soaData)); + zoneRecord.dr.d_ttl = soaData.ttl; + zoneRecord.domain_id = soaData.domain_id; + + addCache(d_question, {zoneRecord}); } return true; } } - if (d_negcache_ttl) { + if (d_negcache_ttl != 0U) { addNegCache(d_question); } return false; diff --git a/pdns/ueberbackend.hh b/pdns/ueberbackend.hh index ff15a5b74d..4ae087d7f2 100644 --- a/pdns/ueberbackend.hh +++ b/pdns/ueberbackend.hh @@ -100,7 +100,7 @@ public: /** 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); /** Load SOA info from backends, ignoring the cache.*/ - bool getSOAUncached(const DNSName& domain, SOAData& sd); + bool getSOAUncached(const DNSName& domain, SOAData& soaData); bool get(DNSZoneRecord& r); void getAllDomains(vector* domains, bool getSerial, bool include_disabled);