From: bert hubert Date: Mon, 24 Aug 2015 11:36:15 +0000 (+0200) Subject: despite #2635, fix up lmdb a bit for DNSName so it at least the ReverseBackend class... X-Git-Tag: dnsdist-1.0.0-alpha1~248^2~62^2~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a7bfcd1e9c3e368d4e0a247f8e5d91c55137f2c7;p=thirdparty%2Fpdns.git despite #2635, fix up lmdb a bit for DNSName so it at least the ReverseBackend class does not generate errors. Plus use spiffy C++2011 'override' to turn this warning into an error. --- diff --git a/pdns/dnsbackend.cc b/pdns/dnsbackend.cc index f0353163a6..d860a1c6a0 100644 --- a/pdns/dnsbackend.cc +++ b/pdns/dnsbackend.cc @@ -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 ) ) diff --git a/pdns/dnsbackend.hh b/pdns/dnsbackend.hh index 3b9b8ec754..9c1de0b352 100644 --- a/pdns/dnsbackend.hh +++ b/pdns/dnsbackend.hh @@ -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