plugin/proxy: Fix unnecessary message truncation (#1477)

As plugin/proxy always returns compressed messages, it's important to
set this before calling Scrub(), as some messages will be unnecessarily
truncated otherwise.
This commit is contained in:
Tobias Schmidt
2018-01-30 22:18:44 +01:00
committed by Miek Gieben
parent 64d7268ed6
commit 0af9b9b16f

View File

@@ -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
}