]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
API: Accept null as empty list in createZone 8585/head
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 27 Nov 2019 15:39:20 +0000 (16:39 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 27 Nov 2019 15:39:20 +0000 (16:39 +0100)
Some clients refuse to send empty arrays.

pdns/ws-auth.cc

index 4d21bb577558e3260802870be6725cb1a585010f..e1b29ea6f10f41d3c46b7fe989fe5d51258ccdfd 100644 (file)
@@ -1535,8 +1535,8 @@ static void apiServerZones(HttpRequest* req, HttpResponse* resp) {
       throw ApiException("You cannot give rrsets AND zone data as text");
 
     auto nameservers = document["nameservers"];
-    if (!nameservers.is_array() && zonekind != DomainInfo::Slave)
-      throw ApiException("Nameservers list must be given (but can be empty if NS records are supplied)");
+    if (!nameservers.is_null() && !nameservers.is_array() && zonekind != DomainInfo::Slave)
+      throw ApiException("Nameservers is not a list");
 
     string soa_edit_api_kind;
     if (document["soa_edit_api"].is_string()) {