From: Nicki Křížek Date: Thu, 27 Nov 2025 12:16:26 +0000 (+0100) Subject: Mock DSDigest for compatibility with older dnspython X-Git-Tag: v9.21.16~23^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f2be20547f772459466c6695098e1649a7e8f82;p=thirdparty%2Fbind9.git Mock DSDigest for compatibility with older dnspython 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. --- diff --git a/bin/tests/system/isctest/compat.py b/bin/tests/system/isctest/compat.py index 3dc5810745a..ae6b157c0d4 100644 --- a/bin/tests/system/isctest/compat.py +++ b/bin/tests/system/isctest/compat.py @@ -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 diff --git a/bin/tests/system/isctest/kasp.py b/bin/tests/system/isctest/kasp.py index a86277e50e7..486b2063157 100644 --- a/bin/tests/system/isctest/kasp.py +++ b/bin/tests/system/isctest/kasp.py @@ -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