Add mtime to the zone structure
This commit is contained in:
parent
25e58e4edd
commit
885aba5fad
10
zone.go
10
zone.go
|
@ -19,10 +19,10 @@ type Zone struct {
|
|||
Origin string // Origin of the zone
|
||||
olabels []string // origin cut up in labels, just to speed up the isSubDomain method
|
||||
Wildcard int // Whenever we see a wildcard name, this is incremented
|
||||
expired bool // Slave zone is expired
|
||||
mtime time.Time // When is the zone last modified
|
||||
*radix.Radix // Zone data
|
||||
*sync.RWMutex
|
||||
expired bool // Slave zone is expired
|
||||
// Do we need a timemodified?
|
||||
}
|
||||
|
||||
type uint16Slice []uint16
|
||||
|
@ -84,6 +84,7 @@ func NewZone(origin string) *Zone {
|
|||
z.olabels = SplitLabels(z.Origin)
|
||||
z.Radix = radix.New()
|
||||
z.RWMutex = new(sync.RWMutex)
|
||||
z.mtime = time.Now().UTC()
|
||||
return z
|
||||
}
|
||||
|
||||
|
@ -202,6 +203,7 @@ func (z *Zone) Insert(r RR) error {
|
|||
|
||||
key := toRadixName(r.Header().Name)
|
||||
z.Lock()
|
||||
z.mtime = time.Now.UTC()
|
||||
zd, exact := z.Radix.Find(key)
|
||||
if !exact {
|
||||
// Not an exact match, so insert new value
|
||||
|
@ -251,6 +253,7 @@ func (z *Zone) Insert(r RR) error {
|
|||
func (z *Zone) Remove(r RR) error {
|
||||
key := toRadixName(r.Header().Name)
|
||||
z.Lock()
|
||||
m.mtime = time.Now.UTC()
|
||||
zd, exact := z.Radix.Find(key)
|
||||
if !exact {
|
||||
defer z.Unlock()
|
||||
|
@ -312,6 +315,7 @@ func (z *Zone) Remove(r RR) error {
|
|||
func (z *Zone) RemoveName(s string) error {
|
||||
key := toRadixName(s)
|
||||
z.Lock()
|
||||
z.mtime = time.Now().UTC()
|
||||
defer z.Unlock()
|
||||
z.Radix.Remove(key)
|
||||
if len(s) > 1 && s[0] == '*' && s[1] == '.' {
|
||||
|
@ -327,6 +331,7 @@ func (z *Zone) RemoveName(s string) error {
|
|||
// Typical use of this method is when processing a RemoveRRset dynamic update packet.
|
||||
func (z *Zone) RemoveRRset(s string, t uint16) error {
|
||||
z.Lock()
|
||||
z.mtime = time.Now().UTC()
|
||||
zd, exact := z.Radix.Find(toRadixName(s))
|
||||
if !exact {
|
||||
defer z.Unlock()
|
||||
|
@ -418,6 +423,7 @@ func (z *Zone) isSubDomain(child string) bool {
|
|||
// // Admire your signed zone...
|
||||
func (z *Zone) Sign(keys map[*RR_DNSKEY]PrivateKey, config *SignatureConfig) error {
|
||||
z.Lock()
|
||||
z.mtime = time.Now().UTC()
|
||||
defer z.Unlock()
|
||||
if config == nil {
|
||||
config = DefaultSignatureConfig
|
||||
|
|
Loading…
Reference in New Issue