Minor timeout and tlsprt cleanups

This commit is contained in:
Scott Kitterman
2019-11-01 17:21:15 -04:00
parent ebe8fc7c77
commit fa93e56fa2
2 changed files with 6 additions and 3 deletions
+5 -3
View File
@@ -70,7 +70,7 @@ from dkim.crypto import (
try: try:
from dkim.dnsplug import get_txt from dkim.dnsplug import get_txt
except ImportError: except ImportError:
def get_txt(s): def get_txt(s,timeout=5):
raise RuntimeError("DKIM.verify requires DNS or dnspython module") raise RuntimeError("DKIM.verify requires DNS or dnspython module")
from dkim.util import ( from dkim.util import (
get_default_logger, get_default_logger,
@@ -485,7 +485,8 @@ class DomainSigner(object):
#: False: Not a tlsrpt, True: Is a tlsrpt, 'strict': tlsrpt, invalid if #: False: Not a tlsrpt, True: Is a tlsrpt, 'strict': tlsrpt, invalid if
#: service type is missing. For signing, if True, length is never used. #: service type is missing. For signing, if True, length is never used.
def __init__(self,message=None,logger=None,signature_algorithm=b'rsa-sha256', def __init__(self,message=None,logger=None,signature_algorithm=b'rsa-sha256',
minkey=1024, linesep=b'\r\n', debug_content=False, timeout=5, tlsrpt=False): minkey=1024, linesep=b'\r\n', debug_content=False, timeout=5,
tlsrpt=False):
self.set_message(message) self.set_message(message)
if logger is None: if logger is None:
logger = get_default_logger() logger = get_default_logger()
@@ -682,7 +683,8 @@ class DomainSigner(object):
def verify_sig(self, sig, include_headers, sig_header, dnsfunc): def verify_sig(self, sig, include_headers, sig_header, dnsfunc):
name = sig[b's'] + b"._domainkey." + sig[b'd'] + b"." name = sig[b's'] + b"._domainkey." + sig[b'd'] + b"."
try: try:
pk, self.keysize, ktag, self.seqtlsrpt = load_pk_from_dns(name, dnsfunc, timeout=self.timeout) pk, self.keysize, ktag, self.seqtlsrpt = load_pk_from_dns(name, dnsfunc,
timeout=self.timeout)
except KeyFormatError as e: except KeyFormatError as e:
self.logger.error("%s" % e) self.logger.error("%s" % e)
return False return False
+1
View File
@@ -47,6 +47,7 @@ def get_txt_pydns(name, timeout=5):
return b''.join(response.answers[0]['data']) return b''.join(response.answers[0]['data'])
# No longer used since it doesn't support timeout
def get_txt_Milter_dns(name, timeout=5): def get_txt_Milter_dns(name, timeout=5):
"""Return a TXT record associated with a DNS name.""" """Return a TXT record associated with a DNS name."""
# Older pydns releases don't like a trailing dot. # Older pydns releases don't like a trailing dot.