1 |
commit: 8833b6036e93d62259f75ab97b74f28d4314c071 |
2 |
Author: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Apr 30 00:17:52 2017 +0000 |
4 |
Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Apr 30 00:18:55 2017 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8833b603 |
7 |
|
8 |
dev-lang/python: backport test fix |
9 |
|
10 |
Bug: https://bugs.gentoo.org/617028 |
11 |
Package-Manager: Portage-2.3.5_p31, Repoman-2.3.2_p61 |
12 |
|
13 |
dev-lang/python/files/3.6.1-test_socket-AEAD.patch | 75 ++++++++++++++++++++++ |
14 |
dev-lang/python/python-3.6.1-r1.ebuild | 1 + |
15 |
2 files changed, 76 insertions(+) |
16 |
|
17 |
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 |
18 |
new file mode 100644 |
19 |
index 00000000000..426e3371441 |
20 |
--- /dev/null |
21 |
+++ b/dev-lang/python/files/3.6.1-test_socket-AEAD.patch |
22 |
@@ -0,0 +1,75 @@ |
23 |
+From 4ac01f0ff3e3c9c02f5cc8c55f2fbe4639808f5e Mon Sep 17 00:00:00 2001 |
24 |
+From: Mariatta <Mariatta@××××××××××××××××××××.com> |
25 |
+Date: Thu, 16 Mar 2017 20:58:42 -0700 |
26 |
+Subject: [PATCH] update test_socket AEAD test for kernel 4.9 and up (GH-133) |
27 |
+ (GH-548) |
28 |
+ |
29 |
+(cherry picked from commit 9764c151c51480a7ca6042b1ccd69be2620ff360) |
30 |
+--- |
31 |
+ Lib/test/test_socket.py | 15 +++++++-------- |
32 |
+ 1 file changed, 7 insertions(+), 8 deletions(-) |
33 |
+ |
34 |
+diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py |
35 |
+index 5315d475df..1508f20c9f 100644 |
36 |
+--- a/Lib/test/test_socket.py |
37 |
++++ b/Lib/test/test_socket.py |
38 |
+@@ -5479,7 +5479,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
39 |
+ self.assertEqual(len(dec), msglen * multiplier) |
40 |
+ self.assertEqual(dec, msg * multiplier) |
41 |
+ |
42 |
+- @support.requires_linux_version(4, 3) # see test_aes_cbc |
43 |
++ @support.requires_linux_version(4, 9) # see issue29324 |
44 |
+ def test_aead_aes_gcm(self): |
45 |
+ key = bytes.fromhex('c939cc13397c1d37de6ae0e1cb7c423c') |
46 |
+ iv = bytes.fromhex('b3d8cc017cbb89b39e0f67e2') |
47 |
+@@ -5502,8 +5502,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
48 |
+ op.sendmsg_afalg(op=socket.ALG_OP_ENCRYPT, iv=iv, |
49 |
+ assoclen=assoclen, flags=socket.MSG_MORE) |
50 |
+ op.sendall(assoc, socket.MSG_MORE) |
51 |
+- op.sendall(plain, socket.MSG_MORE) |
52 |
+- op.sendall(b'\x00' * taglen) |
53 |
++ op.sendall(plain) |
54 |
+ res = op.recv(assoclen + len(plain) + taglen) |
55 |
+ self.assertEqual(expected_ct, res[assoclen:-taglen]) |
56 |
+ self.assertEqual(expected_tag, res[-taglen:]) |
57 |
+@@ -5511,7 +5510,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
58 |
+ # now with msg |
59 |
+ op, _ = algo.accept() |
60 |
+ with op: |
61 |
+- msg = assoc + plain + b'\x00' * taglen |
62 |
++ msg = assoc + plain |
63 |
+ op.sendmsg_afalg([msg], op=socket.ALG_OP_ENCRYPT, iv=iv, |
64 |
+ assoclen=assoclen) |
65 |
+ res = op.recv(assoclen + len(plain) + taglen) |
66 |
+@@ -5522,7 +5521,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
67 |
+ pack_uint32 = struct.Struct('I').pack |
68 |
+ op, _ = algo.accept() |
69 |
+ with op: |
70 |
+- msg = assoc + plain + b'\x00' * taglen |
71 |
++ msg = assoc + plain |
72 |
+ op.sendmsg( |
73 |
+ [msg], |
74 |
+ ([socket.SOL_ALG, socket.ALG_SET_OP, pack_uint32(socket.ALG_OP_ENCRYPT)], |
75 |
+@@ -5530,7 +5529,7 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
76 |
+ [socket.SOL_ALG, socket.ALG_SET_AEAD_ASSOCLEN, pack_uint32(assoclen)], |
77 |
+ ) |
78 |
+ ) |
79 |
+- res = op.recv(len(msg)) |
80 |
++ res = op.recv(len(msg) + taglen) |
81 |
+ self.assertEqual(expected_ct, res[assoclen:-taglen]) |
82 |
+ self.assertEqual(expected_tag, res[-taglen:]) |
83 |
+ |
84 |
+@@ -5540,8 +5539,8 @@ class LinuxKernelCryptoAPI(unittest.TestCase): |
85 |
+ msg = assoc + expected_ct + expected_tag |
86 |
+ op.sendmsg_afalg([msg], op=socket.ALG_OP_DECRYPT, iv=iv, |
87 |
+ assoclen=assoclen) |
88 |
+- res = op.recv(len(msg)) |
89 |
+- self.assertEqual(plain, res[assoclen:-taglen]) |
90 |
++ res = op.recv(len(msg) - taglen) |
91 |
++ self.assertEqual(plain, res[assoclen:]) |
92 |
+ |
93 |
+ @support.requires_linux_version(4, 3) # see test_aes_cbc |
94 |
+ def test_drbg_pr_sha256(self): |
95 |
+-- |
96 |
+2.12.2 |
97 |
+ |
98 |
|
99 |
diff --git a/dev-lang/python/python-3.6.1-r1.ebuild b/dev-lang/python/python-3.6.1-r1.ebuild |
100 |
index 979354ebcf7..eef0e26c7dc 100644 |
101 |
--- a/dev-lang/python/python-3.6.1-r1.ebuild |
102 |
+++ b/dev-lang/python/python-3.6.1-r1.ebuild |
103 |
@@ -64,6 +64,7 @@ src_prepare() { |
104 |
|
105 |
EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches" |
106 |
epatch "${FILESDIR}/${PN}-3.5-distutils-OO-build.patch" |
107 |
+ epatch "${FILESDIR}/3.6.1-test_socket-AEAD.patch" |
108 |
|
109 |
epatch_user |