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
-1
@@ -802,7 +802,7 @@ class DomainSigner(object):
|
||||
except binascii.Error as e:
|
||||
self.logger.error('KeyFormatError: {0}'.format(e))
|
||||
return False
|
||||
except dns.exception.Timeout as e:
|
||||
except DnsTimeoutError as e:
|
||||
self.logger.error('DnsTimeoutError: Domain: {0} Selector: {1} Error message: {2}'.format(
|
||||
sig[b'd'], sig[b's'], e))
|
||||
return False
|
||||
|
||||
@@ -27,6 +27,7 @@ __all__ = [
|
||||
|
||||
def get_txt_dnspython(name, timeout=5):
|
||||
"""Return a TXT record associated with a DNS name."""
|
||||
import dkim
|
||||
try:
|
||||
a = dns.resolver.query(name, dns.rdatatype.TXT,raise_on_no_answer=False, lifetime=timeout)
|
||||
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)
|
||||
except dns.resolver.NXDOMAIN: 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
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user