diff options
author | 2017-02-08 12:53:55 -0500 | |
---|---|---|
committer | 2017-02-08 12:53:55 -0500 | |
commit | 353c1c648758a9854a494373575c355861ce3541 (patch) | |
tree | 4d541bf25fb3309bdf4288cdc49a2bb4c89ab45e /middleware/kubernetes/handler.go | |
parent | fa1c90a479cce4666c32c4aae8728fc12f09980b (diff) | |
download | coredns-353c1c648758a9854a494373575c355861ce3541.tar.gz coredns-353c1c648758a9854a494373575c355861ce3541.tar.zst coredns-353c1c648758a9854a494373575c355861ce3541.zip |
Fix k8s chaining (#510)
* fix k8s next middleware chaining
* add chain to integration tests
* if nit
Diffstat (limited to 'middleware/kubernetes/handler.go')
-rw-r--r-- | middleware/kubernetes/handler.go | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/middleware/kubernetes/handler.go b/middleware/kubernetes/handler.go index 3efe6e722..326e3ac13 100644 --- a/middleware/kubernetes/handler.go +++ b/middleware/kubernetes/handler.go @@ -26,16 +26,17 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M // otherwise delegate to the next in the pipeline. zone := middleware.Zones(k.Zones).Matches(state.Name()) if zone == "" { - if state.Type() == "PTR" { - // If this is a PTR request, and a the request is in a defined - // pod/service cidr range, process the request in this middleware, - // otherwise pass to next middleware. - if !k.IsRequestInReverseRange(state) { - return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r) - } - // Set the zone to this specific request. - zone = state.Name() + if state.Type() != "PTR" { + return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r) } + // If this is a PTR request, and the request is in a defined + // pod/service cidr range, process the request in this middleware, + // otherwise pass to next middleware. + if !k.IsRequestInReverseRange(state) { + return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r) + } + // Set the zone to this specific request. + zone = state.Name() } var ( |