]> granicus.if.org Git - pdns/commitdiff
opendbx mostly works, except for the axfr test
authorPeter van Dijk <peter.van.dijk@netherlabs.nl>
Tue, 16 Jun 2015 11:49:58 +0000 (13:49 +0200)
committermind04 <mind04@monshouwer.org>
Tue, 30 Jun 2015 06:12:48 +0000 (08:12 +0200)
modules/opendbxbackend/odbxbackend.cc
modules/opendbxbackend/odbxbackend.hh

index fd6cc1987b965ae9dceeb99179ae1f6e1daecd1b..7c4e52133a47e5c56a68f7029a9fdc4e55d8daf8 100644 (file)
@@ -169,7 +169,7 @@ bool OdbxBackend::getDomainInfo( const string& domain, DomainInfo& di )
 
 
 
-bool OdbxBackend::getSOA( const string& domain, SOAData& sd, DNSPacket* p )
+bool OdbxBackend::getSOA( const DNSName& domain, SOAData& sd, DNSPacket* p )
 {
         const char* tmp;
 
@@ -179,7 +179,7 @@ bool OdbxBackend::getSOA( const string& domain, SOAData& sd, DNSPacket* p )
                DLOG( L.log( m_myname + " getSOA()", Logger::Debug ) );
 
                string stmt = getArg( "sql-lookupsoa" );
-               string& stmtref = strbind( ":name", escape( toLower( domain ), READ ), stmt );
+               string& stmtref = strbind( ":name", escape( domain.toStringNoDot(), READ ), stmt );
 
                if( !execStmt( stmtref.c_str(), stmtref.size(), READ ) ) { return false; }
                if( !getRecord( READ ) ) { return false; }
@@ -198,7 +198,7 @@ bool OdbxBackend::getSOA( const string& domain, SOAData& sd, DNSPacket* p )
                        if( ( tmp = odbx_field_value( m_result, 2 ) ) != NULL )
                        {
                                sd.ttl = strtoul( tmp, NULL, 10 );
-                       } 
+                       }
 
                        if( sd.serial == 0 && ( tmp = odbx_field_value( m_result, 1 ) ) != NULL )
                        {
@@ -235,7 +235,7 @@ bool OdbxBackend::getSOA( const string& domain, SOAData& sd, DNSPacket* p )
 
 
 
-bool OdbxBackend::list( const string& target, int zoneid, bool include_disabled )
+bool OdbxBackend::list( const DNSName& target, int zoneid, bool include_disabled )
 {
         try
         {
@@ -274,7 +274,7 @@ bool OdbxBackend::list( const string& target, int zoneid, bool include_disabled
 
 
 
-void OdbxBackend::lookup( const QType& qtype, const string& qname, DNSPacket* dnspkt, int zoneid )
+void OdbxBackend::lookup( const QType& qtype, const DNSName& qname, DNSPacket* dnspkt, int zoneid )
 {
         try
         {
@@ -323,7 +323,7 @@ void OdbxBackend::lookup( const QType& qtype, const string& qname, DNSPacket* dn
                        stmtref = strbind( ":id", string( m_buffer, len ), stmtref );
                }
 
-               string tmp = qname;
+               string tmp = qname.toStringNoDot();
                stmtref = strbind( ":name", escape( toLowerByRef( tmp ), READ ), stmtref );
 
                if( !execStmt( stmtref.c_str(), stmtref.size(), READ ) )
@@ -664,7 +664,7 @@ bool OdbxBackend::feedRecord( const DNSResourceRecord& rr, string *ordername )
                        return false;
                }
 
-               string tmp = rr.qname;
+               string tmp = rr.qname.toStringNoDot();
 
                int priority=0;
                string content(rr.content);
index 4801a29312246065fd6dd8ce5a2fceccae4b2af2..58dab55c139cb09777cdbc737d2e86b1d426e060 100644 (file)
@@ -54,7 +54,7 @@ class OdbxBackend : public DNSBackend
         enum QueryType { READ, WRITE };
 
         string m_myname;
-        string m_qname;
+        DNSName m_qname;
         int m_default_ttl;
         bool m_qlog;
         odbx_t* m_handle[2];
@@ -75,9 +75,9 @@ public:
         OdbxBackend( const string& suffix="" );
         ~OdbxBackend();
 
-        void lookup( const QType& qtype, const string& qdomain, DNSPacket* p = 0, int zoneid = -1 );
-        bool getSOA( const string& domain, SOAData& sd, DNSPacket* p );
-        bool list( const string& target, int domain_id, bool include_disabled=false );
+        void lookup( const QType& qtype, const DNSName& qdomain, DNSPacket* p = 0, int zoneid = -1 );
+        bool getSOA( const DNSName& domain, SOAData& sd, DNSPacket* p );
+        bool list( const DNSName& target, int domain_id, bool include_disabled=false );
         bool get( DNSResourceRecord& rr );
 
         bool startTransaction( const string& domain, int domain_id );