coredns/plugin/auto/xfr.go
Ayato Tokubi 83e94a91b9
Bump golang to 1.20.0 (#6070)
Signed-off-by: Ayato Tokubi <atokubi@redhat.com>
2023-05-04 10:47:18 +02:00

31 lines
653 B
Go

package auto
import (
"github.com/coredns/coredns/plugin/transfer"
"github.com/miekg/dns"
)
// Transfer implements the transfer.Transfer interface.
func (a Auto) Transfer(zone string, serial uint32) (<-chan []dns.RR, error) {
a.Zones.RLock()
z, ok := a.Zones.Z[zone]
a.Zones.RUnlock()
if !ok || z == nil {
return nil, transfer.ErrNotAuthoritative
}
return z.Transfer(serial)
}
// Notify sends notifies for all zones with secondaries configured with the transfer plugin
func (a Auto) Notify() error {
var err error
for _, origin := range a.Zones.Names() {
e := a.transfer.Notify(origin)
if e != nil {
err = e
}
}
return err
}