diff options
author | 2016-04-15 20:22:37 +0100 | |
---|---|---|
committer | 2016-04-15 20:22:37 +0100 | |
commit | 95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764 (patch) | |
tree | 24fd5a77e675c2e1d67089bd3de33a3de9c19376 | |
parent | a4bf01e1ee531da72efe47eeba1d17e0262d0fbb (diff) | |
download | coredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.tar.gz coredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.tar.zst coredns-95477fd2fef1d7a37a73b13d6a4ea0ee0dc0e764.zip |
Dont crash on tests with etcd running
-rw-r--r-- | middleware/etcd/handler.go | 3 | ||||
-rw-r--r-- | middleware/etcd/stub_test.go | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/middleware/etcd/handler.go b/middleware/etcd/handler.go index 8e15c1b1a..38e1b51cd 100644 --- a/middleware/etcd/handler.go +++ b/middleware/etcd/handler.go @@ -30,6 +30,9 @@ func (e Etcd) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i zone := middleware.Zones(e.Zones).Matches(state.Name()) if zone == "" { + if e.Next == nil { + return dns.RcodeServerFailure, nil + } return e.Next.ServeDNS(ctx, w, r) } diff --git a/middleware/etcd/stub_test.go b/middleware/etcd/stub_test.go index d1eee5b61..ed3c49a29 100644 --- a/middleware/etcd/stub_test.go +++ b/middleware/etcd/stub_test.go @@ -32,6 +32,10 @@ func TestStubLookup(t *testing.T) { continue } resp := rec.Msg() + if resp == nil { + // etcd not running? + continue + } sort.Sort(test.RRSet(resp.Answer)) sort.Sort(test.RRSet(resp.Ns)) |