diff options
author | Vlad Glagolev | 2015-03-06 15:42:56 +0300 |
---|---|---|
committer | Vlad Glagolev | 2015-03-06 15:42:56 +0300 |
commit | 8c33ca2b5bce85e537956a83b125121d115aeac5 (patch) | |
tree | a8fd8dd1356b8977d6886de9431601f4f3d59a36 | |
parent | 0923d5b60f79805e46f4e46673b5e519daaca224 (diff) |
pyopenssl: corrected work with libressl
-rwxr-xr-x | python-pypi/pyopenssl/DETAILS | 3 | ||||
-rw-r--r-- | python-pypi/pyopenssl/HISTORY | 9 | ||||
-rwxr-xr-x | python-pypi/pyopenssl/PRE_BUILD | 7 | ||||
-rw-r--r-- | python-pypi/pyopenssl/libressl.patch | 94 |
4 files changed, 110 insertions, 3 deletions
diff --git a/python-pypi/pyopenssl/DETAILS b/python-pypi/pyopenssl/DETAILS index 313b6e6da7..b4b48d4268 100755 --- a/python-pypi/pyopenssl/DETAILS +++ b/python-pypi/pyopenssl/DETAILS @@ -1,8 +1,9 @@ SPELL=pyopenssl SPELLX=pyOpenSSL VERSION=0.14 - SOURCE_HASH=sha512:afd14aad8f7313425b9f0d79d80fbc17feaf128204cbda21db4116c8ce6e08e77e865110971c02bdc99b27a2d43402cc87f04586375167f41c61d0f474109512 SECURITY_PATCH=1 + PATCHLEVEL=1 + SOURCE_HASH=sha512:afd14aad8f7313425b9f0d79d80fbc17feaf128204cbda21db4116c8ce6e08e77e865110971c02bdc99b27a2d43402cc87f04586375167f41c61d0f474109512 SOURCE=$SPELLX-$VERSION.tar.gz SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELLX-$VERSION" SOURCE_URL[0]=http://pypi.python.org/packages/source/p/$SPELLX/$SOURCE diff --git a/python-pypi/pyopenssl/HISTORY b/python-pypi/pyopenssl/HISTORY index a818a58082..827ccafce0 100644 --- a/python-pypi/pyopenssl/HISTORY +++ b/python-pypi/pyopenssl/HISTORY @@ -1,5 +1,10 @@ -2014-08-19 Treeve Jelbert <treeve@sourcemage.org> - * DEPENDS: openssl => SSL +2015-03-06 Vlad Glagolev <stealth@sourcemage.org> + * DETAILS: PATCHLEVEL=1 + * PRE_BUILD: added, to optionally apply a patch + * libressl.patch: added, to correct usage with libressl + +2014-08-19 Treeve Jelbert <treeve@sourcemage.org> + * DEPENDS: openssl => SSL 2014-05-25 Florian Franzmann <siflfran@hawo.stw.uni-erlangen.de> * DETAILS: version 0.14 diff --git a/python-pypi/pyopenssl/PRE_BUILD b/python-pypi/pyopenssl/PRE_BUILD new file mode 100755 index 0000000000..66d995c4ba --- /dev/null +++ b/python-pypi/pyopenssl/PRE_BUILD @@ -0,0 +1,7 @@ +default_pre_build && +cd "$SOURCE_DIRECTORY" && + +# the patch drops EGD support for LibreSSL, so make it optional +if [[ $(get_spell_provider $SPELL SSL) == "libressl" ]]; then + patch -p0 < "$SPELL_DIRECTORY/libressl.patch" +fi diff --git a/python-pypi/pyopenssl/libressl.patch b/python-pypi/pyopenssl/libressl.patch new file mode 100644 index 0000000000..f244daf69e --- /dev/null +++ b/python-pypi/pyopenssl/libressl.patch @@ -0,0 +1,94 @@ +--- doc/api/rand.rst.orig ++++ doc/api/rand.rst +@@ -31,13 +31,6 @@ + This is a wrapper for the C function :py:func:`RAND_cleanup`. + + +-.. py:function:: egd(path[, bytes]) +- +- Query the `Entropy Gathering Daemon <http://www.lothar.com/tech/crypto/>`_ on +- socket *path* for *bytes* bytes of random data and uses :py:func:`add` to +- seed the PRNG. The default value of *bytes* is 255. +- +- + .. py:function:: load_file(path[, bytes]) + + Read *bytes* bytes (or all of it, if *bytes* is negative) of data from the +--- OpenSSL/rand.py.orig ++++ OpenSSL/rand.py +@@ -93,29 +93,6 @@ + + + +-def egd(path, bytes=_unspecified): +- """ +- Query an entropy gathering daemon (EGD) for random data and add it to the +- PRNG. I haven't found any problems when the socket is missing, the function +- just returns 0. +- +- :param path: The path to the EGD socket +- :param bytes: (optional) The number of bytes to read, default is 255 +- :returns: The number of bytes read (NB: a value of 0 isn't necessarily an +- error, check rand.status()) +- """ +- if not isinstance(path, _builtin_bytes): +- raise TypeError("path must be a byte string") +- +- if bytes is _unspecified: +- bytes = 255 +- elif not isinstance(bytes, int): +- raise TypeError("bytes must be an integer") +- +- return _lib.RAND_egd_bytes(path, bytes) +- +- +- + def cleanup(): + """ + Erase the memory used by the PRNG. +--- OpenSSL/test/test_rand.py.orig ++++ OpenSSL/test/test_rand.py +@@ -103,43 +103,6 @@ + self.assertTrue(rand.status() in (1, 2)) + + +- def test_egd_wrong_args(self): +- """ +- :py:obj:`OpenSSL.rand.egd` raises :py:obj:`TypeError` when called with the wrong +- number of arguments or with arguments not of type :py:obj:`str` and :py:obj:`int`. +- """ +- self.assertRaises(TypeError, rand.egd) +- self.assertRaises(TypeError, rand.egd, None) +- self.assertRaises(TypeError, rand.egd, "foo", None) +- self.assertRaises(TypeError, rand.egd, None, 3) +- self.assertRaises(TypeError, rand.egd, "foo", 3, None) +- +- +- def test_egd_missing(self): +- """ +- :py:obj:`OpenSSL.rand.egd` returns :py:obj:`0` or :py:obj:`-1` if the +- EGD socket passed to it does not exist. +- """ +- result = rand.egd(self.mktemp()) +- expected = (-1, 0) +- self.assertTrue( +- result in expected, +- "%r not in %r" % (result, expected)) +- +- +- def test_egd_missing_and_bytes(self): +- """ +- :py:obj:`OpenSSL.rand.egd` returns :py:obj:`0` or :py:obj:`-1` if the +- EGD socket passed to it does not exist even if a size argument is +- explicitly passed. +- """ +- result = rand.egd(self.mktemp(), 1024) +- expected = (-1, 0) +- self.assertTrue( +- result in expected, +- "%r not in %r" % (result, expected)) +- +- + def test_cleanup_wrong_args(self): + """ + :py:obj:`OpenSSL.rand.cleanup` raises :py:obj:`TypeError` when called with any |