]> granicus.if.org Git - pdns/commitdiff
reenable LDAP testing, plus fix up partial SOA records from backends. Hopefully this...
authorbert hubert <bert.hubert@powerdns.com>
Wed, 7 Sep 2016 17:25:16 +0000 (19:25 +0200)
committerbert hubert <bert.hubert@powerdns.com>
Tue, 13 Sep 2016 10:53:30 +0000 (12:53 +0200)
build-scripts/travis.sh
pdns/dnsbackend.cc

index 0f86b05ffd5c4f63e1b89206acd541240c712668..84c704439e1ec36b1d23b7a4947e4d8a9d458ab1 100755 (executable)
@@ -431,9 +431,9 @@ test_auth() {
 
   run "cd regression-tests"
 
-#  run "./timestamp ./start-test-stop 5300 ldap-tree"
-#  run "./timestamp ./start-test-stop 5300 ldap-simple"
-#  run "./timestamp ./start-test-stop 5300 ldap-strict"
+  run "./timestamp ./start-test-stop 5300 ldap-tree"
+  run "./timestamp ./start-test-stop 5300 ldap-simple"
+  run "./timestamp ./start-test-stop 5300 ldap-strict"
 
   run "./timestamp ./start-test-stop 5300 bind-both"
   run "./timestamp ./start-test-stop 5300 bind-dnssec-both"
index dd13f667a7463deab8f2f5e46546c67a86f5846f..dd8f7c6e32daf228f9d5f52cc7cbdf36c5a3830c 100644 (file)
@@ -274,7 +274,29 @@ bool DNSBackend::get(DNSZoneRecord& dzr)
   dzr.scopeMask = rr.scopeMask;
   if(rr.qtype.getCode() == QType::TXT && !rr.content.empty() && rr.content[0]!='"')
     rr.content = "\""+ rr.content + "\"";
-  dzr.dr = DNSRecord(rr);
+  if(rr.qtype.getCode() == QType::SOA) {
+    try {
+      dzr.dr = DNSRecord(rr);
+    } catch(...) {
+      vector<string> parts;
+      stringtok(parts, rr.content, " \t");
+      if(parts.size() < 1)
+        rr.content+=arg()["default-soa-name"];
+      if(parts.size() < 2)
+        rr.content+=" "+arg()["default-soa-mail"];      
+      if(parts.size() < 3)
+        rr.content += " 0";
+      if(parts.size() < 4)
+        rr.content += " " + ::arg()["soa-refresh-default"];
+      if(parts.size() < 5)
+        rr.content += " " + ::arg()["soa-expire-default"];
+      if(parts.size() < 6)
+        rr.content += " " + ::arg()["soa-minimum-default"];
+      dzr.dr = DNSRecord(rr);        
+    }
+  }
+  else 
+    dzr.dr = DNSRecord(rr);
   return true;
 }