From: Nicki Křížek Date: Tue, 16 Jun 2026 12:32:28 +0000 (+0000) Subject: Move dnskey method from kasp.Key to zone.FileZoneKey X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=55cd4a1e11af1bd83f3dcb24e38d24182bc1adf4;p=thirdparty%2Fbind9.git Move dnskey method from kasp.Key to zone.FileZoneKey Code move with one change - switch dnskey TTL from 300s (DEFAULT_TTL) to 3600s (DNSKEY_TTL). Assisted-by: Claude:claude-opus-4-8 --- diff --git a/bin/tests/system/isctest/kasp.py b/bin/tests/system/isctest/kasp.py index e86b9d6a813..2bbcfce95ab 100644 --- a/bin/tests/system/isctest/kasp.py +++ b/bin/tests/system/isctest/kasp.py @@ -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). diff --git a/bin/tests/system/isctest/zone.py b/bin/tests/system/isctest/zone.py index 02b93c8b8d9..a7ba22db90a 100644 --- a/bin/tests/system/isctest/zone.py +++ b/bin/tests/system/isctest/zone.py @@ -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,