From: Kees Monshouwer Date: Sun, 7 Jun 2015 09:00:28 +0000 (+0200) Subject: redo rectify functions, DNSName style X-Git-Tag: dnsdist-1.0.0-alpha1~248^2~58^2~21^2~5^2~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=79de0a8054e4430d508c7b2695136ac8d567bcdb;p=thirdparty%2Fpdns.git redo rectify functions, DNSName style --- diff --git a/modules/gmysqlbackend/gmysqlbackend.cc b/modules/gmysqlbackend/gmysqlbackend.cc index 7b3f4a514c..a8f6ddaf51 100644 --- a/modules/gmysqlbackend/gmysqlbackend.cc +++ b/modules/gmysqlbackend/gmysqlbackend.cc @@ -87,11 +87,11 @@ public: declare(suffix, "get-order-before-query", "DNSSEC Ordering Query, before", "select ordername, name from records where ordername <= ? and domain_id=? and disabled=0 and ordername is not null order by 1 desc limit 1"); declare(suffix, "get-order-after-query", "DNSSEC Ordering Query, after", "select min(ordername) from records where ordername > ? and domain_id=? and disabled=0 and ordername is not null"); declare(suffix, "get-order-last-query", "DNSSEC Ordering Query, last", "select ordername, name from records where ordername != '' and domain_id=? and disabled=0 and ordername is not null order by 1 desc limit 1"); - declare(suffix, "set-order-and-auth-query", "DNSSEC set ordering query", "update records set ordername=?,auth=? where name=? and domain_id=? and disabled=0"); - declare(suffix, "set-auth-on-ds-record-query", "DNSSEC set auth on a DS record", "update records set auth=1 where domain_id=? and name=? and type='DS' and disabled=0"); - declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and disabled=0"); - declare(suffix, "nullify-ordername-and-auth-query", "DNSSEC nullify ordername and auth query", "update records set ordername=NULL,auth=0 where name=? and type=? and domain_id=? and disabled=0"); + declare(suffix, "update-ordername-and-auth-query", "DNSSEC update ordername and auth for a qname query", "update records set ordername=?,auth=? where domain_id=? and name=? and disabled=0"); + declare(suffix, "update-ordername-and-auth-type-query", "DNSSEC update ordername and auth for a rrset query", "update records set ordername=?,auth=? where domain_id=? and name=? and type=? and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=? where domain_id=? and name=? and type=? and disabled=0"); declare(suffix,"update-master-query","", "update domains set master=? where name=?"); declare(suffix,"update-kind-query","", "update domains set type=? where name=?"); diff --git a/modules/goraclebackend/goraclebackend.cc b/modules/goraclebackend/goraclebackend.cc index ff6c90ce69..b45a5ced88 100644 --- a/modules/goraclebackend/goraclebackend.cc +++ b/modules/goraclebackend/goraclebackend.cc @@ -100,11 +100,11 @@ public: declare(suffix, "get-order-before-query", "DNSSEC Ordering Query, before", "select * FROM (select trim(ordername), name from records where disabled=0 and ordername <= :ordername || ' ' and domain_id=:domain_id and ordername is not null order by ordername desc) where rownum=1"); declare(suffix, "get-order-after-query", "DNSSEC Ordering Query, after", "select trim(min(ordername)) from records where disabled=0 and ordername > :ordername || ' ' and domain_id=:domain_id and ordername is not null"); declare(suffix, "get-order-last-query", "DNSSEC Ordering Query, last", "select * from (select trim(ordername), name from records where disabled=0 and ordername != ' ' and domain_id=:domain_id and ordername is not null order by ordername desc) where rownum=1"); - declare(suffix, "set-order-and-auth-query", "DNSSEC set ordering query", "update records set ordername=:ordername || ' ',auth=:auth where name=:qname and domain_id=:domain_id and disabled=0"); - declare(suffix, "set-auth-on-ds-record-query", "DNSSEC set auth on a DS record", "update records set auth=1 where domain_id=:domain_id and name=:qname and type='DS' and disabled=0"); - declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); - declare(suffix, "nullify-ordername-and-auth-query", "DNSSEC nullify ordername and auth query", "update records set ordername=NULL,auth=0 where name=:qname and type=:qtype and domain_id=:domain_id and disabled=0"); + declare(suffix, "update-ordername-and-auth-query", "DNSSEC update ordername and auth for a qname query", "update records set ordername=:ordername || ' ',auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); + declare(suffix, "update-ordername-and-auth-type-query", "DNSSEC update ordername and auth for a rrset query", "update records set ordername=:ordername || ' ',auth=:auth where domain_id=:domain_id and name=:qname and type=:qtype and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and type=:qtype and disabled=0"); declare(suffix, "update-master-query", "", "update domains set master=:master where name=:domain"); declare(suffix, "update-kind-query", "", "update domains set type=:kind where name=:domain"); diff --git a/modules/gpgsqlbackend/gpgsqlbackend.cc b/modules/gpgsqlbackend/gpgsqlbackend.cc index f48a4c9b3b..212d7b9912 100644 --- a/modules/gpgsqlbackend/gpgsqlbackend.cc +++ b/modules/gpgsqlbackend/gpgsqlbackend.cc @@ -82,11 +82,11 @@ public: declare(suffix, "get-order-before-query", "DNSSEC Ordering Query, before", "select ordername, name from records where disabled=false and ordername ~<=~ $1 and domain_id=$2 and ordername is not null order by 1 using ~>~ limit 1"); declare(suffix, "get-order-after-query", "DNSSEC Ordering Query, after", "select ordername from records where disabled=false and ordername ~>~ $1 and domain_id=$2 and ordername is not null order by 1 using ~<~ limit 1"); declare(suffix, "get-order-last-query", "DNSSEC Ordering Query, last", "select ordername, name from records where disabled=false and ordername != '' and domain_id=$1 and ordername is not null order by 1 using ~>~ limit 1"); - declare(suffix, "set-order-and-auth-query", "DNSSEC set ordering query", "update records set ordername=$1,auth=$2 where name=$3 and domain_id=$4 and disabled=false"); - declare(suffix, "set-auth-on-ds-record-query", "DNSSEC set auth on a DS record", "update records set auth=true where domain_id=$1 and name=$2 and type='DS' and disabled=false"); - declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth query", "update records set ordername=NULL,auth=$1 where domain_id=$2 and name=$3 and disabled=false"); - declare(suffix, "nullify-ordername-and-auth-query", "DNSSEC nullify ordername and auth query", "update records set ordername=NULL,auth=false where name=$1 and type=$2 and domain_id=$3 and disabled=false"); + declare(suffix, "update-ordername-and-auth-query", "DNSSEC update ordername and auth for a qname query", "update records set ordername=$1,auth=$2 where domain_id=$3 and name=$4 and disabled=false"); + declare(suffix, "update-ordername-and-auth-type-query", "DNSSEC update ordername and auth for a rrset query", "update records set ordername=$1,auth=$2 where domain_id=$3 and name=$4 and type=$5 and disabled=false"); + declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=$1 where domain_id=$2 and name=$3 and disabled=false"); + declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=$1 where domain_id=$2 and name=$3 and type=$4 and disabled=false"); declare(suffix,"update-master-query","", "update domains set master=$1 where name=$2"); declare(suffix,"update-kind-query","", "update domains set type=$1 where name=$2"); diff --git a/modules/gsqlite3backend/gsqlite3backend.cc b/modules/gsqlite3backend/gsqlite3backend.cc index ddd68b1b32..a6b892f0a8 100644 --- a/modules/gsqlite3backend/gsqlite3backend.cc +++ b/modules/gsqlite3backend/gsqlite3backend.cc @@ -98,11 +98,11 @@ public: declare(suffix, "get-order-before-query", "DNSSEC Ordering Query, before", "select ordername, name from records where disabled=0 and ordername <= :ordername and domain_id=:domain_id and ordername is not null order by 1 desc limit 1"); declare(suffix, "get-order-after-query", "DNSSEC Ordering Query, after", "select min(ordername) from records where disabled=0 and ordername > :ordername and domain_id=:domain_id and ordername is not null"); declare(suffix, "get-order-last-query", "DNSSEC Ordering Query, last", "select ordername, name from records where disabled=0 and ordername != '' and domain_id=:domain_id and ordername is not null order by 1 desc limit 1"); - declare(suffix, "set-order-and-auth-query", "DNSSEC set ordering query", "update records set ordername=:ordername,auth=:auth where name=:qname and domain_id=:domain_id and disabled=0"); - declare(suffix, "set-auth-on-ds-record-query", "DNSSEC set auth on a DS record", "update records set auth=1 where domain_id=:domain_id and name=:qname and type='DS' and disabled=0"); - declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); - declare(suffix, "nullify-ordername-and-auth-query", "DNSSEC nullify ordername and auth query", "update records set ordername=NULL,auth=0 where name=:qname and type=:qtype and domain_id=:domain_id and disabled=0"); + declare(suffix, "update-ordername-and-auth-query", "DNSSEC update ordername and auth for a qname query", "update records set ordername=:ordername,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); + declare(suffix, "update-ordername-and-auth-type-query", "DNSSEC update ordername and auth for a rrset query", "update records set ordername=:ordername,auth=:auth where domain_id=:domain_id and name=:qname and type=:qtype and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-query", "DNSSEC nullify ordername and update auth for a qname query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and disabled=0"); + declare(suffix, "nullify-ordername-and-update-auth-type-query", "DNSSEC nullify ordername and update auth for a rrset query", "update records set ordername=NULL,auth=:auth where domain_id=:domain_id and name=:qname and type=:qtype and disabled=0"); declare(suffix, "update-master-query", "", "update domains set master=:master where name=:domain"); declare(suffix, "update-kind-query", "", "update domains set type=:kind where name=:domain"); diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index fdb66c82e1..b1fea82d11 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -100,10 +100,11 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_beforeOrderQuery = getArg("get-order-before-query"); d_afterOrderQuery = getArg("get-order-after-query"); d_lastOrderQuery = getArg("get-order-last-query"); - d_setOrderAuthQuery = getArg("set-order-and-auth-query"); + + d_updateOrderNameAndAuthQuery = getArg("update-ordername-and-auth-query"); + d_updateOrderNameAndAuthTypeQuery = getArg("update-ordername-and-auth-type-query"); d_nullifyOrderNameAndUpdateAuthQuery = getArg("nullify-ordername-and-update-auth-query"); - d_nullifyOrderNameAndAuthQuery = getArg("nullify-ordername-and-auth-query"); - d_setAuthOnDsRecordQuery = getArg("set-auth-on-ds-record-query"); + d_nullifyOrderNameAndUpdateAuthTypeQuery = getArg("nullify-ordername-and-update-auth-type-query"); d_AddDomainKeyQuery = getArg("add-domain-key-query"); d_ListDomainKeysQuery = getArg("list-domain-keys-query"); @@ -157,11 +158,10 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_beforeOrderQuery_stmt = NULL; d_afterOrderQuery_stmt = NULL; d_lastOrderQuery_stmt = NULL; - d_setOrderAuthQuery_stmt = NULL; + d_updateOrderNameAndAuthQuery_stmt = NULL; + d_updateOrderNameAndAuthTypeQuery_stmt = NULL; d_nullifyOrderNameAndUpdateAuthQuery_stmt = NULL; - d_nullifyOrderNameAndAuthQuery_stmt = NULL; - d_nullifyOrderNameAndAuthENTQuery_stmt = NULL; - d_setAuthOnDsRecordQuery_stmt = NULL; + d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt = NULL; d_removeEmptyNonTerminalsFromZoneQuery_stmt = NULL; d_insertEmptyNonTerminalQuery_stmt = NULL; d_deleteEmptyNonTerminalQuery_stmt = NULL; @@ -413,86 +413,67 @@ void GSQLBackend::getUpdatedMasters(vector *updatedDomains) } } -bool GSQLBackend::updateDNSSECOrderAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, bool auth) -{ - if(!d_dnssecQueries) - return false; - string ins=toLower(labelReverse(makeRelative(qname.toString(), zonename.toString()))); //FIXME makeRelative to dnsname? - return this->updateDNSSECOrderAndAuthAbsolute(domain_id, qname, ins, auth); -} - -bool GSQLBackend::updateDNSSECOrderAndAuthAbsolute(uint32_t domain_id, const DNSName& qname, const std::string& ordername, bool auth) +bool GSQLBackend::updateDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, const DNSName& ordername, bool auth, const uint16_t qtype) { if(!d_dnssecQueries) return false; - try { - d_setOrderAuthQuery_stmt-> - bind("ordername", ordername)-> - bind("auth", auth)-> - bind("qname", qname)-> - bind("domain_id", domain_id)-> - execute()-> - reset(); - } - catch(SSqlException &e) { - throw PDNSException("GSQLBackend unable to update ordername/auth for domain_id "+itoa(domain_id)+": "+e.txtReason()); - } - return true; -} - -bool GSQLBackend::nullifyDNSSECOrderNameAndUpdateAuth(uint32_t domain_id, const DNSName& qname, bool auth) -{ - if(!d_dnssecQueries) - return false; - - try { - d_nullifyOrderNameAndUpdateAuthQuery_stmt-> - bind("auth", auth)-> - bind("domain_id", domain_id)-> - bind("qname", qname)-> - execute()-> - reset(); - } - catch(SSqlException &e) { - throw PDNSException("GSQLBackend unable to nullify ordername and update auth for domain_id "+itoa(domain_id)+": "+e.txtReason()); - } - return true; -} - -bool GSQLBackend::nullifyDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& qname, const std::string& type) -{ - if(!d_dnssecQueries) - return false; - - try { - d_nullifyOrderNameAndAuthQuery_stmt-> - bind("qname", qname)-> - bind("qtype", type)-> - bind("domain_id", domain_id)-> - execute()-> - reset(); - } - catch(SSqlException &e) { - throw PDNSException("GSQLBackend unable to nullify ordername/auth for domain_id "+itoa(domain_id)+": "+e.txtReason()); - } - return true; -} - -bool GSQLBackend::setDNSSECAuthOnDsRecord(uint32_t domain_id, const DNSName& qname) -{ - if(!d_dnssecQueries) - return false; - - try { - d_setAuthOnDsRecordQuery_stmt-> - bind("domain_id", domain_id)-> - bind("qname", qname)-> - execute()-> - reset(); - } - catch(SSqlException &e) { - throw PDNSException("GSQLBackend unable to set auth on DS record "+qname.toString()+" for domain_id "+itoa(domain_id)+": "+e.txtReason()); + if (!ordername.empty()) { + if (qtype == QType::ANY) { + try { + d_updateOrderNameAndAuthQuery_stmt-> + bind("ordername", ordername.makeRelative(zonename).labelReverse().toString(" ", false))-> + bind("auth", auth)-> + bind("domain_id", domain_id)-> + bind("qname", qname)-> + execute()-> + reset(); + } + catch(SSqlException &e) { + throw PDNSException("GSQLBackend unable to update ordername and auth for domain_id "+itoa(domain_id)+": "+e.txtReason()); + } + } else { + try { + d_updateOrderNameAndAuthTypeQuery_stmt-> + bind("ordername", ordername.makeRelative(zonename).labelReverse().toString(" ", false))-> + bind("auth", auth)-> + bind("domain_id", domain_id)-> + bind("qname", qname)-> + bind("qtype", QType(qtype).getName())-> + execute()-> + reset(); + } + catch(SSqlException &e) { + throw PDNSException("GSQLBackend unable to update ordername and auth per type for domain_id "+itoa(domain_id)+": "+e.txtReason()); + } + } + } else { + if (qtype == QType::ANY) { + try { + d_nullifyOrderNameAndUpdateAuthQuery_stmt-> + bind("auth", auth)-> + bind("domain_id", domain_id)-> + bind("qname", qname)-> + execute()-> + reset(); + } + catch(SSqlException &e) { + throw PDNSException("GSQLBackend unable to nullify ordername and update auth for domain_id "+itoa(domain_id)+": "+e.txtReason()); + } + } else { + try { + d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt-> + bind("auth", auth)-> + bind("domain_id", domain_id)-> + bind("qname", qname)-> + bind("qtype", QType(qtype).getName())-> + execute()-> + reset(); + } + catch(SSqlException &e) { + throw PDNSException("GSQLBackend unable to nullify ordername and update auth per type for domain_id "+itoa(domain_id)+": "+e.txtReason()); + } + } } return true; } @@ -971,7 +952,7 @@ bool GSQLBackend::list(const DNSName &target, int domain_id, bool include_disabl throw PDNSException("GSQLBackend list query: "+e.txtReason()); } - d_qname=""; + d_qname.clear(); return true; } @@ -990,7 +971,7 @@ bool GSQLBackend::listSubZone(const DNSName &zone, int domain_id) { catch(SSqlException &e) { throw PDNSException("GSQLBackend listSubZone query: "+e.txtReason()); } - d_qname=""; + d_qname.clear(); return true; } diff --git a/pdns/backends/gsql/gsqlbackend.hh b/pdns/backends/gsql/gsqlbackend.hh index 321adf1cec..45cb78e88e 100644 --- a/pdns/backends/gsql/gsqlbackend.hh +++ b/pdns/backends/gsql/gsqlbackend.hh @@ -63,11 +63,10 @@ public: d_beforeOrderQuery_stmt = d_db->prepare(d_beforeOrderQuery, 2); d_afterOrderQuery_stmt = d_db->prepare(d_afterOrderQuery, 2); d_lastOrderQuery_stmt = d_db->prepare(d_lastOrderQuery, 1); - d_setOrderAuthQuery_stmt = d_db->prepare(d_setOrderAuthQuery, 4); + d_updateOrderNameAndAuthQuery_stmt = d_db->prepare(d_updateOrderNameAndAuthQuery, 4); + d_updateOrderNameAndAuthTypeQuery_stmt = d_db->prepare(d_updateOrderNameAndAuthTypeQuery, 5); d_nullifyOrderNameAndUpdateAuthQuery_stmt = d_db->prepare(d_nullifyOrderNameAndUpdateAuthQuery, 3); - d_nullifyOrderNameAndAuthQuery_stmt = d_db->prepare(d_nullifyOrderNameAndAuthQuery, 3); - d_nullifyOrderNameAndAuthENTQuery_stmt = d_db->prepare(d_nullifyOrderNameAndAuthENTQuery, 0); - d_setAuthOnDsRecordQuery_stmt = d_db->prepare(d_setAuthOnDsRecordQuery, 2); + d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt = d_db->prepare(d_nullifyOrderNameAndUpdateAuthTypeQuery, 4); d_removeEmptyNonTerminalsFromZoneQuery_stmt = d_db->prepare(d_removeEmptyNonTerminalsFromZoneQuery, 1); d_insertEmptyNonTerminalQuery_stmt = d_db->prepare(d_insertEmptyNonTerminalQuery, 2); d_deleteEmptyNonTerminalQuery_stmt = d_db->prepare(d_deleteEmptyNonTerminalQuery, 2); @@ -132,11 +131,10 @@ public: release(&d_beforeOrderQuery_stmt); release(&d_afterOrderQuery_stmt); release(&d_lastOrderQuery_stmt); - release(&d_setOrderAuthQuery_stmt); + release(&d_updateOrderNameAndAuthQuery_stmt); + release(&d_updateOrderNameAndAuthTypeQuery_stmt); release(&d_nullifyOrderNameAndUpdateAuthQuery_stmt); - release(&d_nullifyOrderNameAndAuthQuery_stmt); - release(&d_nullifyOrderNameAndAuthENTQuery_stmt); - release(&d_setAuthOnDsRecordQuery_stmt); + release(&d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt); release(&d_removeEmptyNonTerminalsFromZoneQuery_stmt); release(&d_insertEmptyNonTerminalQuery_stmt); release(&d_deleteEmptyNonTerminalQuery_stmt); @@ -188,11 +186,8 @@ public: bool setAccount(const DNSName &domain, const string &account); virtual bool getBeforeAndAfterNamesAbsolute(uint32_t id, const string& qname, DNSName& unhashed, std::string& before, std::string& after); - bool updateDNSSECOrderAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, bool auth); - virtual bool updateDNSSECOrderAndAuthAbsolute(uint32_t domain_id, const DNSName& qname, const std::string& ordername, bool auth); - virtual bool nullifyDNSSECOrderNameAndUpdateAuth(uint32_t domain_id, const DNSName& qname, bool auth); - virtual bool nullifyDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& qname, const std::string& type); - virtual bool setDNSSECAuthOnDsRecord(uint32_t domain_id, const DNSName& qname); + virtual bool updateDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, const DNSName& ordername, bool auth, const uint16_t=QType::ANY); + virtual bool updateEmptyNonTerminals(uint32_t domain_id, const DNSName& zonename, set& insert ,set& erase, bool remove); virtual bool doesDNSSEC(); @@ -264,11 +259,12 @@ private: string d_beforeOrderQuery; string d_afterOrderQuery; string d_lastOrderQuery; - string d_setOrderAuthQuery; + + string d_updateOrderNameAndAuthQuery; + string d_updateOrderNameAndAuthTypeQuery; string d_nullifyOrderNameAndUpdateAuthQuery; - string d_nullifyOrderNameAndAuthQuery; - string d_nullifyOrderNameAndAuthENTQuery; - string d_setAuthOnDsRecordQuery; + string d_nullifyOrderNameAndUpdateAuthTypeQuery; + string d_removeEmptyNonTerminalsFromZoneQuery; string d_insertEmptyNonTerminalQuery; string d_deleteEmptyNonTerminalQuery; @@ -332,11 +328,10 @@ private: SSqlStatement* d_beforeOrderQuery_stmt; SSqlStatement* d_afterOrderQuery_stmt; SSqlStatement* d_lastOrderQuery_stmt; - SSqlStatement* d_setOrderAuthQuery_stmt; + SSqlStatement* d_updateOrderNameAndAuthQuery_stmt; + SSqlStatement* d_updateOrderNameAndAuthTypeQuery_stmt; SSqlStatement* d_nullifyOrderNameAndUpdateAuthQuery_stmt; - SSqlStatement* d_nullifyOrderNameAndAuthQuery_stmt; - SSqlStatement* d_nullifyOrderNameAndAuthENTQuery_stmt; - SSqlStatement* d_setAuthOnDsRecordQuery_stmt; + SSqlStatement* d_nullifyOrderNameAndUpdateAuthTypeQuery_stmt; SSqlStatement* d_removeEmptyNonTerminalsFromZoneQuery_stmt; SSqlStatement* d_insertEmptyNonTerminalQuery_stmt; SSqlStatement* d_deleteEmptyNonTerminalQuery_stmt; diff --git a/pdns/backends/gsql/ssql.hh b/pdns/backends/gsql/ssql.hh index 08d7639589..7a21c27cba 100644 --- a/pdns/backends/gsql/ssql.hh +++ b/pdns/backends/gsql/ssql.hh @@ -47,7 +47,7 @@ public: virtual SSqlStatement* bind(const string& name, unsigned long long value)=0; virtual SSqlStatement* bind(const string& name, const std::string& value)=0; SSqlStatement* bind(const string& name, const DNSName& value) { - return bind(name, stripDot(value.toString())); + return bind(name, toLower(value.toStringNoDot())); // FIXME toLower()? } virtual SSqlStatement* bindNull(const string& name)=0; virtual SSqlStatement* execute()=0;; diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index b071321171..4dfaa25802 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -193,12 +193,7 @@ public: virtual bool getBeforeAndAfterNames(uint32_t id, const DNSName& zonename, const DNSName& qname, DNSName& before, DNSName& after); - virtual bool updateDNSSECOrderAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, bool auth) - { - return false; - } - - virtual bool updateDNSSECOrderAndAuthAbsolute(uint32_t domain_id, const DNSName& qname, const std::string& ordername, bool auth) + virtual bool updateDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& zonename, const DNSName& qname, const DNSName& ordername, bool auth, const uint16_t qtype=QType::ANY) { return false; } @@ -208,21 +203,6 @@ public: return false; } - virtual bool nullifyDNSSECOrderNameAndUpdateAuth(uint32_t domain_id, const DNSName& qname, bool auth) - { - return false; - } - - virtual bool nullifyDNSSECOrderNameAndAuth(uint32_t domain_id, const DNSName& qname, const std::string& type) - { - return false; - } - - virtual bool setDNSSECAuthOnDsRecord(uint32_t domain_id, const DNSName& qname) - { - return false; - } - virtual bool doesDNSSEC() { return false;