diff options
author | 2016-03-19 07:35:59 +0000 | |
---|---|---|
committer | 2016-03-19 07:35:59 +0000 | |
commit | f7043c3132ff017fc17077547916d764409112e4 (patch) | |
tree | f08ef6e2187346c415d2a64a8caf2cc369f164aa /server | |
parent | 523cc0a0fdbbb1da38e629c05543c1cbf8467cd1 (diff) | |
parent | f907311cdf46efe7c2fad9291479e2eda495df09 (diff) | |
download | coredns-f7043c3132ff017fc17077547916d764409112e4.tar.gz coredns-f7043c3132ff017fc17077547916d764409112e4.tar.zst coredns-f7043c3132ff017fc17077547916d764409112e4.zip |
Merge pull request #14 from miekg/context
Context
Diffstat (limited to 'server')
-rw-r--r-- | server/server.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/server/server.go b/server/server.go index 7baa74686..0db2614bb 100644 --- a/server/server.go +++ b/server/server.go @@ -15,6 +15,8 @@ import ( "sync" "time" + "golang.org/x/net/context" + "github.com/miekg/dns" ) @@ -285,6 +287,7 @@ func (s *Server) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { q := r.Question[0].Name b := make([]byte, len(q)) off, end := 0, false + ctx := context.Background() for { l := len(q[off:]) for i := 0; i < l; i++ { @@ -297,7 +300,7 @@ func (s *Server) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { if h, ok := s.zones[string(b[:l])]; ok { if r.Question[0].Qtype != dns.TypeDS { - rcode, _ := h.stack.ServeDNS(w, r) + rcode, _ := h.stack.ServeDNS(ctx, w, r) if rcode > 0 { DefaultErrorFunc(w, r, rcode) } @@ -311,7 +314,7 @@ func (s *Server) ServeDNS(w dns.ResponseWriter, r *dns.Msg) { } // Wildcard match, if we have found nothing try the root zone as a last resort. if h, ok := s.zones["."]; ok { - rcode, _ := h.stack.ServeDNS(w, r) + rcode, _ := h.stack.ServeDNS(ctx, w, r) if rcode > 0 { DefaultErrorFunc(w, r, rcode) } |