diff --git a/dnscrypt-proxy/pattern_matcher.go b/dnscrypt-proxy/pattern_matcher.go index 8b2ae6cc..69bd023b 100644 --- a/dnscrypt-proxy/pattern_matcher.go +++ b/dnscrypt-proxy/pattern_matcher.go @@ -120,6 +120,10 @@ func (patternMatcher *PatternMatcher) Eval(qName string) (reject bool, reason st return false, "", nil } + if xval := patternMatcher.blockedExact[qName]; xval != nil { + return true, qName, xval + } + revQname := StringReverse(qName) if match, xval, found := patternMatcher.blockedSuffixes.LongestPrefix([]byte(revQname)); found { if len(match) == len(revQname) || revQname[len(match)] == '.' { @@ -153,9 +157,5 @@ func (patternMatcher *PatternMatcher) Eval(qName string) (reject bool, reason st } } - if xval := patternMatcher.blockedExact[qName]; xval != nil { - return true, qName, xval - } - return false, "", nil }