]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
pdnsutil tsigkey {de,}activate: do not setDomainMetadata with unchanged data. 15873/head
authorMiod Vallat <miod.vallat@powerdns.com>
Mon, 21 Jul 2025 06:34:04 +0000 (08:34 +0200)
committerMiod Vallat <miod.vallat@powerdns.com>
Mon, 21 Jul 2025 06:34:04 +0000 (08:34 +0200)
Signed-off-by: Miod Vallat <miod.vallat@powerdns.com>
pdns/pdnsutil.cc

index 601b3eb13b93b9d0676003c5101c6cfecaeb9f2b..75d22396bb09ce2d4b4c840fec35ba3452090a0c 100644 (file)
@@ -4687,13 +4687,16 @@ static int activateTSIGKey(vector<string>& cmds, const std::string_view synopsis
   }
   if (!found) {
     meta.push_back(name);
-  }
-  if (B.setDomainMetadata(zname, metaKey, meta)) {
-    cout << "Enabled TSIG key " << name << " for " << zname << endl;
+    if (B.setDomainMetadata(zname, metaKey, meta)) {
+      cout << "Enabled TSIG key " << name << " for " << zname << endl;
+    }
+    else {
+      cerr << "Failure enabling TSIG key " << name << " for " << zname << endl;
+      return 1;
+    }
   }
   else {
-    cerr << "Failure enabling TSIG key " << name << " for " << zname << endl;
-    return 1;
+    cout << "TSIG key " << name << " is already enabled in zone " << zname << endl;
   }
   return 0;
 }
@@ -4735,13 +4738,16 @@ static int deactivateTSIGKey(vector<string>& cmds, const std::string_view synops
   }
   if (iter != meta.end()) {
     meta.erase(iter);
-  }
-  if (B.setDomainMetadata(zname, metaKey, meta)) {
-    cout << "Disabled TSIG key " << name << " for " << zname << endl;
+    if (B.setDomainMetadata(zname, metaKey, meta)) {
+      cout << "Disabled TSIG key " << name << " for " << zname << endl;
+    }
+    else {
+      cerr << "Failure disabling TSIG key " << name << " for " << zname << endl;
+      return 1;
+    }
   }
   else {
-    cerr << "Failure disabling TSIG key " << name << " for " << zname << endl;
-    return 1;
+    cout << "TSIG key " << name << " is not currently enabled in zone " << zname << endl;
   }
   return 0;
 }