From 224802636559f95901654f9b919cd146793d98d3 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 28 May 2020 10:04:05 +0200 Subject: [PATCH] Fix error detection if query was blocked by upstream --- nameserver/nameserver.go | 2 +- resolver/resolve.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nameserver/nameserver.go b/nameserver/nameserver.go index 97d51e8f..83cf8f15 100644 --- a/nameserver/nameserver.go +++ b/nameserver/nameserver.go @@ -261,7 +261,7 @@ func handleRequest(ctx context.Context, w dns.ResponseWriter, query *dns.Msg) er // TODO: analyze nxdomain requests, malware could be trying DGA-domains tracer.Warningf("nameserver: %s requested %s%s: %s", conn.Process(), q.FQDN, q.QType, err) - if errors.Is(err, &resolver.BlockedUpstreamError{}) { + if errors.Is(err, resolver.ErrBlocked) { conn.Block(err.Error()) } else { conn.Failed("failed to resolve: " + err.Error()) diff --git a/resolver/resolve.go b/resolver/resolve.go index e5c406ae..e9032f71 100644 --- a/resolver/resolve.go +++ b/resolver/resolve.go @@ -42,7 +42,7 @@ type BlockedUpstreamError struct { } func (blocked *BlockedUpstreamError) Error() string { - return fmt.Sprintf("Endpoint blocked by upstream DNS resolver %s", blocked.ResolverName) + return fmt.Sprintf("%s by upstream DNS resolver %s", ErrBlocked, blocked.ResolverName) } // Unwrap implements errors.Unwrapper