From: Kees Monshouwer Date: Mon, 1 Jun 2015 21:07:01 +0000 (+0200) Subject: gmysql compiles X-Git-Tag: dnsdist-1.0.0-alpha1~248^2~58^2~21^2~5^2~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1d06abfa3267ab8e3bca3ce6f38bfeec635e743;p=thirdparty%2Fpdns.git gmysql compiles --- diff --git a/modules/gmysqlbackend/smysql.cc b/modules/gmysqlbackend/smysql.cc index 8d981ef558..5dc519b0ae 100644 --- a/modules/gmysqlbackend/smysql.cc +++ b/modules/gmysqlbackend/smysql.cc @@ -117,6 +117,9 @@ public: d_paridx++; return this; } + SSqlStatement* bind(const string& name, const DNSName& value) { + return bind(name, stripDot(value.toString())); + } SSqlStatement* bindNull(const string& name) { if (d_paridx >= d_parnum) throw SSqlException("Attempt to bind more parameters than query has: " + d_query); diff --git a/pdns/backends/gsql/gsqlbackend.cc b/pdns/backends/gsql/gsqlbackend.cc index 5ea37df8cf..c8975e9c5b 100644 --- a/pdns/backends/gsql/gsqlbackend.cc +++ b/pdns/backends/gsql/gsqlbackend.cc @@ -917,22 +917,20 @@ bool GSQLBackend::setDomainMetadata(const string& name, const std::string& kind, return true; } -void GSQLBackend::lookup(const QType &qtype,const string &qname, DNSPacket *pkt_p, int domain_id) +void GSQLBackend::lookup(const QType &qtype,const DNSName &qname, DNSPacket *pkt_p, int domain_id) { - string lcqname=toLower(qname); - try { if(qtype.getCode()!=QType::ANY) { if(domain_id < 0) { d_query_stmt = d_NoIdQuery_stmt; d_query_stmt-> bind("qtype", qtype.getName())-> - bind("qname", lcqname); + bind("qname", qname); // DNSNameFIXME: toLower()? } else { d_query_stmt = d_IdQuery_stmt; d_query_stmt-> bind("qtype", qtype.getName())-> - bind("qname", lcqname)-> + bind("qname", qname)-> bind("domain_id", domain_id); } } else { @@ -940,11 +938,11 @@ void GSQLBackend::lookup(const QType &qtype,const string &qname, DNSPacket *pkt_ if(domain_id < 0) { d_query_stmt = d_ANYNoIdQuery_stmt; d_query_stmt-> - bind("qname", lcqname); + bind("qname", qname); } else { d_query_stmt = d_ANYIdQuery_stmt; d_query_stmt-> - bind("qname", lcqname)-> + bind("qname", qname)-> bind("domain_id", domain_id); } } @@ -959,7 +957,7 @@ void GSQLBackend::lookup(const QType &qtype,const string &qname, DNSPacket *pkt_ d_qname=qname; } -bool GSQLBackend::list(const string &target, int domain_id, bool include_disabled) +bool GSQLBackend::list(const DNSName &target, int domain_id, bool include_disabled) { DLOG(L<<"GSQLBackend constructing handle for list of domain id '"< *domains, bool include_disabled=false); bool isMaster(const string &domain, const string &ip); @@ -222,7 +222,7 @@ public: bool replaceComments(const uint32_t domain_id, const string& qname, const QType& qt, const vector& comments); private: - string d_qname; + DNSName d_qname; SSql *d_db; SSqlStatement::result_t d_result; diff --git a/pdns/backends/gsql/ssql.hh b/pdns/backends/gsql/ssql.hh index 7256d6a06e..955bc1f796 100644 --- a/pdns/backends/gsql/ssql.hh +++ b/pdns/backends/gsql/ssql.hh @@ -13,6 +13,7 @@ #include #include "../../namespaces.hh" #include +#include "../../dnsname.hh" class SSqlException {