diff options
Diffstat (limited to 'plugin/forward/forward.go')
-rw-r--r-- | plugin/forward/forward.go | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/plugin/forward/forward.go b/plugin/forward/forward.go index 0b043e070..c7f7a83c4 100644 --- a/plugin/forward/forward.go +++ b/plugin/forward/forward.go @@ -74,7 +74,7 @@ func (f *Forward) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg i := 0 list := f.List() deadline := time.Now().Add(defaultTimeout) - + start := time.Now() for time.Now().Before(deadline) { if i >= len(list) { // reached the end of list, reset to begin @@ -126,6 +126,7 @@ func (f *Forward) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg if child != nil { child.Finish() } + taperr := toDnstap(ctx, proxy.addr, f, state, ret, start) upstreamErr = err @@ -147,11 +148,11 @@ func (f *Forward) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg formerr := state.ErrorMessage(dns.RcodeFormatError) w.WriteMsg(formerr) - return 0, nil + return 0, taperr } w.WriteMsg(ret) - return 0, nil + return 0, taperr } if upstreamErr != nil { |