mirror of
https://github.com/coredns/coredns.git
synced 2026-07-16 12:40:11 -04:00
plugin/secondary: parse catalog zones after transfer (#8209)
This commit is contained in:
@@ -24,6 +24,7 @@ type (
|
||||
Next plugin.Handler
|
||||
Zones
|
||||
Xfer *transfer.Transfer
|
||||
TransferInFunc
|
||||
|
||||
Fall fall.F
|
||||
}
|
||||
@@ -71,7 +72,9 @@ func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i
|
||||
log.Infof("Notify from %s for %s: checking transfer", state.IP(), zone)
|
||||
ok, err := z.shouldTransfer()
|
||||
if ok {
|
||||
z.TransferIn(f.Xfer)
|
||||
if err := f.transferIn(z, f.Xfer); err != nil {
|
||||
log.Warningf("Notify from %s for %s: transfer failed: %s", state.IP(), zone, err)
|
||||
}
|
||||
} else {
|
||||
log.Infof("Notify from %s for %s: no SOA serial increase seen", state.IP(), zone)
|
||||
}
|
||||
@@ -131,6 +134,13 @@ func (f File) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (i
|
||||
// Name implements the Handler interface.
|
||||
func (f File) Name() string { return "file" }
|
||||
|
||||
func (f File) transferIn(z *Zone, t *transfer.Transfer) error {
|
||||
if f.TransferInFunc != nil {
|
||||
return f.TransferInFunc(z, t)
|
||||
}
|
||||
return z.TransferIn(t)
|
||||
}
|
||||
|
||||
type serialErr struct {
|
||||
err string
|
||||
zone string
|
||||
|
||||
Reference in New Issue
Block a user