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

index 5f80ab26c42edc91ece7abc8d5813d7bf04cecce..45634906b9f3d98358e2f61d3ee99ea395b4d1e2 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);
+        }
       }
     }
   }