From 8833b6036e93d62259f75ab97b74f28d4314c071 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Sat, 29 Apr 2017 20:17:52 -0400 Subject: dev-lang/python: backport test fix Bug: https://bugs.gentoo.org/617028 Package-Manager: Portage-2.3.5_p31, Repoman-2.3.2_p61 --- dev-lang/python/files/3.6.1-test_socket-AEAD.patch | 75 ++++++++++++++++++++++ dev-lang/python/python-3.6.1-r1.ebuild | 1 + 2 files changed, 76 insertions(+) create mode 100644 dev-lang/python/files/3.6.1-test_socket-AEAD.patch diff --git a/dev-lang/python/files/3.6.1-test_socket-AEAD.patch b/dev-lang/python/files/3.6.1-test_socket-AEAD.patch new file mode 100644 index 000000000000..426e3371441c --- /dev/null +++ b/dev-lang/python/files/3.6.1-test_socket-AEAD.patch @@ -0,0 +1,75 @@ +From 4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e Mon Sep 17 00:00:00 2001 +From: Mariatta +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 + diff --git a/dev-lang/python/python-3.6.1-r1.ebuild b/dev-lang/python/python-3.6.1-r1.ebuild index 979354ebcf72..eef0e26c7dc1 100644 --- a/dev-lang/python/python-3.6.1-r1.ebuild +++ b/dev-lang/python/python-3.6.1-r1.ebuild @@ -64,6 +64,7 @@ src_prepare() { EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" epatch "${FILESDIR}/${PN}-3.5-distutils-OO-build.patch" + epatch "${FILESDIR}/3.6.1-test_socket-AEAD.patch" epatch_user -- cgit v1.2.3-65-gdbad