]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
despite #2635, fix up lmdb a bit for DNSName so it at least the ReverseBackend class...
authorbert hubert <bert.hubert@netherlabs.nl>
Mon, 24 Aug 2015 11:36:15 +0000 (13:36 +0200)
committerbert hubert <bert.hubert@netherlabs.nl>
Mon, 24 Aug 2015 11:36:15 +0000 (13:36 +0200)
pdns/dnsbackend.cc
pdns/dnsbackend.hh

index f0353163a651b6e1b221dd0b945b44ea78a1343e..d860a1c6a099a77498c8d7b6b29d493757031e73 100644 (file)
@@ -428,19 +428,19 @@ inline int DNSReversedBackend::_getAuth(DNSPacket *p, SOAData *soa, const string
     return GET_AUTH_NEG_CACHE;
 }
 
-bool DNSReversedBackend::getAuth(DNSPacket *p, SOAData *soa, const string &inZone, const int best_match_len) {
+bool DNSReversedBackend::getAuth(DNSPacket *p, SOAData *soa, const DNSName &inZone, const int best_match_len) {
     // Reverse the lowercased query string
-    string zone = toLower(inZone);
+    string zone = toLower(inZone.toStringNoDot());
     string querykey = labelReverse(zone);
 
-    int ret = _getAuth( p, soa, inZone, querykey, best_match_len );
+    int ret = _getAuth( p, soa, inZone.toStringNoDot(), querykey, best_match_len );
 
     /* If this is disabled then we would just cache the tree structure not the
      * leaves which should give the best performance and a nice small negcache
      * size
      */
     if( ret == GET_AUTH_NEG_CACHE )
-        _add_to_negcache( inZone );
+      _add_to_negcache( inZone.toStringNoDot() );
 
     return ret == GET_AUTH_SUCCESS;
 }
@@ -463,10 +463,10 @@ bool DNSReversedBackend::_getSOA(const string &querykey, SOAData &soa, DNSPacket
     return getAuthData( soa, p );
 }
 
-bool DNSReversedBackend::getSOA(const string &inZone, SOAData &soa, DNSPacket *p)
+bool DNSReversedBackend::getSOA(const DNSName &inZone, SOAData &soa, DNSPacket *p)
 {
     // prepare the query string
-    string zone = toLower( inZone );
+    string zone = toLower( inZone.toStringNoDot() );
     string querykey = labelReverse( zone );
 
     if( !_getSOA( querykey, soa, p ) )
index 3b9b8ec754abae46b53edc75d6019b8112671e8c..9c1de0b352b78c0f70ade08fda8a331d8143e61f 100644 (file)
@@ -416,12 +416,12 @@ class DNSReversedBackend : public DNSBackend {
          * */
         virtual bool getAuthData( SOAData &soa, DNSPacket *p=0) { return false; };  // Must be overridden
 
-        bool getAuth(DNSPacket *p, SOAData *soa, const string &inZone, const int best_match_len);
+        virtual bool getAuth(DNSPacket *p, SOAData *soa, const DNSName &inZone, const int best_match_len) override;
         inline int _getAuth(DNSPacket *p, SOAData *soa, const string &inZone, const string &querykey, const int best_match_len);
 
         /* Only called for stuff like signing or AXFR transfers */
         bool _getSOA(const string &rev_zone, SOAData &soa, DNSPacket *p);
-        virtual bool getSOA(const string &inZone, SOAData &soa, DNSPacket *p);
+        virtual bool getSOA(const DNSName &inZone, SOAData &soa, DNSPacket *p) override;
 };
 
 class BackendFactory