]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
auth: pdnsutil check-zone, skip metadata check for backends without getAllDomainMetad... 12070/head
authorKees Monshouwer <mind04@monshouwer.org>
Fri, 7 Oct 2022 14:41:03 +0000 (16:41 +0200)
committermind04 <mind04@monshouwer.org>
Fri, 7 Oct 2022 14:42:26 +0000 (16:42 +0200)
pdns/pdnsutil.cc

index e709e1c93278bc20dcec847203bb48492a83ebcc..557f621b825b76405ed1e03efffba9cf212b6e25 100644 (file)
@@ -834,22 +834,20 @@ static int checkZone(DNSSECKeeper &dk, UeberBackend &B, const DNSName& zone, con
   }
 
   std::map<std::string, std::vector<std::string>> metadatas;
-  if (!B.getAllDomainMetadata(zone, metadatas)) {
-    cout << "[Error] Unable to retrieve metadata for zone " << zone << endl;
-    numerrors++;
-  }
-
-  for (const auto &metaData : metadatas) {
-    set<string> seen;
-    set<string> 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<string> seen;
+      set<string> 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);
+        }
       }
     }
   }