Confine errors from dnspython to dnsplug and use dkim errors, since dkim.__init__.py doesn't import dns and needs dkim errors (LP: #2018646)
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
Version 1.1.4
|
2023-05-12 Version 1.1.4
|
||||||
- Treat dns.resolver.NoNameservers like NXDOMAIN (not an error) (Thanks to
|
- Treat dns.resolver.NoNameservers like NXDOMAIN (not an error) (Thanks to
|
||||||
David for the patch and the report)
|
David for the patch and the report)
|
||||||
|
- Confine errors from dnspython to dnsplug and use dkim errors, since
|
||||||
|
dkim.__init__.py doesn't import dns and needs dkim errors (LP: #2018646)
|
||||||
2023-04-30 Version 1.1.3
|
2023-04-30 Version 1.1.3
|
||||||
- Catch nacl.exceptions.ValueError and raise KeyFormatError, similar to how
|
- Catch nacl.exceptions.ValueError and raise KeyFormatError, similar to how
|
||||||
RSA key errors are treated (LP: #2018021)
|
RSA key errors are treated (LP: #2018021)
|
||||||
|
|||||||
+1
-1
@@ -802,7 +802,7 @@ class DomainSigner(object):
|
|||||||
except binascii.Error as e:
|
except binascii.Error as e:
|
||||||
self.logger.error('KeyFormatError: {0}'.format(e))
|
self.logger.error('KeyFormatError: {0}'.format(e))
|
||||||
return False
|
return False
|
||||||
except dns.exception.Timeout as e:
|
except DnsTimeoutError as e:
|
||||||
self.logger.error('DnsTimeoutError: Domain: {0} Selector: {1} Error message: {2}'.format(
|
self.logger.error('DnsTimeoutError: Domain: {0} Selector: {1} Error message: {2}'.format(
|
||||||
sig[b'd'], sig[b's'], e))
|
sig[b'd'], sig[b's'], e))
|
||||||
return False
|
return False
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ __all__ = [
|
|||||||
|
|
||||||
def get_txt_dnspython(name, timeout=5):
|
def get_txt_dnspython(name, timeout=5):
|
||||||
"""Return a TXT record associated with a DNS name."""
|
"""Return a TXT record associated with a DNS name."""
|
||||||
|
import dkim
|
||||||
try:
|
try:
|
||||||
a = dns.resolver.query(name, dns.rdatatype.TXT,raise_on_no_answer=False, lifetime=timeout)
|
a = dns.resolver.query(name, dns.rdatatype.TXT,raise_on_no_answer=False, lifetime=timeout)
|
||||||
for r in a.response.answer:
|
for r in a.response.answer:
|
||||||
@@ -34,6 +35,10 @@ def get_txt_dnspython(name, timeout=5):
|
|||||||
return b"".join(list(r.items)[0].strings)
|
return b"".join(list(r.items)[0].strings)
|
||||||
except dns.resolver.NXDOMAIN: pass
|
except dns.resolver.NXDOMAIN: pass
|
||||||
except dns.resolver.NoNameservers: pass
|
except dns.resolver.NoNameservers: pass
|
||||||
|
except dns.resolver.NoResolverConfiguration as e:
|
||||||
|
raise dkim.DnsTimeoutError('dns.resolver.NoResolverConfiguration: {0}'.format(e))
|
||||||
|
except dns.exception.Timeout as e:
|
||||||
|
raise dkim.DnsTimeoutError('dns.exception.Timeout: {0}'.format(e))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user