Allow callers to override the DNS function used by verify().

This commit is contained in:
William Grant
2011-03-09 20:10:04 +11:00
parent 97ec4a65a4
commit fbe24a0001
+2 -2
View File
@@ -396,7 +396,7 @@ def sign(message, selector, domain, privkey, identity=None, canonicalize=(Simple
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.
@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'])
return False
s = dnstxt(sig['s']+"._domainkey."+sig['d']+".")
s = dnsfunc(sig['s']+"._domainkey."+sig['d']+".")
if not s:
return False
a = re.split(r"\s*;\s*", s)