Strip leading and trailing whitespace before parsing.
This commit is contained in:
+4
-4
@@ -296,10 +296,10 @@ class DKIM(object):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
# Currently, we only validate the first DKIM-Signature line found.
|
# Currently, we only validate the first DKIM-Signature line found.
|
||||||
try:
|
#try:
|
||||||
sig = parse_tag_value(sigheaders[0][1])
|
sig = parse_tag_value(sigheaders[0][1])
|
||||||
except InvalidTagValueList,e:
|
#except InvalidTagValueList,e:
|
||||||
raise MessageFormatError(e)
|
# raise MessageFormatError(e)
|
||||||
|
|
||||||
sig = parse_tag_value(sigheaders[0][1])
|
sig = parse_tag_value(sigheaders[0][1])
|
||||||
logger = self.logger
|
logger = self.logger
|
||||||
|
|||||||
+1
-1
@@ -55,7 +55,7 @@ def parse_tag_value(tag_list):
|
|||||||
@param tag_list: A string containing a DKIM Tag=Value list.
|
@param tag_list: A string containing a DKIM Tag=Value list.
|
||||||
"""
|
"""
|
||||||
tags = {}
|
tags = {}
|
||||||
tag_specs = tag_list.split(b';')
|
tag_specs = tag_list.strip().split(b';')
|
||||||
# Trailing semicolons are valid.
|
# Trailing semicolons are valid.
|
||||||
if not tag_specs[-1]:
|
if not tag_specs[-1]:
|
||||||
tag_specs.pop()
|
tag_specs.pop()
|
||||||
|
|||||||
+2
-1
@@ -32,7 +32,8 @@ if sys.version_info[0] >= 3:
|
|||||||
sys.stdin = sys.stdin.detach()
|
sys.stdin = sys.stdin.detach()
|
||||||
|
|
||||||
message = sys.stdin.read()
|
message = sys.stdin.read()
|
||||||
if not dkim.verify(message):
|
d = dkim.DKIM(message)
|
||||||
|
if not d.verify():
|
||||||
print("signature verification failed")
|
print("signature verification failed")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
print("signature ok")
|
print("signature ok")
|
||||||
|
|||||||
+2
-1
@@ -13,7 +13,8 @@ class ParseTestCase(unittest.TestCase):
|
|||||||
3KzW0yB9JHwiDCw1EioVkv+OMHhAYzoIypA0bQyi2bc=;
|
3KzW0yB9JHwiDCw1EioVkv+OMHhAYzoIypA0bQyi2bc=;
|
||||||
'''
|
'''
|
||||||
sig = parse_tag_value(hval)
|
sig = parse_tag_value(hval)
|
||||||
print sig
|
self.assertEquals(sig[b't'],'1308078492')
|
||||||
|
self.assertEquals(len(sig),11)
|
||||||
|
|
||||||
def suite():
|
def suite():
|
||||||
s = unittest.makeSuite(ParseTestCase,'test')
|
s = unittest.makeSuite(ParseTestCase,'test')
|
||||||
|
|||||||
Reference in New Issue
Block a user