]> granicus.if.org Git - pdns/commitdiff
API: Fully boolify api_rectify
authorPieter Lexis <pieter.lexis@powerdns.com>
Mon, 16 Oct 2017 09:37:26 +0000 (11:37 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 17 Oct 2017 14:17:15 +0000 (16:17 +0200)
docs/http-api/zone.rst
pdns/ws-auth.cc

index 282f7d2f7323c3cba9e4a2e884a69376d46446eb..2a6acd5176971950a78809350a7c31720f6644ae 100644 (file)
@@ -38,7 +38,7 @@ Comments are per-RRset.
 
   Switching ``dnssec`` to ``true`` (from ``false``) sets up DNSSEC signing
   based on the other flags, this includes running the equivalent of
-  ``secure-zone`` and ``rectify-zone`` (if ``api_rectify`` is set to "1").
+  ``secure-zone`` and ``rectify-zone`` (if ``api_rectify`` is set to ``true``).
   This also applies to newly created zones. If ``presigned`` is ``true``,
   no DNSSEC changes will be made to the zone or cryptokeys.
 
index 9d22bd71898f32c3216e690fe35c8b3ebb43db7a..02dfbb33862adf0f587bef418e08e1f8da91f6a2 100644 (file)
@@ -564,9 +564,12 @@ static void updateDomainSettingsFromDocument(UeberBackend& B, const DomainInfo&
   if (document["soa_edit"].is_string()) {
     di.backend->setDomainMetadataOne(zonename, "SOA-EDIT", document["soa_edit"].string_value());
   }
-  if (document["api_rectify"].is_string()) {
-    di.backend->setDomainMetadataOne(zonename, "API-RECTIFY", document["api_rectify"].string_value());
+  try {
+    bool api_rectify = boolFromJson(document, "api_rectify");
+    di.backend->setDomainMetadataOne(zonename, "API-RECTIFY", api_rectify ? "1" : "0");
   }
+  catch (JsonException) {}
+
   if (document["account"].is_string()) {
     di.backend->setAccount(zonename, document["account"].string_value());
   }