]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Allow for lifetime not set in state file
authorMatthijs Mekking <matthijs@isc.org>
Tue, 29 Jul 2025 07:22:00 +0000 (09:22 +0200)
committerMatthijs Mekking <matthijs@isc.org>
Tue, 19 Aug 2025 14:07:12 +0000 (14:07 +0000)
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.

bin/tests/system/isctest/kasp.py

index 81d57f9651732ad6f8377a4c1a3d01c5f39536e1..3419ffefec4137c2cc90d937e858171c6bd72c2d 100644 (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)):