From: Otto Moerbeek Date: Wed, 12 Feb 2020 16:04:39 +0000 (+0100) Subject: Test clientIP before name, fix one more cutoff condition. X-Git-Tag: rec-4.3.0-rc2~1^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=070045e62b6077b46910f4e0a550e7f9315b8284;p=thirdparty%2Fpdns.git Test clientIP before name, fix one more cutoff condition. (cherry picked from commit a4fc3b3720c8bb6fe872b737cab31ae38e4d1191) --- diff --git a/pdns/filterpo.cc b/pdns/filterpo.cc index 463d08fd9e..a653c56258 100644 --- a/pdns/filterpo.cc +++ b/pdns/filterpo.cc @@ -248,6 +248,11 @@ DNSFilterEngine::Policy DNSFilterEngine::getQueryPolicy(const DNSName& qname, co ++count; continue; } + if (z->findClientPolicy(ca, pol)) { + // cerr<<"Had a hit on the IP address ("<findExactQNamePolicy(qname, pol)) { // cerr<<"Had a hit on the name of the query"<findClientPolicy(ca, pol)) { - // cerr<<"Had a hit on the IP address ("<& records, const std::unordered_map& discardedPolicies, Priority currentPriority) const +DNSFilterEngine::Policy DNSFilterEngine::getPostPolicy(const vector& records, const std::unordered_map& discardedPolicies, Priority maxPriority) const { Policy pol; ComboAddress ca; @@ -292,7 +292,7 @@ DNSFilterEngine::Policy DNSFilterEngine::getPostPolicy(const vector& continue; for (const auto& z : d_zones) { - if (z->getPriority() > currentPriority) { + if (z->getPriority() >= maxPriority) { break; } const auto zoneName = z->getName();