aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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))
}