]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Mock DSDigest for compatibility with older dnspython
authorNicki Křížek <nicki@isc.org>
Thu, 27 Nov 2025 12:16:26 +0000 (13:16 +0100)
committerNicki Křížek <nicki@isc.org>
Thu, 27 Nov 2025 13:02:49 +0000 (14:02 +0100)
DSDigest class isn't available prior to dnspython 2.0.0 and prior to Add
an isctest.compat.DSDigest compatibility hack to support those versions.

bin/tests/system/isctest/compat.py
bin/tests/system/isctest/kasp.py

index 3dc5810745a2ee08fda96231215bf1cbc001cb7f..ae6b157c0d40a7067ef25af2342f72be8811e575 100644 (file)
@@ -54,3 +54,17 @@ else:
         class EDEOption:
             def __new__(cls, *args, **kwargs):
                 raise RuntimeError("Using EDEOption requires dnspython>=2.2.0")
+
+
+# pylint: disable=unused-import
+try:
+    from dns.dnssec import DSDigest
+except ImportError:  # dnspython<2.0.0
+    import enum
+
+    class DSDigest(enum.IntEnum):  # type: ignore
+        """DNSSEC Delgation Signer Digest Algorithm"""
+
+        SHA1 = 1
+        SHA256 = 2
+        SHA384 = 4
index a86277e50e785eab7195a19aa09c4a5b9a043430..486b2063157cb732a1665d48d44528b1221ef244 100644 (file)
@@ -21,7 +21,6 @@ from typing import Dict, List, Optional, Tuple, Union
 
 import dns
 import dns.dnssec
-from dns.dnssectypes import DSDigest
 import dns.rdatatype
 import dns.rrset
 import dns.tsig
@@ -31,6 +30,7 @@ import pytest
 import isctest.log
 import isctest.query
 import isctest.util
+from isctest.compat import DSDigest
 from isctest.instance import NamedInstance
 from isctest.template import TrustAnchor
 from isctest.vars.algorithms import Algorithm, ALL_ALGORITHMS_BY_NUM