diff options
Diffstat (limited to 'plugin/forward/truncated.go')
-rw-r--r-- | plugin/forward/truncated.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/plugin/forward/truncated.go b/plugin/forward/truncated.go index edd68fc0c..f9bd464d1 100644 --- a/plugin/forward/truncated.go +++ b/plugin/forward/truncated.go @@ -1,10 +1,14 @@ package forward -import "github.com/miekg/dns" +import ( + "github.com/coredns/coredns/request" + + "github.com/miekg/dns" +) // truncated looks at the error and if truncated return a nil errror // and a possible reconstructed dns message if that was nil. -func truncated(ret *dns.Msg, err error) (*dns.Msg, error) { +func truncated(state request.Request, ret *dns.Msg, err error) (*dns.Msg, error) { // If you query for instance ANY isc.org; you get a truncated query back which miekg/dns fails to unpack // because the RRs are not finished. The returned message can be useful or useless. Return the original // query with some header bits set that they should retry with TCP. @@ -16,7 +20,7 @@ func truncated(ret *dns.Msg, err error) (*dns.Msg, error) { m := ret if ret == nil { m = new(dns.Msg) - m.SetReply(ret) + m.SetReply(state.Req) m.Truncated = true m.Authoritative = true m.Rcode = dns.RcodeSuccess |