Change the default serial.
This commit is contained in:
parent
b633dbe740
commit
38da24fe66
@ -149,6 +149,12 @@ class DNSManager::Storage
|
|||||||
# Replace domain by the real domain.
|
# Replace domain by the real domain.
|
||||||
default_zone.replace_domain domain
|
default_zone.replace_domain domain
|
||||||
|
|
||||||
|
# Reset the serial number so it represents the current date.
|
||||||
|
# This is particularly useful when a zone is deleted then re-used again right after, in this case
|
||||||
|
# the serial would be a problem since the new zone may not be usable for some time, depending on the
|
||||||
|
# configuration.
|
||||||
|
default_zone.reset_serial
|
||||||
|
|
||||||
#
|
#
|
||||||
# Actually write data on-disk.
|
# Actually write data on-disk.
|
||||||
#
|
#
|
||||||
|
@ -120,6 +120,16 @@ class DNSManager::Storage::Zone
|
|||||||
@rrtype = "SOA"
|
@rrtype = "SOA"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Sets the serial number to the current date.
|
||||||
|
def reset_serial
|
||||||
|
t = Time.local
|
||||||
|
y = t.year
|
||||||
|
m = t.month
|
||||||
|
d = t.day
|
||||||
|
|
||||||
|
@serial = "#{y}#{ "%0.2d" % m}#{ "%0.2d" % d}00".to_u64
|
||||||
|
end
|
||||||
|
|
||||||
def to_s(io : IO)
|
def to_s(io : IO)
|
||||||
io << "(#{ "%4d" % @rrid }) "
|
io << "(#{ "%4d" % @rrid }) "
|
||||||
io << "#{name} #{ttl} SOA (#{mname} #{rname}\n"
|
io << "#{name} #{ttl} SOA (#{mname} #{rname}\n"
|
||||||
@ -1009,6 +1019,16 @@ class DNSManager::Storage::Zone
|
|||||||
false
|
false
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Selects the SOA entry then run the `reset_serial` procedure.
|
||||||
|
def reset_serial
|
||||||
|
@resources.each do |rr|
|
||||||
|
case rr
|
||||||
|
when SOA
|
||||||
|
rr.reset_serial
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# When a new domain is recorded, we load a template which contains a placeholder domain.
|
# When a new domain is recorded, we load a template which contains a placeholder domain.
|
||||||
# `replace_domain` replaces this domain name by the real one in the different (preloaded) RR.
|
# `replace_domain` replaces this domain name by the real one in the different (preloaded) RR.
|
||||||
# Do not forget the last dot ('.') to get a fully qualified domain name (FQDN).
|
# Do not forget the last dot ('.') to get a fully qualified domain name (FQDN).
|
||||||
|
Loading…
Reference in New Issue
Block a user