diff --git a/server.go b/server.go index 0562960a..88f6a33f 100644 --- a/server.go +++ b/server.go @@ -337,6 +337,7 @@ func (c *conn) serve() { w.req = req c.handler.ServeDNS(w, w.req) // this does the writing back to the client if c.hijacked { + // client takes care of the connection, i.e. calls Close() return } break @@ -345,6 +346,10 @@ func (c *conn) serve() { c._TCP.Close() c._TCP = nil } + if c._UDP != nil { + c._UDP.Close() + c._UDP = nil + } } // Write implements the ResponseWriter.Write method.