python-requests-toolbelt/stop-using-pyopenssl-compat.patch
Matej Cepl b2a491a284 - Upgrade to 1.0.0:
- Breaking Changes
    - Removed Google App Engine support to allow using urllib3 2.0
  - New Features
    - Add support for preparing requests in BaseUrlSession
  - Fixed Bugs
    - Ensured the test suite no longer reaches the Internet
    - Fix urllib3 warning to only emit on X509Adapter usage
    - Fixing missing newline in dump utility
  - Miscellaneous
    - Added explicit support for Python 3.11
- Remove upstreamed patches:
  - fix-tests.patch
  - remove_mock.patch
  - requests-toolbelt-pr246-collections.abc.patch
- Add 356-add-missing-casette-files.patch which adds missing
  casette test files (gh#requests/toolbelt!356).

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests-toolbelt?expand=0&rev=29
2023-05-04 19:38:53 +00:00

67 lines
2.4 KiB
Diff

---
requests_toolbelt/adapters/x509.py | 27 ++++-----------------------
1 file changed, 4 insertions(+), 23 deletions(-)
--- a/requests_toolbelt/adapters/x509.py
+++ b/requests_toolbelt/adapters/x509.py
@@ -8,6 +8,7 @@ X.509 certificate without needing to con
"""
from OpenSSL.crypto import PKey, X509
+from OpenSSL.SSL import Context, TLS_CLIENT_METHOD
from cryptography import x509
from cryptography.hazmat.primitives.serialization import (load_pem_private_key,
load_der_private_key)
@@ -20,16 +21,6 @@ import requests
from .. import exceptions as exc
-"""
-importing the protocol constants from _ssl instead of ssl because only the
-constants are needed and to handle issues caused by importing from ssl on
-the 2.7.x line.
-"""
-try:
- from _ssl import PROTOCOL_TLS as PROTOCOL
-except ImportError:
- from _ssl import PROTOCOL_SSLv23 as PROTOCOL
-
PyOpenSSLContext = None
@@ -84,7 +75,6 @@ class X509Adapter(HTTPAdapter):
def __init__(self, *args, **kwargs):
self._import_pyopensslcontext()
- self._check_version()
cert_bytes = kwargs.pop('cert_bytes', None)
pk_bytes = kwargs.pop('pk_bytes', None)
password = kwargs.pop('password', None)
@@ -136,15 +126,6 @@ class X509Adapter(HTTPAdapter):
except ImportError:
PyOpenSSLContext = None
- def _check_version(self):
- if PyOpenSSLContext is None:
- raise exc.VersionMismatchError(
- "The X509Adapter requires at least Requests 2.12.0 to be "
- "installed. Version {} was found instead.".format(
- requests.__version__
- )
- )
-
def check_cert_dates(cert):
"""Verify that the supplied client cert is not invalid."""
@@ -190,7 +171,7 @@ def create_ssl_context(cert_byes, pk_byt
raise ValueError('Cert and key could not be parsed from '
'provided data')
check_cert_dates(cert)
- ssl_context = PyOpenSSLContext(PROTOCOL)
- ssl_context._ctx.use_certificate(X509.from_cryptography(cert))
- ssl_context._ctx.use_privatekey(PKey.from_cryptography_key(key))
+ ssl_context = Context(TLS_CLIENT_METHOD)
+ ssl_context.use_certificate(X509.from_cryptography(cert))
+ ssl_context.use_privatekey(PKey.from_cryptography_key(key))
return ssl_context