diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-04-01 23:36:02 -0400 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2023-04-14 15:12:07 -0400 |
commit | bf7ac629114846121818ad14e1c55db3347d2bd7 (patch) | |
tree | f71767b7c16a71b2c14813e0050b608ade4a85c4 /gnu/packages | |
parent | f204e8028ae5412f4fac3190fbd19dc93c90c0cf (diff) | |
download | guix-bf7ac629114846121818ad14e1c55db3347d2bd7.tar guix-bf7ac629114846121818ad14e1c55db3347d2bd7.tar.gz |
gnu: python-pyopenssl: Update to 23.1.1.
* gnu/packages/python-crypto.scm (python-pyopenssl): Update to 23.1.1.
[source]: Remove patches.
[arguments]: Update faketime date in check phase.
Normalize pytest invocation in check phase override.
[propagated-inputs]: Remove python-six.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/python2-pyopenssl-openssl-compat.patch | 51 | ||||
-rw-r--r-- | gnu/packages/python-crypto.scm | 22 |
2 files changed, 8 insertions, 65 deletions
diff --git a/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch b/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch deleted file mode 100644 index a185f4172d..0000000000 --- a/gnu/packages/patches/python2-pyopenssl-openssl-compat.patch +++ /dev/null @@ -1,51 +0,0 @@ -Adjust for OpenSSL 1.1.1: - - https://github.com/pyca/pyopenssl/issues/1043 - -Taken from upstream: - - https://github.com/pyca/pyopenssl/commit/cc5c00ae5fd3c19d07fff79b5c4a08f5e58697ad - -diff --git a/src/OpenSSL/SSL.py b/src/OpenSSL/SSL.py -index 59f21cec..fcdee047 100644 ---- a/src/OpenSSL/SSL.py -+++ b/src/OpenSSL/SSL.py -@@ -1421,6 +1421,12 @@ def set_alpn_protos(self, protos): - This list should be a Python list of bytestrings representing the - protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``. - """ -+ # Different versions of OpenSSL are inconsistent about how they handle empty -+ # proto lists (see #1043), so we avoid the problem entirely by rejecting them -+ # ourselves. -+ if not protos: -+ raise ValueError("at least one protocol must be specified") -+ - # Take the list of protocols and join them together, prefixing them - # with their lengths. - protostr = b"".join( -@@ -2449,6 +2455,12 @@ def set_alpn_protos(self, protos): - This list should be a Python list of bytestrings representing the - protocols to offer, e.g. ``[b'http/1.1', b'spdy/2']``. - """ -+ # Different versions of OpenSSL are inconsistent about how they handle empty -+ # proto lists (see #1043), so we avoid the problem entirely by rejecting them -+ # ourselves. -+ if not protos: -+ raise ValueError("at least one protocol must be specified") -+ - # Take the list of protocols and join them together, prefixing them - # with their lengths. - protostr = b"".join( -diff --git a/tests/test_ssl.py b/tests/test_ssl.py -index ffc505d8..ca363b45 100644 ---- a/tests/test_ssl.py -+++ b/tests/test_ssl.py -@@ -1928,7 +1928,7 @@ def test_alpn_call_failure(self): - protocols list. Ensure that we produce a user-visible error. - """ - context = Context(SSLv23_METHOD) -- with pytest.raises(Error): -+ with pytest.raises(ValueError): - context.set_alpn_protos([]) - - def test_alpn_set_on_connection(self): diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index a9355d134f..b3c9e57d70 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -654,19 +654,17 @@ ciphers, message digests and key derivation functions.") (propagated-inputs '()) (synopsis "Core implementation of the Cryptography Python library"))) -;; This is the last version which is compatable with python-cryptography < 35. (define-public python-pyopenssl (package (name "python-pyopenssl") - (version "21.0.0") + (version "23.1.1") (source (origin (method url-fetch) (uri (pypi-uri "pyOpenSSL" version)) (sha256 (base32 - "1cqcc20fwl521z3fxsc1c98gbnhb14q55vrvjfp6bn6h8rg8qbay")) - (patches (search-patches "python2-pyopenssl-openssl-compat.patch")))) + "1dxhip610zw1j2bz35g1w1h7vh374g0bnzn4nsqj65n6pswrh544")))) (build-system python-build-system) (arguments (list @@ -678,7 +676,7 @@ ciphers, message digests and key derivation functions.") ;; PyOpenSSL runs tests against a certificate with a fixed ;; expiry time. To ensure successful builds in the future, ;; set the time to roughly the release date. - (invoke "faketime" "2022-02-01" "py.test" "-v" "-k" + (invoke "faketime" "2023-03-25" "pytest" "-vv" "-k" (string-append ;; This test tries to look up certificates from ;; the compiled-in default path in OpenSSL, which @@ -690,17 +688,13 @@ ciphers, message digests and key derivation functions.") ;; Fails on i686-linux and possibly other 32-bit platforms ;; https://github.com/pyca/pyopenssl/issues/974 "and not test_verify_with_time")))))))) - (propagated-inputs - (list python-cryptography python-six)) - (inputs - (list openssl)) - (native-inputs - (list libfaketime python-flaky python-pretend python-pytest)) + (propagated-inputs (list python-cryptography)) + (inputs (list openssl)) + (native-inputs (list libfaketime python-flaky python-pretend python-pytest)) (home-page "https://github.com/pyca/pyopenssl") (synopsis "Python wrapper module around the OpenSSL library") - (description - "PyOpenSSL is a high-level wrapper around a subset of the OpenSSL -library.") + (description "PyOpenSSL is a high-level wrapper around a subset of the +OpenSSL library.") (license license:asl2.0))) (define-public python-ed25519 |