From: Kees Monshouwer Date: Sat, 8 Mar 2014 22:46:31 +0000 (+0100) Subject: always store non DNSSEC metadata in oracle backend X-Git-Tag: rec-3.6.0-rc1~75^2~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ad34750d5f9edf8253b3e3a53ce931d0ffcb695d;p=thirdparty%2Fpdns.git always store non DNSSEC metadata in oracle backend --- diff --git a/modules/oraclebackend/oraclebackend.cc b/modules/oraclebackend/oraclebackend.cc index c6f6ecb2ad..3832121055 100644 --- a/modules/oraclebackend/oraclebackend.cc +++ b/modules/oraclebackend/oraclebackend.cc @@ -1251,9 +1251,6 @@ OracleBackend::createSlaveDomain(const string &ip, const string &domain, bool OracleBackend::getAllDomainMetadata (const string& name, std::map >& meta) { - if(!d_dnssecQueries) - return -1; - DomainInfo di; if (getDomainInfo(name, di) == false) return false; @@ -1280,7 +1277,8 @@ OracleBackend::getAllDomainMetadata (const string& name, std::map& meta) { - if(!d_dnssecQueries) + if(!d_dnssecQueries && isDnssecDomainMetadata(kind)) return -1; DomainInfo di; if (getDomainInfo(name, di) == false) return false; @@ -1333,7 +1331,7 @@ bool OracleBackend::setDomainMetadata(const string& name, const string& kind, const vector& meta) { - if(!d_dnssecQueries) + if(!d_dnssecQueries && isDnssecDomainMetadata(kind)) return -1; DomainInfo di; if (getDomainInfo(name, di) == false) return false; @@ -1396,9 +1394,6 @@ OracleBackend::setDomainMetadata(const string& name, const string& kind, bool OracleBackend::getTSIGKey (const string& name, string* algorithm, string* content) { - if(!d_dnssecQueries) - return -1; - sword rc; OCIStmt *stmt; @@ -1432,9 +1427,6 @@ OracleBackend::getTSIGKey (const string& name, string* algorithm, string* conten bool OracleBackend::delTSIGKey(const string& name) { - if(!d_dnssecQueries) - return -1; - sword rc; OCIStmt *stmt; @@ -1464,9 +1456,6 @@ OracleBackend::delTSIGKey(const string& name) bool OracleBackend::setTSIGKey(const string& name, const string& algorithm, const string& content) { - if(!d_dnssecQueries) - return -1; - sword rc; OCIStmt *stmt; @@ -1520,9 +1509,6 @@ OracleBackend::setTSIGKey(const string& name, const string& algorithm, const str bool OracleBackend::getTSIGKeys(std::vector< struct TSIGKey > &keys) { - if(!d_dnssecQueries) - return -1; - sword rc; OCIStmt *stmt; diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 18eb8732bd..71d15f4dc8 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -348,10 +348,6 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_getTSIGKeysQuery = getArg("get-tsig-keys-query"); } -bool isDnssecDomainMetadata (const string& name) { - return (name == "PRESIGNED" || name == "NSEC3PARAM" || name == "NSEC3NARROW"); -} - bool GSQLBackend::updateDNSSECOrderAndAuth(uint32_t domain_id, const std::string& zonename, const std::string& qname, bool auth) { if(!d_dnssecQueries) diff --git a/pdns/backends/gsql/gsqlbackend.hh b/pdns/backends/gsql/gsqlbackend.hh index 9b86cb5d74..6b4794d394 100644 --- a/pdns/backends/gsql/gsqlbackend.hh +++ b/pdns/backends/gsql/gsqlbackend.hh @@ -5,6 +5,8 @@ #include "../../namespaces.hh" +bool isDnssecDomainMetadata (const string& name); + /* GSQLBackend is a generic backend used by other sql backends */ diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index 0bfbb45a1a..8e03d532ba 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -134,6 +134,9 @@ public: } // the DNSSEC related (getDomainMetadata has broader uses too) + bool isDnssecDomainMetadata (const string& name) { + return (name == "PRESIGNED" || name == "NSEC3PARAM" || name == "NSEC3NARROW"); + } virtual bool getAllDomainMetadata(const string& name, std::map >& meta) { return false; }; virtual bool getDomainMetadata(const string& name, const std::string& kind, std::vector& meta) { return false; } virtual bool setDomainMetadata(const string& name, const std::string& kind, const std::vector& meta) {return false;} diff --git a/regression-tests/backends/oracle-master b/regression-tests/backends/oracle-master index 4b4505c542..ebdad4569b 100644 --- a/regression-tests/backends/oracle-master +++ b/regression-tests/backends/oracle-master @@ -25,8 +25,6 @@ __EOF__ if [ $context != oracle-nodnssec ] then echo "oracle-dnssec" >> pdns-oracle.conf - ../pdns/pdnssec --config-dir=. --config-name=oracle import-tsig-key test $ALGORITHM $KEY - ../pdns/pdnssec --config-dir=. --config-name=oracle activate-tsig-key tsig.com test master fi if [ $context != oracle-nodnssec ] @@ -44,6 +42,9 @@ __EOF__ echo "TRUNCATE TABLE records;" | sqlplus -S $ORACLEUSER/$ORACLEPASSWD@xe >> oracle.log ../pdns/zone2sql --oracle | grep -v 'INSERT INTO Zones' | sqlplus -S $ORACLEUSER/$ORACLEPASSWD@xe >> oracle.log + ../pdns/pdnssec --config-dir=. --config-name=oracle import-tsig-key test $ALGORITHM $KEY + ../pdns/pdnssec --config-dir=. --config-name=oracle activate-tsig-key tsig.com test master + $RUNWRAPPER $PDNS --daemon=no --local-port=$port --config-dir=. \ --config-name=oracle --socket-dir=./ --no-shuffle \ --send-root-referral --query-logging \ diff --git a/regression-tests/backends/oracle-slave b/regression-tests/backends/oracle-slave index 6f2a6f99d5..e785d62b0b 100644 --- a/regression-tests/backends/oracle-slave +++ b/regression-tests/backends/oracle-slave @@ -25,17 +25,14 @@ __EOF__ echo "INSERT ALL INTO zones (id, name, type) VALUES (zones_id_seq.nextval, name, 'SLAVE') INTO zonemasters (zone_id, master) VALUES (zones_id_seq.nextval, master) SELECT '$zone' AS name, '127.0.0.1:$port' AS master FROM dual;" | sqlplus -S $ORACLE2USER/$ORACLE2PASSWD@xe >> oracle2.log done + ../pdns/pdnssec --config-dir=. --config-name=oracle2 import-tsig-key test $ALGORITHM $KEY + ../pdns/pdnssec --config-dir=. --config-name=oracle2 activate-tsig-key tsig.com test master + set +e - echo $skipreasons | grep -q nodnssec + echo $skipreasons | grep -q nolua if [ $? -ne 0 ] then - ../pdns/pdnssec --config-dir=. --config-name=oracle2 import-tsig-key test $ALGORITHM $KEY - ../pdns/pdnssec --config-dir=. --config-name=oracle2 activate-tsig-key tsig.com test master - echo $skipreasons | grep -q nolua - if [ $? -ne 0 ] - then - ../pdns/pdnssec --config-dir=. --config-name=oracle2 set-meta stest.com AXFR-SOURCE 127.0.0.2 - fi + ../pdns/pdnssec --config-dir=. --config-name=oracle2 set-meta stest.com AXFR-SOURCE 127.0.0.2 fi set -e