]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Move dnskey method from kasp.Key to zone.FileZoneKey
authorNicki Křížek <nicki@isc.org>
Tue, 16 Jun 2026 12:32:28 +0000 (12:32 +0000)
committerNicki Křížek <nicki@isc.org>
Thu, 2 Jul 2026 12:51:41 +0000 (14:51 +0200)
Code move with one change - switch dnskey TTL from 300s (DEFAULT_TTL) to
3600s (DNSKEY_TTL).

Assisted-by: Claude:claude-opus-4-8
bin/tests/system/isctest/kasp.py
bin/tests/system/isctest/zone.py

index e86b9d6a813105569db9e985b385e08f9f0d03fb..2bbcfce95abb74d91a58be1fdb8b693e3d2e3796 100644 (file)
@@ -495,22 +495,6 @@ class Key(FileZoneKey):
             return isctest.vars.algorithms.RSASHA512OID.number
         return alg
 
-    @property
-    def dnskey(self) -> dns.rrset.RRset:
-        with open(self.keyfile, "r", encoding="utf-8") as file:
-            rrsets = dns.zonefile.read_rrsets(
-                file.read(),
-                rdclass=None,  # read rdclass from the file
-                default_ttl=DEFAULT_TTL,  # use this TTL if not present
-            )
-        assert len(rrsets) == 1, f"{self.keyfile} has multiple RRsets"
-        dnskey_rr = rrsets[0]
-        assert len(dnskey_rr) == 1, f"{self.keyfile} has multiple RRs"
-        assert (
-            dnskey_rr.rdtype == dns.rdatatype.DNSKEY
-        ), f"DNSKEY not found in {self.keyfile}"
-        return dnskey_rr
-
     def is_ksk(self) -> bool:
         # KASP role follows the .state KSK metadata, not the DNSKEY SEP flag:
         # a CSK may be configured without SEP (see the csk-nosep test).
index 02b93c8b8d995091967005a1de3b7efbb422b758..a7ba22db90a0732d8e59aceeabb0db2859a258ef 100644 (file)
@@ -128,7 +128,19 @@ class FileZoneKey(ZoneKey):
 
     @property
     def dnskey(self) -> dns.rrset.RRset:
-        raise NotImplementedError  # TODO will be re-implemented in the followup commit
+        with open(self.keyfile, "r", encoding="utf-8") as file:
+            rrsets = dns.zonefile.read_rrsets(
+                file.read(),
+                rdclass=None,  # read rdclass from the file
+                default_ttl=DNSKEY_TTL,  # use this TTL if not present
+            )
+        assert len(rrsets) == 1, f"{self.keyfile} has multiple RRsets"
+        dnskey_rr = rrsets[0]
+        assert len(dnskey_rr) == 1, f"{self.keyfile} has multiple RRs"
+        assert (
+            dnskey_rr.rdtype == dns.rdatatype.DNSKEY
+        ), f"DNSKEY not found in {self.keyfile}"
+        return dnskey_rr
 
     def write_dsset(
         self,