You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
3.4 KiB
76 lines
3.4 KiB
7 years ago
|
From 4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e Mon Sep 17 00:00:00 2001
|
||
|
From: Mariatta <Mariatta@users.noreply.github.com>
|
||
|
Date: Thu, 16 Mar 2017 20:58:42 -0700
|
||
|
Subject: [PATCH] update test_socket AEAD test for kernel 4.9 and up (GH-133)
|
||
|
(GH-548)
|
||
|
|
||
|
(cherry picked from commit 9764c151c51480a7ca6042b1ccd69be2620ff360)
|
||
|
---
|
||
|
Lib/test/test_socket.py | 15 +++++++--------
|
||
|
1 file changed, 7 insertions(+), 8 deletions(-)
|
||
|
|
||
|
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
|
||
|
index 5315d475df..1508f20c9f 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):
|
||
|
--
|
||
|
2.12.2
|
||
|
|