From 9262e6e1d5f570aa2158ce54427bd75a5f3dfb21 Mon Sep 17 00:00:00 2001 From: bert hubert Date: Wed, 7 Sep 2016 19:25:16 +0200 Subject: [PATCH] reenable LDAP testing, plus fix up partial SOA records from backends. Hopefully this was the reason for the failing LDAP backend tests. --- build-scripts/travis.sh | 6 +++--- pdns/dnsbackend.cc | 24 +++++++++++++++++++++++- 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/build-scripts/travis.sh b/build-scripts/travis.sh index 0f86b05ff..84c704439 100755 --- a/build-scripts/travis.sh +++ b/build-scripts/travis.sh @@ -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" diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index dd13f667a..dd8f7c6e3 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -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 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; } -- 2.49.0