diff options
Diffstat (limited to 'middleware/etcd/handler.go')
-rw-r--r-- | middleware/etcd/handler.go | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/middleware/etcd/handler.go b/middleware/etcd/handler.go index 4758f8aab..7857b1955 100644 --- a/middleware/etcd/handler.go +++ b/middleware/etcd/handler.go @@ -2,8 +2,6 @@ package etcd import ( "github.com/coredns/coredns/middleware" - "github.com/coredns/coredns/middleware/etcd/msg" - "github.com/coredns/coredns/middleware/pkg/debug" "github.com/coredns/coredns/middleware/pkg/dnsutil" "github.com/coredns/coredns/request" @@ -17,13 +15,6 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( state := request.Request{W: w, Req: r} name := state.Name() - if e.Debugging { - if bug := debug.IsDebug(name); bug != "" { - opt.Debug = r.Question[0].Name - state.Clear() - state.Req.Question[0].Name = bug - } - } // We need to check stubzones first, because we may get a request for a zone we // are not auth. for *but* do have a stubzone forward for. If we do the stubzone @@ -39,49 +30,39 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( zone := middleware.Zones(e.Zones).Matches(state.Name()) if zone == "" { - if opt.Debug != "" { - r.Question[0].Name = opt.Debug - } return middleware.NextOrFailure(e.Name(), e.Next, ctx, w, r) } var ( records, extra []dns.RR - debug []msg.Service err error ) switch state.Type() { case "A": - records, debug, err = middleware.A(e, zone, state, nil, opt) + records, err = middleware.A(e, zone, state, nil, opt) case "AAAA": - records, debug, err = middleware.AAAA(e, zone, state, nil, opt) + records, err = middleware.AAAA(e, zone, state, nil, opt) case "TXT": - records, debug, err = middleware.TXT(e, zone, state, opt) + records, err = middleware.TXT(e, zone, state, opt) case "CNAME": - records, debug, err = middleware.CNAME(e, zone, state, opt) + records, err = middleware.CNAME(e, zone, state, opt) case "PTR": - records, debug, err = middleware.PTR(e, zone, state, opt) + records, err = middleware.PTR(e, zone, state, opt) case "MX": - records, extra, debug, err = middleware.MX(e, zone, state, opt) + records, extra, err = middleware.MX(e, zone, state, opt) case "SRV": - records, extra, debug, err = middleware.SRV(e, zone, state, opt) + records, extra, err = middleware.SRV(e, zone, state, opt) case "SOA": - records, debug, err = middleware.SOA(e, zone, state, opt) + records, err = middleware.SOA(e, zone, state, opt) case "NS": if state.Name() == zone { - records, extra, debug, err = middleware.NS(e, zone, state, opt) + records, extra, err = middleware.NS(e, zone, state, opt) break } fallthrough default: // Do a fake A lookup, so we can distinguish between NODATA and NXDOMAIN - _, debug, err = middleware.A(e, zone, state, nil, opt) - } - - if opt.Debug != "" { - // Substitute this name with the original when we return the request. - state.Clear() - state.Req.Question[0].Name = opt.Debug + _, err = middleware.A(e, zone, state, nil, opt) } if e.IsNameError(err) { @@ -89,14 +70,14 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( return middleware.NextOrFailure(e.Name(), e.Next, ctx, w, r) } // Make err nil when returning here, so we don't log spam for NXDOMAIN. - return middleware.BackendError(e, zone, dns.RcodeNameError, state, debug, nil /* err */, opt) + return middleware.BackendError(e, zone, dns.RcodeNameError, state, nil /* err */, opt) } if err != nil { - return middleware.BackendError(e, zone, dns.RcodeServerFailure, state, debug, err, opt) + return middleware.BackendError(e, zone, dns.RcodeServerFailure, state, err, opt) } if len(records) == 0 { - return middleware.BackendError(e, zone, dns.RcodeSuccess, state, debug, err, opt) + return middleware.BackendError(e, zone, dns.RcodeSuccess, state, err, opt) } m := new(dns.Msg) @@ -104,9 +85,6 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( m.Authoritative, m.RecursionAvailable, m.Compress = true, true, true m.Answer = append(m.Answer, records...) m.Extra = append(m.Extra, extra...) - if opt.Debug != "" { - m.Extra = append(m.Extra, middleware.ServicesToTxt(debug)...) - } m = dnsutil.Dedup(m) state.SizeAndDo(m) |