Fix SSL3 error on Ubuntu 12.04
authorJoseph McCullough <joseph@vertstudios.com>
Mon, 20 Aug 2012 02:48:30 +0000 (21:48 -0500)
committerJoseph McCullough <joseph@vertstudios.com>
Mon, 20 Aug 2012 03:10:18 +0000 (22:10 -0500)
requests/packages/urllib3/connectionpool.py

index 97da544..26f0176 100644 (file)
@@ -96,9 +96,17 @@ class VerifiedHTTPSConnection(HTTPSConnection):
 
         # Wrap socket using verification with the root certs in
         # trusted_root_certs
-        self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file,
-                                    cert_reqs=self.cert_reqs,
-                                    ca_certs=self.ca_certs)
+        try:
+          self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file,
+                                      cert_reqs=self.cert_reqs,
+                                      ca_certs=self.ca_certs,
+                                      ssl_version=ssl.PROTOCOL_SSLv3)
+        except ssl.SSLError:
+          self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file,
+                                      cert_reqs=self.cert_reqs,
+                                      ca_certs=self.ca_certs,
+                                      ssl_version=ssl.PROTOCOL_SSLv23)
+
         if self.ca_certs:
             match_hostname(self.sock.getpeercert(), self.host)