Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:illuusio:python
python-requests-toolbelt
stop-using-pyopenssl-compat.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File stop-using-pyopenssl-compat.patch of Package python-requests-toolbelt
Index: requests-toolbelt-0.9.1/requests_toolbelt/adapters/x509.py =================================================================== --- requests-toolbelt-0.9.1.orig/requests_toolbelt/adapters/x509.py +++ requests-toolbelt-0.9.1/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) @@ -18,19 +19,8 @@ from datetime import datetime from requests.adapters import HTTPAdapter import requests -from .._compat import PyOpenSSLContext 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 - class X509Adapter(HTTPAdapter): r"""Adapter for use with X.509 certificates. @@ -81,7 +71,6 @@ class X509Adapter(HTTPAdapter): """ def __init__(self, *args, **kwargs): - self._check_version() cert_bytes = kwargs.pop('cert_bytes', None) pk_bytes = kwargs.pop('pk_bytes', None) password = kwargs.pop('password', None) @@ -118,15 +107,6 @@ class X509Adapter(HTTPAdapter): kwargs['ssl_context'] = self.ssl_context return super(X509Adapter, self).proxy_manager_for(*args, **kwargs) - def _check_version(self): - if PyOpenSSLContext is None: - raise exc.VersionMismatchError( - "The X509Adapter requires at least Requests 2.12.0 to be " - "installed. Version {0} was found instead.".format( - requests.__version__ - ) - ) - def check_cert_dates(cert): """Verify that the supplied client cert is not invalid.""" @@ -172,7 +152,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 Index: requests-toolbelt-0.9.1/requests_toolbelt/_compat.py =================================================================== --- requests-toolbelt-0.9.1.orig/requests_toolbelt/_compat.py +++ requests-toolbelt-0.9.1/requests_toolbelt/_compat.py @@ -49,17 +49,7 @@ else: except ImportError: from urllib3.contrib import appengine as gaecontrib -if requests.__build__ < 0x021200: - PyOpenSSLContext = None -else: - try: - from requests.packages.urllib3.contrib.pyopenssl \ - import PyOpenSSLContext - except ImportError: - try: - from urllib3.contrib.pyopenssl import PyOpenSSLContext - except ImportError: - PyOpenSSLContext = None +PyOpenSSLContext = None PY3 = sys.version_info > (3, 0)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor