]> granicus.if.org Git - pdns/commitdiff
Deduplicate and shorten API exception message
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 16 Oct 2017 10:40:48 +0000 (12:40 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 17 Oct 2017 14:17:28 +0000 (16:17 +0200)
pdns/ws-auth.cc

index 7aa153c493f930ec5c836ddae940147362460d40..473599783896b6a754a3f092c9a8b51ab71481fa 100644 (file)
@@ -542,6 +542,11 @@ static void checkDefaultDNSSECAlgos() {
   }
 }
 
+static void throwUnableToSecure(const DNSName& zonename) {
+  throw ApiException("No backend was able to secure '" + zonename.toString() + "', most likely because no DNSSEC"
+      + "capable backends are loaded, or because the backends have DNSSEC disabled. Check your configuration.");
+}
+
 static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo& di, const DNSName& zonename, const Json document) {
   string zonemaster;
   bool shouldRectify = false;
@@ -599,20 +604,14 @@ static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo&
         if (k_algo != -1) {
           int64_t id;
           if (!dk.addKey(zonename, true, k_algo, id, k_size)) {
-            throw ApiException("No backend was able to secure '" + zonename.toString() + "', most likely because no DNSSEC"
-                + "capable backends are loaded, or because the backends have DNSSEC disabled."
-                + "For the Generic SQL backends, set the 'gsqlite3-dnssec', 'gmysql-dnssec' or"
-                + "'gpgsql-dnssec' flag. Also make sure the schema has been updated for DNSSEC!");
+            throwUnableToSecure(zonename);
           }
         }
 
         if (z_algo != -1) {
           int64_t id;
           if (!dk.addKey(zonename, false, z_algo, id, z_size)) {
-            throw ApiException("No backend was able to secure '" + zonename.toString() + "', most likely because no DNSSEC"
-                + "capable backends are loaded, or because the backends have DNSSEC disabled."
-                + "For the Generic SQL backends, set the 'gsqlite3-dnssec', 'gmysql-dnssec' or"
-                + "'gpgsql-dnssec' flag. Also make sure the schema has been updated for DNSSEC!");
+            throwUnableToSecure(zonename);
           }
         }
 
@@ -620,11 +619,7 @@ static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo&
         isDNSSECZone = dk.isSecuredZone(zonename);
 
         if (!isDNSSECZone) {
-          throw ApiException("Failed to secure '" + zonename.toString() + "'. Is your backend dnssec enabled? (set "
-              + "gsqlite3-dnssec, or gmysql-dnssec etc). Check this first."
-              + "If you run with the BIND backend, make sure you have configured"
-              + "it to use DNSSEC with 'bind-dnssec-db=/path/fname' and"
-              + "'pdnsutil create-bind-db /path/fname'!");
+          throwUnableToSecure(zonename);
         }
         shouldRectify = true;
       }