Merge pull request #348 from j3hyde/master
Fixes xmlsec output line parsing on CRLF platforms (e.g. Windows).
This commit is contained in:
@@ -42,7 +42,7 @@ def get_algorithm_support(xmlsec):
|
|||||||
pof.wait()
|
pof.wait()
|
||||||
|
|
||||||
if not p_err:
|
if not p_err:
|
||||||
p = p_out.split('\n')
|
p = p_out.splitlines()
|
||||||
algs = [x.strip('"') for x in p[1].split(',')]
|
algs = [x.strip('"') for x in p[1].split(',')]
|
||||||
digest = []
|
digest = []
|
||||||
signing = []
|
signing = []
|
||||||
|
@@ -586,7 +586,7 @@ def parse_xmlsec_output(output):
|
|||||||
:param output: The output from Popen
|
:param output: The output from Popen
|
||||||
:return: A boolean; True if the command was a success otherwise False
|
:return: A boolean; True if the command was a success otherwise False
|
||||||
"""
|
"""
|
||||||
for line in output.split("\n"):
|
for line in output.splitlines():
|
||||||
if line == "OK":
|
if line == "OK":
|
||||||
return True
|
return True
|
||||||
elif line == "FAIL":
|
elif line == "FAIL":
|
||||||
|
@@ -540,6 +540,19 @@ def test_sha256_signing():
|
|||||||
assert s
|
assert s
|
||||||
|
|
||||||
|
|
||||||
|
def test_xmlsec_output_line_parsing():
|
||||||
|
output1 = "prefix\nOK\npostfix"
|
||||||
|
assert sigver.parse_xmlsec_output(output1)
|
||||||
|
|
||||||
|
output2 = "prefix\nFAIL\npostfix"
|
||||||
|
raises(sigver.XmlsecError, sigver.parse_xmlsec_output, output2)
|
||||||
|
|
||||||
|
output3 = "prefix\r\nOK\r\npostfix"
|
||||||
|
assert sigver.parse_xmlsec_output(output3)
|
||||||
|
|
||||||
|
output4 = "prefix\r\nFAIL\r\npostfix"
|
||||||
|
raises(sigver.XmlsecError, sigver.parse_xmlsec_output, output4)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# t = TestSecurity()
|
# t = TestSecurity()
|
||||||
|
Reference in New Issue
Block a user