summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Glagolev2015-03-06 15:42:56 +0300
committerVlad Glagolev2015-03-06 15:42:56 +0300
commit8c33ca2b5bce85e537956a83b125121d115aeac5 (patch)
treea8fd8dd1356b8977d6886de9431601f4f3d59a36
parent0923d5b60f79805e46f4e46673b5e519daaca224 (diff)
pyopenssl: corrected work with libressl
-rwxr-xr-xpython-pypi/pyopenssl/DETAILS3
-rw-r--r--python-pypi/pyopenssl/HISTORY9
-rwxr-xr-xpython-pypi/pyopenssl/PRE_BUILD7
-rw-r--r--python-pypi/pyopenssl/libressl.patch94
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