Allow callers to override the DNS function used by verify().
This commit is contained in:
+2
-2
@@ -396,7 +396,7 @@ def sign(message, selector, domain, privkey, identity=None, canonicalize=(Simple
|
|||||||
|
|
||||||
return sig + "\r\n"
|
return sig + "\r\n"
|
||||||
|
|
||||||
def verify(message, debuglog=None):
|
def verify(message, debuglog=None, dnsfunc=dnstxt):
|
||||||
"""Verify a DKIM signature on an RFC822 formatted message.
|
"""Verify a DKIM signature on an RFC822 formatted message.
|
||||||
|
|
||||||
@param message: an RFC822 formatted message (with either \\n or \\r\\n line endings)
|
@param message: an RFC822 formatted message (with either \\n or \\r\\n line endings)
|
||||||
@@ -548,7 +548,7 @@ def verify(message, debuglog=None):
|
|||||||
print >>debuglog, "body hash mismatch (got %s, expected %s)" % (base64.b64encode(bodyhash), sig['bh'])
|
print >>debuglog, "body hash mismatch (got %s, expected %s)" % (base64.b64encode(bodyhash), sig['bh'])
|
||||||
return False
|
return False
|
||||||
|
|
||||||
s = dnstxt(sig['s']+"._domainkey."+sig['d']+".")
|
s = dnsfunc(sig['s']+"._domainkey."+sig['d']+".")
|
||||||
if not s:
|
if not s:
|
||||||
return False
|
return False
|
||||||
a = re.split(r"\s*;\s*", s)
|
a = re.split(r"\s*;\s*", s)
|
||||||
|
|||||||
Reference in New Issue
Block a user