From 75f02b56c3528a6802978d809cd5a0dd442c5f5f Mon Sep 17 00:00:00 2001 From: Kees Monshouwer Date: Thu, 10 Apr 2014 15:29:17 +0200 Subject: [PATCH] remove unused wilcard queries --- modules/gmysqlbackend/gmysqlbackend.cc | 5 -- modules/goraclebackend/goraclebackend.cc | 5 -- modules/gpgsqlbackend/gpgsqlbackend.cc | 5 -- modules/gsqlite3backend/gsqlite3backend.cc | 5 -- pdns/backends/gsql/gsqlbackend.cc | 78 ++++++++-------------- pdns/backends/gsql/gsqlbackend.hh | 13 ++-- 6 files changed, 34 insertions(+), 77 deletions(-) diff --git a/modules/gmysqlbackend/gmysqlbackend.cc b/modules/gmysqlbackend/gmysqlbackend.cc index 71ae38dd3f..d156a9ab66 100644 --- a/modules/gmysqlbackend/gmysqlbackend.cc +++ b/modules/gmysqlbackend/gmysqlbackend.cc @@ -54,13 +54,8 @@ public: declare(suffix, "basic-query", "Basic query", record_query+" disabled=0 and type='%s' and name='%s'"); declare(suffix, "id-query", "Basic with ID query", record_query+" disabled=0 and type='%s' and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-query", "Wildcard query", record_query+" disabled=0 and type='%s' and name like '%s'"); - declare(suffix, "wildcard-id-query", "Wildcard with ID query", record_query+" disabled=0 and type='%s' and name like '%s' and domain_id='%d'"); - declare(suffix, "any-query", "Any query", record_query+" disabled=0 and name='%s'"); declare(suffix, "any-id-query", "Any with ID query", record_query+" disabled=0 and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-any-query", "Wildcard ANY query", record_query+" disabled=0 and name like '%s'"); - declare(suffix, "wildcard-any-id-query", "Wildcard ANY with ID query", record_query+" disabled=0 and name like '%s' and domain_id='%d'"); declare(suffix, "list-query", "AXFR query", record_query+" (disabled=0 OR %d) and domain_id='%d' order by name, type"); declare(suffix, "list-subzone-query", "Subzone listing", record_query+" disabled=0 and (name='%s' OR name like '%s') and domain_id='%d'"); diff --git a/modules/goraclebackend/goraclebackend.cc b/modules/goraclebackend/goraclebackend.cc index 5b84c97d53..5815721d23 100644 --- a/modules/goraclebackend/goraclebackend.cc +++ b/modules/goraclebackend/goraclebackend.cc @@ -61,13 +61,8 @@ public: declare(suffix, "basic-query", "Basic query", record_query+" disabled=0 and type='%s' and name='%s'"); declare(suffix, "id-query", "Basic with ID query", record_query+" disabled=0 and type='%s' and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-query", "Wildcard query", record_query+" disabled=0 and type='%s' and name like '%s'"); - declare(suffix, "wildcard-id-query", "Wildcard with ID query", record_query+" disabled=0 and type='%s' and name like '%s' and domain_id='%d'"); - declare(suffix, "any-query", "Any query", record_query+" disabled=0 and name='%s'"); declare(suffix, "any-id-query", "Any with ID query", record_query+" disabled=0 and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-any-query", "Wildcard ANY query", record_query+" disabled=0 and name like '%s'"); - declare(suffix, "wildcard-any-id-query", "Wildcard ANY with ID query", record_query+" disabled=0 and name like '%s' and domain_id='%d'"); declare(suffix, "list-query", "AXFR query", record_query+" (disabled=0 OR 1=%d) and domain_id='%d' order by name, type"); declare(suffix, "list-subzone-query", "Subzone listing", record_query+" disabled=0 and (name='%s' OR name like '%s') and domain_id='%d'"); diff --git a/modules/gpgsqlbackend/gpgsqlbackend.cc b/modules/gpgsqlbackend/gpgsqlbackend.cc index eb691796f2..2041f83973 100644 --- a/modules/gpgsqlbackend/gpgsqlbackend.cc +++ b/modules/gpgsqlbackend/gpgsqlbackend.cc @@ -50,13 +50,8 @@ public: declare(suffix, "basic-query", "Basic query", record_query+" disabled=false and type='%s' and name=E'%s'"); declare(suffix, "id-query", "Basic with ID query", record_query+" disabled=false and type='%s' and name=E'%s' and domain_id=%d"); - declare(suffix, "wildcard-query", "Wildcard query", record_query+" disabled=false and type='%s' and name like E'%s'"); - declare(suffix, "wildcard-id-query", "Wildcard with ID query", record_query+" disabled=false and type='%s' and name like E'%s' and domain_id='%d'"); - declare(suffix, "any-query", "Any query", record_query+" disabled=false and name=E'%s'"); declare(suffix, "any-id-query", "Any with ID query", record_query+" disabled=false and name=E'%s' and domain_id=%d"); - declare(suffix, "wildcard-any-query", "Wildcard ANY query", record_query+" disabled=false and name like E'%s'"); - declare(suffix, "wildcard-any-id-query", "Wildcard ANY with ID query", record_query+" disabled=false and name like E'%s' and domain_id='%d'"); declare(suffix, "list-query", "AXFR query", record_query+" (disabled=false OR %d::bool) and domain_id='%d' order by name, type"); declare(suffix, "list-subzone-query", "Subzone listing", record_query+" disabled=false and (name=E'%s' OR name like E'%s') and domain_id='%d'"); diff --git a/modules/gsqlite3backend/gsqlite3backend.cc b/modules/gsqlite3backend/gsqlite3backend.cc index 5a783dcfdb..83ffea148a 100644 --- a/modules/gsqlite3backend/gsqlite3backend.cc +++ b/modules/gsqlite3backend/gsqlite3backend.cc @@ -64,13 +64,8 @@ public: declare(suffix, "basic-query", "Basic query", record_query+" disabled=0 and type='%s' and name='%s'"); declare(suffix, "id-query", "Basic with ID query", record_query+" disabled=0 and type='%s' and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-query", "Wildcard query", record_query+" disabled=0 and type='%s' and name like '%s'"); - declare(suffix, "wildcard-id-query", "Wildcard with ID query", record_query+" disabled=0 and type='%s' and name like '%s' and domain_id='%d'"); - declare(suffix, "any-query", "Any query", record_query+" disabled=0 and name='%s'"); declare(suffix, "any-id-query", "Any with ID query", record_query+" disabled=0 and name='%s' and domain_id=%d"); - declare(suffix, "wildcard-any-query", "Wildcard ANY query", record_query+" disabled=0 and name like '%s'"); - declare(suffix, "wildcard-any-id-query", "Wildcard ANY with ID query", record_query+" disabled=0 and name like '%s' and domain_id='%d'"); declare(suffix, "list-query", "AXFR query", record_query+" (disabled=0 OR %d) and domain_id='%d' order by name, type"); declare(suffix, "list-subzone-query", "Subzone listing", record_query+" disabled=0 and (name='%s' OR name like '%s') and domain_id=%d"); diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 71d15f4dc8..6bf664725f 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -273,16 +273,11 @@ GSQLBackend::GSQLBackend(const string &mode, const string &suffix) d_dnssecQueries = false; } - d_noWildCardNoIDQuery=getArg("basic-query"); - d_noWildCardIDQuery=getArg("id-query"); - d_wildCardNoIDQuery=getArg("wildcard-query"); - d_wildCardIDQuery=getArg("wildcard-id-query"); - - d_noWildCardANYNoIDQuery=getArg("any-query"); - d_noWildCardANYIDQuery=getArg("any-id-query"); - d_wildCardANYNoIDQuery=getArg("wildcard-any-query"); - d_wildCardANYIDQuery=getArg("wildcard-any-id-query"); - + d_NoIdQuery=getArg("basic-query"); + d_IdQuery=getArg("id-query"); + d_ANYNoIdQuery=getArg("any-query"); + d_ANYIdQuery=getArg("any-id-query"); + d_listQuery=getArg("list-query"); d_listSubZoneQuery=getArg("list-subzone-query"); @@ -794,56 +789,41 @@ bool GSQLBackend::setDomainMetadata(const string& name, const std::string& kind, void GSQLBackend::lookup(const QType &qtype,const string &qname, DNSPacket *pkt_p, int domain_id) { - string format; - char output[1024]; - string lcqname=toLower(qname); - - // lcqname=labelReverse(makeRelative(lcqname, "net")); + string query; if(qtype.getCode()!=QType::ANY) { - // qtype qname domain_id - if(domain_id<0) { - if(qname[0]=='%') - format=d_wildCardNoIDQuery; - else - format=d_noWildCardNoIDQuery; - - snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(qtype.getName()).c_str(), sqlEscape(lcqname).c_str()); - } - else { - if(qname[0]!='%') - format=d_noWildCardIDQuery; - else - format=d_wildCardIDQuery; - snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(qtype.getName()).c_str(),sqlEscape(lcqname).c_str(),domain_id); + if(domain_id < 0) { + query = (boost::format(d_NoIdQuery) + % sqlEscape(qtype.getName()) + % sqlEscape(lcqname) + ).str(); + } else { + query = (boost::format(d_IdQuery) + % sqlEscape(qtype.getName()) + % sqlEscape(lcqname) + % domain_id + ).str(); } - } - else { + } else { // qtype==ANY - // qname domain_id - if(domain_id<0) { - if(qname[0]=='%') - format=d_wildCardANYNoIDQuery; - else - format=d_noWildCardANYNoIDQuery; - - snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(lcqname).c_str()); - } - else { - if(qname[0]!='%') - format=d_noWildCardANYIDQuery; - else - format=d_wildCardANYIDQuery; - snprintf(output,sizeof(output)-1, format.c_str(),sqlEscape(lcqname).c_str(),domain_id); + if(domain_id < 0) { + query = (boost::format(d_ANYNoIdQuery) + % sqlEscape(lcqname) + ).str(); + } else { + query = (boost::format(d_ANYIdQuery) + % sqlEscape(lcqname) + % domain_id + ).str(); } } try { - d_db->doQuery(output); + d_db->doQuery(query); } catch(SSqlException &e) { - throw PDNSException(e.txtReason()); + throw PDNSException("GSQLBackend lookup query:"+e.txtReason()); } d_qname=qname; diff --git a/pdns/backends/gsql/gsqlbackend.hh b/pdns/backends/gsql/gsqlbackend.hh index 6b4794d394..1dfa64ce95 100644 --- a/pdns/backends/gsql/gsqlbackend.hh +++ b/pdns/backends/gsql/gsqlbackend.hh @@ -92,14 +92,11 @@ private: SSql *d_db; SSql::result_t d_result; - string d_wildCardNoIDQuery; - string d_noWildCardNoIDQuery; - string d_noWildCardIDQuery; - string d_wildCardIDQuery; - string d_wildCardANYNoIDQuery; - string d_noWildCardANYNoIDQuery; - string d_noWildCardANYIDQuery; - string d_wildCardANYIDQuery; + string d_NoIdQuery; + string d_IdQuery; + string d_ANYNoIdQuery; + string d_ANYIdQuery; + string d_listQuery; string d_listSubZoneQuery; string d_logprefix; -- 2.47.2