diff options
-rw-r--r-- | plugin/proxy/dns.go | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/plugin/proxy/dns.go b/plugin/proxy/dns.go index c1aa7f190..a96762c1d 100644 --- a/plugin/proxy/dns.go +++ b/plugin/proxy/dns.go @@ -89,15 +89,12 @@ func exchange(m *dns.Msg, co net.Conn) (*dns.Msg, error) { writeDeadline := time.Now().Add(defaultTimeout) dnsco.SetWriteDeadline(writeDeadline) - dnsco.WriteMsg(m) + if err := dnsco.WriteMsg(m); err != nil { + log.Debugf("Failed to send message: %v", err) + return nil, err + } readDeadline := time.Now().Add(defaultTimeout) co.SetReadDeadline(readDeadline) - r, err := dnsco.ReadMsg() - - dnsco.Close() - if r == nil { - return nil, err - } - return r, err + return dnsco.ReadMsg() } |