diff options
author | 2017-02-01 12:56:10 -0500 | |
---|---|---|
committer | 2017-02-01 12:56:10 -0500 | |
commit | 8beb1b2166102368ba5f19c7cf60850c555b915a (patch) | |
tree | d19eefd6abc0d2f0cbeb568e0f16ec7b61b23e38 /middleware/kubernetes/handler.go | |
parent | 3a04d2a306c793b0b3187fa9b52c89db9bd85cb9 (diff) | |
download | coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.tar.gz coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.tar.zst coredns-8beb1b2166102368ba5f19c7cf60850c555b915a.zip |
Allow cidr based reverse zone config (#500)
* add cidrs opt
* remove state data from middleware object
Diffstat (limited to 'middleware/kubernetes/handler.go')
-rw-r--r-- | middleware/kubernetes/handler.go | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/middleware/kubernetes/handler.go b/middleware/kubernetes/handler.go index f35792881..12277911a 100644 --- a/middleware/kubernetes/handler.go +++ b/middleware/kubernetes/handler.go @@ -26,7 +26,12 @@ 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 == "" { - return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r) + // 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 state.Type() != "PTR" || !k.IsRequestInReverseRange(state) { + return middleware.NextOrFailure(k.Name(), k.Next, ctx, w, r) + } } var ( |