aboutsummaryrefslogtreecommitdiff
path: root/plugin/forward/truncated.go
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/forward/truncated.go')
-rw-r--r--plugin/forward/truncated.go10
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