aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2019-12-30 16:23:07 +0100
committerMartin Polden <mpolden@mpolden.no>2019-12-30 16:23:07 +0100
commit091d5f5857f76c9271fd8386ac534677c8080460 (patch)
treea86b3eebae5d6fd95e83039bfdef8244ffedb90c
parent6c3aeec9d232e40406bc3e977441fc9a16d5d99a (diff)
Log resolver address on error
-rw-r--r--dns/dnsutil/dnsutil.go3
-rw-r--r--dns/proxy.go3
2 files changed, 4 insertions, 2 deletions
diff --git a/dns/dnsutil/dnsutil.go b/dns/dnsutil/dnsutil.go
index 141f5c6..c7b52f0 100644
--- a/dns/dnsutil/dnsutil.go
+++ b/dns/dnsutil/dnsutil.go
@@ -2,6 +2,7 @@ package dnsutil
import (
"errors"
+ "fmt"
"sync"
"time"
@@ -52,7 +53,7 @@ func (c *Client) Exchange(msg *dns.Msg) (*dns.Msg, error) {
defer wg.Done()
r, _, err1 := c.Exchanger.Exchange(msg, addr)
if err1 != nil {
- err = err1
+ err = fmt.Errorf("resolver %s failed: %w", addr, err1)
return
}
ch <- r
diff --git a/dns/proxy.go b/dns/proxy.go
index 9daf552..58cdb47 100644
--- a/dns/proxy.go
+++ b/dns/proxy.go
@@ -39,6 +39,7 @@ type Proxy struct {
}
type logger interface {
+ Print(...interface{})
Printf(string, ...interface{})
Record(net.IP, bool, uint16, string, ...string)
Close() error
@@ -146,7 +147,7 @@ func (p *Proxy) ServeDNS(w dns.ResponseWriter, r *dns.Msg) {
p.writeMsg(w, rr, false)
p.cache.Set(key, rr)
} else {
- p.logger.Printf("resolver(s) failed: %s", err)
+ p.logger.Print(err)
dns.HandleFailed(w, r)
}
}