2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-22 10:10:06 +00:00

Allow for lifetime not set in state file

When migrating to dnssec-policy, keys that do not match will not have
a lifetime set. Adjust the test code to allow for that. Setting '-'
in a key properties string signals lifetime is expected not to be set.
This commit is contained in:
Matthijs Mekking 2025-07-29 09:22:00 +02:00
parent 1a8cbf11fe
commit 89e90c30f8

View File

@ -237,13 +237,13 @@ class KeyProperties:
self.timing["PublishCDS"] = self.timing["Published"] + ipubc
if self.metadata["Lifetime"] != 0:
if "Lifetime" in self.metadata and self.metadata["Lifetime"] != 0:
self.timing["DeleteCDS"] = (
self.timing["PublishCDS"] + self.metadata["Lifetime"]
)
def Iret(self, config):
if self.metadata["Lifetime"] == 0:
if "Lifetime" not in self.metadata or self.metadata["Lifetime"] == 0:
return
iret = Iret(config, zsk=self.key.is_zsk(), ksk=self.key.is_ksk())
@ -277,7 +277,7 @@ class KeyProperties:
self.IpubC(config)
# Set Retired timing metadata if key has lifetime.
if self.metadata["Lifetime"] != 0:
if "Lifetime" in self.metadata and self.metadata["Lifetime"] != 0:
self.timing["Retired"] = self.timing["Active"] + self.metadata["Lifetime"]
self.Iret(config)
@ -1501,8 +1501,9 @@ def policy_to_properties(ttl, keys: List[str]) -> List[KeyProperties]:
keyprop.properties["dnskey_ttl"] = ttl
keyprop.metadata["Algorithm"] = line[2]
keyprop.metadata["Length"] = line[3]
keyprop.metadata["Lifetime"] = 0
if line[1] != "unlimited":
if line[1] == "unlimited":
keyprop.metadata["Lifetime"] = 0
elif line[1] != "-":
keyprop.metadata["Lifetime"] = int(line[1])
for i in range(4, len(line)):