diff options
author | 2018-02-08 10:11:04 -0600 | |
---|---|---|
committer | 2018-02-08 16:11:04 +0000 | |
commit | 6fd954f19c9b23ef549797bfea7940181dc9a705 (patch) | |
tree | 977ac2252db2fb155ed1c2dc6f7248707dfc1432 /plugin/kubernetes/handler.go | |
parent | 864f5023563fc15eb9c06cec98685d3ba657ba3c (diff) | |
download | coredns-6fd954f19c9b23ef549797bfea7940181dc9a705.tar.gz coredns-6fd954f19c9b23ef549797bfea7940181dc9a705.tar.zst coredns-6fd954f19c9b23ef549797bfea7940181dc9a705.zip |
support for zone transfer for kubernetes (#1259)
* plugin/kubernetes: axfr
Hook up dynamic SOA serial by setting ResourceEventHandlerFuncs in
dnsController.
Add prototype of returns msg.Services via the Transfer function. Leave
expanding this to RRs out of scope for a bit.
* plugin/kubernetes: axfr
Respond to AXFR queries
* Fixing race condition
* Fixing instantiation of dnstest writer
* Updates from review
Diffstat (limited to 'plugin/kubernetes/handler.go')
-rw-r--r-- | plugin/kubernetes/handler.go | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/plugin/kubernetes/handler.go b/plugin/kubernetes/handler.go index e02608a6b..5c9ccba34 100644 --- a/plugin/kubernetes/handler.go +++ b/plugin/kubernetes/handler.go @@ -53,6 +53,8 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M break } fallthrough + case dns.TypeAXFR, dns.TypeIXFR: + k.Transfer(ctx, state) default: // Do a fake A lookup, so we can distinguish between NODATA and NXDOMAIN _, err = plugin.A(&k, zone, state, nil, plugin.Options{}) @@ -76,6 +78,7 @@ func (k Kubernetes) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.M m.Extra = append(m.Extra, extra...) m = dnsutil.Dedup(m) + state.SizeAndDo(m) m, _ = state.Scrub(m) w.WriteMsg(m) |