Commit bcdc99ab authored by Miek Gieben's avatar Miek Gieben Committed by John Belamaric

mw/etcd: fix 'fallthrough' (#1026)

* mw/etcd: revert 'add fallthrough'

This removes 'fallthrough' for *etcd* which is not needed. This was
added in 00f5c779 but is totally not needed and creates backwards
incompat behavior even.

Thanks to @johnbelamaric for pointing this out in #925.

* remove here as well

* Revert "remove here as well"

This reverts commit 9d44397827425e567af01d43564c4294b42e98c9.

* Revert "mw/etcd: revert 'add fallthrough'"

This reverts commit 0cfe3cb1ab5495ed38a8a0486e3f5386f3bd95dc.

* mw/{etcd,kubernetes}: use fallthrough correctly

reverts of reverts, will rebase and squash later.
parent 594c6d75
...@@ -42,10 +42,7 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( ...@@ -42,10 +42,7 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
if opt.Debug != "" { if opt.Debug != "" {
r.Question[0].Name = opt.Debug r.Question[0].Name = opt.Debug
} }
if e.Fallthrough { return middleware.NextOrFailure(e.Name(), e.Next, ctx, w, r)
return middleware.NextOrFailure(e.Name(), e.Next, ctx, w, r)
}
return dns.RcodeServerFailure, nil
} }
var ( var (
...@@ -88,6 +85,9 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) ( ...@@ -88,6 +85,9 @@ func (e *Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (
} }
if e.IsNameError(err) { if e.IsNameError(err) {
if e.Fallthrough {
return middleware.NextOrFailure(e.Name(), e.Next, ctx, w, r)
}
// Make err nil when returning here, so we don't log spam for NXDOMAIN. // 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, debug, nil /* err */, opt)
} }
......
...@@ -19,10 +19,7 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M ...@@ -19,10 +19,7 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M
zone := middleware.Zones(k.Zones).Matches(state.Name()) zone := middleware.Zones(k.Zones).Matches(state.Name())
if zone == "" { if zone == "" {
if k.Fallthrough { return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r)
return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r)
}
return dns.RcodeServerFailure, nil
} }
state.Zone = zone state.Zone = zone
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment