Blob Blame Raw
From 04b6d11d7745b319fad127622f45bfb99759a8d7 Mon Sep 17 00:00:00 2001
From: Rob Crittenden <rcritten@redhat.com>
Date: Tue, 17 May 2016 14:02:24 -0400
Subject: [PATCH] Work around missing ndg-httpsclient breaking import of
 pyopenssl

---
 test/test_request.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/test/test_request.py b/test/test_request.py
index 5d2a525..254b31c 100644
--- a/test/test_request.py
+++ b/test/test_request.py
@@ -8,8 +8,13 @@ import logging
 import socket
 from requests.packages.urllib3.util import get_host
 from requests.packages.urllib3.util.timeout import Timeout
-from requests.packages.urllib3.contrib import pyopenssl
 from requests.packages.urllib3.connectionpool import HTTPConnectionPool, HTTPSConnectionPool, VerifiedHTTPSConnection 
+try:
+    from requests.packages.urllib3.contrib.pyopenssl import DEFAULT_SSL_CIPHER_LIST
+except ImportError:
+    DEFAULT_SSL_CIPHER_LIST = "ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:" + \
+    "ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:" + \
+    "!aNULL:!MD5:!DSS"
 
 # Don't bend over backwards for ssl support, assume it is there.
 import ssl
@@ -33,7 +38,7 @@ except ImportError:
         # Other older python we use the urllib3 bundled copy
 		from urllib3.packages.ssl_match_hostname import match_hostname, CertificateError
 
-SAVE_DEFAULT_SSL_CIPHER_LIST = pyopenssl.DEFAULT_SSL_CIPHER_LIST
+SAVE_DEFAULT_SSL_CIPHER_LIST = DEFAULT_SSL_CIPHER_LIST
 
 log = logging.getLogger(__name__)
 
@@ -141,9 +146,9 @@ class MyVerifiedHTTPSConnection(VerifiedHTTPSConnection):
     def connect(self):
         if self.sni:
             if self.ciphers:
-                pyopenssl.DEFAULT_SSL_CIPHER_LIST = self.ciphers
+                DEFAULT_SSL_CIPHER_LIST = self.ciphers
             else:
-                pyopenssl.DEFAULT_SSL_CIPHER_LIST = SAVE_DEFAULT_SSL_CIPHER_LIST
+                DEFAULT_SSL_CIPHER_LIST = SAVE_DEFAULT_SSL_CIPHER_LIST
             return super(MyVerifiedHTTPSConnection, self).connect()
 
         # Add certificate verification
-- 
2.5.5