aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Miek Gieben <miek@miek.nl> 2016-11-08 21:45:27 +0000
committerGravatar Miek Gieben <miek@miek.nl> 2016-11-08 21:45:27 +0000
commit0f8cb5094d04e8b709ad31408cc2e7c961f02093 (patch)
treeff1c4c8fcee46b07a4f13aeaf403ed8faff7f755
parentfb7fcff982dc4f93d571eb993e4aa5f20620e101 (diff)
downloadcoredns-0f8cb5094d04e8b709ad31408cc2e7c961f02093.tar.gz
coredns-0f8cb5094d04e8b709ad31408cc2e7c961f02093.tar.zst
coredns-0f8cb5094d04e8b709ad31408cc2e7c961f02093.zip
middleware/file: notify better error reporting
Slightly better errors reporting for failing to sent a notify.
-rw-r--r--middleware/file/notify.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/middleware/file/notify.go b/middleware/file/notify.go
index 1d198ceec..d4fe7efc0 100644
--- a/middleware/file/notify.go
+++ b/middleware/file/notify.go
@@ -56,10 +56,12 @@ func notify(zone string, to []string) error {
return nil
}
-func notifyAddr(c *dns.Client, m *dns.Msg, s string) error {
- code := dns.RcodeSuccess
+func notifyAddr(c *dns.Client, m *dns.Msg, s string) (err error) {
+ ret := new(dns.Msg)
+
+ code := dns.RcodeServerFailure
for i := 0; i < 3; i++ {
- ret, _, err := c.Exchange(m, s)
+ ret, _, err = c.Exchange(m, s)
if err != nil {
continue
}
@@ -68,5 +70,8 @@ func notifyAddr(c *dns.Client, m *dns.Msg, s string) error {
return nil
}
}
+ if err != nil {
+ return err
+ }
return fmt.Errorf("Notify for zone %q was not accepted by %q: rcode was %q", m.Question[0].Name, s, rcode.ToString(code))
}