diff options
Diffstat (limited to 'dev-lang/python/files/python-3.3-libressl.patch')
-rw-r--r-- | dev-lang/python/files/python-3.3-libressl.patch | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/dev-lang/python/files/python-3.3-libressl.patch b/dev-lang/python/files/python-3.3-libressl.patch deleted file mode 100644 index 816704e..0000000 --- a/dev-lang/python/files/python-3.3-libressl.patch +++ /dev/null @@ -1,127 +0,0 @@ -From eed8d3b553e00e04c1f97c87ea02723630fb15a4 Mon Sep 17 00:00:00 2001 -From: hasufell <hasufell@gentoo.org> -Date: Sun, 20 Sep 2015 14:25:43 +0200 -Subject: [PATCH] Backport upstream libressl patches to python-3.3 - -https://hg.python.org/cpython/raw-rev/7f82f50fdad0 -https://hg.python.org/cpython/raw-rev/4dac45f88d45 ---- - Lib/ssl.py | 7 ++++++- - Lib/test/test_ssl.py | 21 +++++++++++++-------- - Modules/_ssl.c | 4 ++++ - configure | 42 ++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 3 +++ - pyconfig.h.in | 3 +++ - 6 files changed, 71 insertions(+), 9 deletions(-) - -diff --git a/Lib/ssl.py b/Lib/ssl.py -index cd8d6b4..445ae87 100644 ---- a/Lib/ssl.py -+++ b/Lib/ssl.py -@@ -78,7 +78,12 @@ try: - from _ssl import OP_SINGLE_ECDH_USE - except ImportError: - pass --from _ssl import RAND_status, RAND_egd, RAND_add, RAND_bytes, RAND_pseudo_bytes -+from _ssl import RAND_status, RAND_add, RAND_bytes, RAND_pseudo_bytes -+try: -+ from _ssl import RAND_egd -+except ImportError: -+ # LibreSSL does not provide RAND_egd -+ pass - from _ssl import ( - SSL_ERROR_ZERO_RETURN, - SSL_ERROR_WANT_READ, -diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py -index 9fc6027..879f791 100644 ---- a/Lib/test/test_ssl.py -+++ b/Lib/test/test_ssl.py -@@ -130,8 +130,9 @@ class BasicSocketTests(unittest.TestCase): - self.assertRaises(ValueError, ssl.RAND_bytes, -5) - self.assertRaises(ValueError, ssl.RAND_pseudo_bytes, -5) - -- self.assertRaises(TypeError, ssl.RAND_egd, 1) -- self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) -+ if hasattr(ssl, 'RAND_egd'): -+ self.assertRaises(TypeError, ssl.RAND_egd, 1) -+ self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) - ssl.RAND_add("this is a random string", 75.0) - - @unittest.skipUnless(os.name == 'posix', 'requires posix') -@@ -250,11 +251,11 @@ class BasicSocketTests(unittest.TestCase): - # Some sanity checks follow - # >= 0.9 - self.assertGreaterEqual(n, 0x900000) -- # < 2.0 -- self.assertLess(n, 0x20000000) -+ # < 3.0 -+ self.assertLess(n, 0x30000000) - major, minor, fix, patch, status = t - self.assertGreaterEqual(major, 0) -- self.assertLess(major, 2) -+ self.assertLess(major, 3) - self.assertGreaterEqual(minor, 0) - self.assertLess(minor, 256) - self.assertGreaterEqual(fix, 0) -@@ -263,9 +264,13 @@ class BasicSocketTests(unittest.TestCase): - self.assertLessEqual(patch, 26) - self.assertGreaterEqual(status, 0) - self.assertLessEqual(status, 15) -- # Version string as returned by OpenSSL, the format might change -- self.assertTrue(s.startswith("OpenSSL {:d}.{:d}.{:d}".format(major, minor, fix)), -- (s, t)) -+ # Version string as returned by {Open,Libre}SSL, the format might change -+ if "LibreSSL" in s: -+ self.assertTrue(s.startswith("LibreSSL {:d}.{:d}".format(major, minor)), -+ (s, t)) -+ else: -+ self.assertTrue(s.startswith("OpenSSL {:d}.{:d}.{:d}".format(major, minor, fix)), -+ (s, t)) - - @support.cpython_only - def test_refcycle(self): -diff --git a/Modules/_ssl.c b/Modules/_ssl.c -index 499e8ba..cb151ba 100644 ---- a/Modules/_ssl.c -+++ b/Modules/_ssl.c -@@ -2559,6 +2559,7 @@ Returns 1 if the OpenSSL PRNG has been seeded with enough data and 0 if not.\n\ - It is necessary to seed the PRNG with RAND_add() on some platforms before\n\ - using the ssl() function."); - -+#ifdef HAVE_RAND_EGD - static PyObject * - PySSL_RAND_egd(PyObject *self, PyObject *args) - { -@@ -2586,6 +2587,7 @@ PyDoc_STRVAR(PySSL_RAND_egd_doc, - Queries the entropy gather daemon (EGD) on the socket named by 'path'.\n\ - Returns number of bytes read. Raises SSLError if connection to EGD\n\ - fails or if it does not provide enough data to seed PRNG."); -+#endif /* HAVE_RAND_EGD */ - - #endif /* HAVE_OPENSSL_RAND */ - -@@ -2604,8 +2606,10 @@ static PyMethodDef PySSL_methods[] = { - PySSL_RAND_bytes_doc}, - {"RAND_pseudo_bytes", PySSL_RAND_pseudo_bytes, METH_VARARGS, - PySSL_RAND_pseudo_bytes_doc}, -+#ifdef HAVE_RAND_EGD - {"RAND_egd", PySSL_RAND_egd, METH_VARARGS, - PySSL_RAND_egd_doc}, -+#endif - {"RAND_status", (PyCFunction)PySSL_RAND_status, METH_NOARGS, - PySSL_RAND_status_doc}, - #endif -diff --git a/configure.ac b/configure.ac -index 6a64bff..90f315a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2181,6 +2181,9 @@ AC_MSG_RESULT($SHLIBS) - AC_CHECK_LIB(sendfile, sendfile) - AC_CHECK_LIB(dl, dlopen) # Dynamic linking for SunOS/Solaris and SYSV - AC_CHECK_LIB(dld, shl_load) # Dynamic linking for HP-UX -+AC_CHECK_LIB(crypto, RAND_egd, -+ AC_DEFINE(HAVE_RAND_EGD, 1, -+ [Define if the libcrypto has RAND_egd])) - - # only check for sem_init if thread support is requested - if test "$with_threads" = "yes" -o -z "$with_threads"; then |