diff options
author | Mariatta <Mariatta@users.noreply.github.com> | 2017-03-17 03:58:42 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-03-17 03:58:42 (GMT) |
commit | 4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e (patch) | |
tree | 564d130d922091518b730cfc49fa8a1692f91d4e /Lib/test | |
parent | 3fce38c540681a736b7e5ca7611758f7bc159c9e (diff) | |
download | cpython-4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e.zip cpython-4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e.tar.gz cpython-4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e.tar.bz2 |
update test_socket AEAD test for kernel 4.9 and up (GH-133) (GH-548)
(cherry picked from commit 9764c151c51480a7ca6042b1ccd69be2620ff360)
Diffstat (limited to 'Lib/test')
-rw-r--r-- | Lib/test/test_socket.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index 5315d47..1508f20 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -5479,7 +5479,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): self.assertEqual(len(dec), msglen * multiplier) self.assertEqual(dec, msg * multiplier) - @support.requires_linux_version(4, 3) # see test_aes_cbc + @support.requires_linux_version(4, 9) # see issue29324 def test_aead_aes_gcm(self): key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c') iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2') @@ -5502,8 +5502,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): op.sendmsg_afalg(op=socket.ALG_OP_ENCRYPT, iv=iv, assoclen=assoclen, flags=socket.MSG_MORE) op.sendall(assoc, socket.MSG_MORE) - op.sendall(plain, socket.MSG_MORE) - op.sendall(b'\x00' * taglen) + op.sendall(plain) res = op.recv(assoclen + len(plain) + taglen) self.assertEqual(expected_ct, res[assoclen:-taglen]) self.assertEqual(expected_tag, res[-taglen:]) @@ -5511,7 +5510,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): # now with msg op, _ = algo.accept() with op: - msg = assoc + plain + b'\x00' * taglen + msg = assoc + plain op.sendmsg_afalg([msg], op=socket.ALG_OP_ENCRYPT, iv=iv, assoclen=assoclen) res = op.recv(assoclen + len(plain) + taglen) @@ -5522,7 +5521,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): pack_uint32 = struct.Struct('I').pack op, _ = algo.accept() with op: - msg = assoc + plain + b'\x00' * taglen + msg = assoc + plain op.sendmsg( [msg], ([socket.SOL_ALG, socket.ALG_SET_OP, pack_uint32(socket.ALG_OP_ENCRYPT)], @@ -5530,7 +5529,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): [socket.SOL_ALG, socket.ALG_SET_AEAD_ASSOCLEN, pack_uint32(assoclen)], ) ) - res = op.recv(len(msg)) + res = op.recv(len(msg) + taglen) self.assertEqual(expected_ct, res[assoclen:-taglen]) self.assertEqual(expected_tag, res[-taglen:]) @@ -5540,8 +5539,8 @@ class LinuxKernelCryptoAPI(unittest.TestCase): msg = assoc + expected_ct + expected_tag op.sendmsg_afalg([msg], op=socket.ALG_OP_DECRYPT, iv=iv, assoclen=assoclen) - res = op.recv(len(msg)) - self.assertEqual(plain, res[assoclen:-taglen]) + res = op.recv(len(msg) - taglen) + self.assertEqual(plain, res[assoclen:]) @support.requires_linux_version(4, 3) # see test_aes_cbc def test_drbg_pr_sha256(self): |