aboutsummaryrefslogtreecommitdiff
path: root/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'plugin')
-rw-r--r--plugin/proxy/dns.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/plugin/proxy/dns.go b/plugin/proxy/dns.go
index 2bebae755..bbff3ba4a 100644
--- a/plugin/proxy/dns.go
+++ b/plugin/proxy/dns.go
@@ -63,10 +63,12 @@ func (d *dnsEx) Exchange(ctx context.Context, addr string, state request.Request
if err != nil {
return nil, err
}
- // Make sure it fits in the DNS response.
- reply, _ = state.Scrub(reply)
reply.Compress = true
reply.Id = state.Req.Id
+ // When using force_tcp the upstream can send a message that is too big for
+ // the udp buffer, hence we need to truncate the message to at least make it
+ // fit the udp buffer.
+ reply, _ = state.Scrub(reply)
return reply, nil
}