1
0

dnssec: fix compat with dnspython 1.16

This commit is contained in:
SomberNight
2020-07-02 11:12:38 +02:00
parent 9fa666f179
commit 6d2aee18d0
2 changed files with 15 additions and 1 deletions

View File

@@ -2,7 +2,7 @@ pyaes>=0.1a1
ecdsa>=0.14
qrcode
protobuf>=3.12
dnspython
dnspython<2.0
qdarkstyle<2.9
aiorpcx>=0.18,<0.19
aiohttp>=3.3.0,<4.0.0

View File

@@ -35,6 +35,7 @@
# import sys
import time
import struct
import hashlib
import dns.name
@@ -166,10 +167,23 @@ def python_validate_rrsig(rrset, rrsig, keys, origin=None, now=None):
raise ValidationFailure('verify failure')
class PyCryptodomexHashAlike:
def __init__(self, hashlib_func):
self._hash = hashlib_func
def new(self):
return self._hash()
# replace validate_rrsig
dns.dnssec._validate_rrsig = python_validate_rrsig
dns.dnssec.validate_rrsig = python_validate_rrsig
dns.dnssec.validate = dns.dnssec._validate
dns.dnssec._have_ecdsa = True
dns.dnssec.MD5 = PyCryptodomexHashAlike(hashlib.md5)
dns.dnssec.SHA1 = PyCryptodomexHashAlike(hashlib.sha1)
dns.dnssec.SHA256 = PyCryptodomexHashAlike(hashlib.sha256)
dns.dnssec.SHA384 = PyCryptodomexHashAlike(hashlib.sha384)
dns.dnssec.SHA512 = PyCryptodomexHashAlike(hashlib.sha512)