From: Kees Monshouwer Date: Fri, 7 Oct 2022 14:41:03 +0000 (+0200) Subject: auth: pdnsutil check-zone, skip metadata check for backends without getAllDomainMetad... X-Git-Tag: dnsdist-1.8.0-rc1~278^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=refs%2Fpull%2F12070%2Fhead;p=thirdparty%2Fpdns.git auth: pdnsutil check-zone, skip metadata check for backends without getAllDomainMetadata() --- diff --git a/pdns/pdnsutil.cc b/pdns/pdnsutil.cc index e709e1c932..557f621b82 100644 --- a/pdns/pdnsutil.cc +++ b/pdns/pdnsutil.cc @@ -834,22 +834,20 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con } std::map> metadatas; - if (!B.getAllDomainMetadata(zone, metadatas)) { - cout << "[Error] Unable to retrieve metadata for zone " << zone << endl; - numerrors++; - } - - for (const auto &metaData : metadatas) { - set seen; - set messaged; - - for (const auto &value : metaData.second) { - if (seen.count(value) == 0) { - seen.insert(value); - } else if (messaged.count(value) <= 0) { - cout << "[Error] Found duplicate metadata key value pair for zone " << zone << " with key '" << metaData.first << "' and value '" << value << "'" << endl; - numerrors++; - messaged.insert(value); + if (B.getAllDomainMetadata(zone, metadatas)) { + for (const auto& metaData : metadatas) { + set seen; + set messaged; + + for (const auto& value : metaData.second) { + if (seen.count(value) == 0) { + seen.insert(value); + } + else if (messaged.count(value) <= 0) { + cout << "[Error] Found duplicate metadata key value pair for zone " << zone << " with key '" << metaData.first << "' and value '" << value << "'" << endl; + numerrors++; + messaged.insert(value); + } } } }