Test case for tab in FWS bug. Use minkey=512 for test cases.
This commit is contained in:
+2
-2
@@ -591,13 +591,13 @@ def sign(message, selector, domain, privkey, identity=None,
|
|||||||
include_headers = d.all_sign_headers()
|
include_headers = d.all_sign_headers()
|
||||||
return d.sign(selector, domain, privkey, identity=identity, canonicalize=canonicalize, include_headers=include_headers, length=length)
|
return d.sign(selector, domain, privkey, identity=identity, canonicalize=canonicalize, include_headers=include_headers, length=length)
|
||||||
|
|
||||||
def verify(message, logger=None, dnsfunc=get_txt):
|
def verify(message, logger=None, dnsfunc=get_txt, minkey=1024):
|
||||||
"""Verify the first (topmost) DKIM signature on an RFC822 formatted message.
|
"""Verify the first (topmost) 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)
|
||||||
@param logger: a logger to which debug info will be written (default None)
|
@param logger: a logger to which debug info will be written (default None)
|
||||||
@return: True if signature verifies or False otherwise
|
@return: True if signature verifies or False otherwise
|
||||||
"""
|
"""
|
||||||
d = DKIM(message,logger=logger)
|
d = DKIM(message,logger=logger,minkey=minkey)
|
||||||
try:
|
try:
|
||||||
return d.verify(dnsfunc=dnsfunc)
|
return d.verify(dnsfunc=dnsfunc)
|
||||||
except DKIMException as x:
|
except DKIMException as x:
|
||||||
|
|||||||
@@ -135,7 +135,15 @@ b/mPfjC0QJTocVBq6Za/PlzfV+Py92VaCak19F4WrbVTK5Gg5tW220MCAwEAAQ=="""
|
|||||||
# simple canonicalization.
|
# simple canonicalization.
|
||||||
# http://tools.ietf.org/html/rfc4871#section-3.5
|
# http://tools.ietf.org/html/rfc4871#section-3.5
|
||||||
signed = dkim.fold(dkim_header) + sample_msg
|
signed = dkim.fold(dkim_header) + sample_msg
|
||||||
result = dkim.verify(signed,dnsfunc=lambda x: _dns_responses[x])
|
result = dkim.verify(signed,dnsfunc=lambda x: _dns_responses[x],
|
||||||
|
minkey=512)
|
||||||
|
self.assertTrue(result)
|
||||||
|
dkim_header = dkim.fold(dkim_header)
|
||||||
|
# use a tab for last fold to test tab in FWS bug
|
||||||
|
pos = dkim_header.rindex(b'\r\n ')
|
||||||
|
dkim_header = dkim_header[:pos]+b'\r\n\t'+dkim_header[pos+3:]
|
||||||
|
result = dkim.verify(dkim_header + sample_msg,
|
||||||
|
dnsfunc=lambda x: _dns_responses[x], minkey=512)
|
||||||
self.assertTrue(result)
|
self.assertTrue(result)
|
||||||
|
|
||||||
def test_extra_headers(self):
|
def test_extra_headers(self):
|
||||||
|
|||||||
Reference in New Issue
Block a user