summaryrefslogtreecommitdiff
path: root/eventlet/green
diff options
context:
space:
mode:
authorJakub Stasiak <jakub@stasiak.at>2014-10-11 02:10:35 +0100
committerJakub Stasiak <jakub@stasiak.at>2014-10-11 18:48:49 +0100
commit3df8dc2263a9702657c344d3a1c9ed4035a4a24b (patch)
tree2a2d45dfa28d6a17c7eba529d19ec45b463d3c20 /eventlet/green
parente61bb738b8a9231b84fa13a0c985fc3b43a86d29 (diff)
downloadeventlet-3df8dc2263a9702657c344d3a1c9ed4035a4a24b.tar.gz
Python 3 compat: Improve SSL and WSGI compat
Diffstat (limited to 'eventlet/green')
-rw-r--r--eventlet/green/ssl.py15
1 files changed, 9 insertions, 6 deletions
diff --git a/eventlet/green/ssl.py b/eventlet/green/ssl.py
index 5169898..0fdde5d 100644
--- a/eventlet/green/ssl.py
+++ b/eventlet/green/ssl.py
@@ -7,7 +7,7 @@ import sys
import errno
time = __import__('time')
-from eventlet.support import get_errno, six
+from eventlet.support import get_errno, PY33, six
from eventlet.hubs import trampoline, IOClosed
from eventlet.greenio import set_nonblocking, GreenSocket, SOCKET_CLOSED, CONNECT_ERR, CONNECT_SUCCESS
orig_socket = __import__('socket')
@@ -281,13 +281,16 @@ class GreenSSLSocket(_original_sslsocket):
except AttributeError:
# sslwrap was removed in 3.x and later in 2.7.9
if six.PY2:
- self._sslobj = self._context._wrap_socket(self._sock, server_side, ssl_sock=self)
+ sslobj = self._context._wrap_socket(self._sock, server_side, ssl_sock=self)
else:
- self._sslobj = self._context._wrap_socket(self, server_side)
+ context = self.context if PY33 else self._context
+ sslobj = context._wrap_socket(self, server_side)
else:
- self._sslobj = sslwrap(self._sock, server_side, self.keyfile, self.certfile,
- self.cert_reqs, self.ssl_version,
- self.ca_certs, *([self.ciphers] if has_ciphers else []))
+ sslobj = sslwrap(self._sock, server_side, self.keyfile, self.certfile,
+ self.cert_reqs, self.ssl_version,
+ self.ca_certs, *([self.ciphers] if has_ciphers else []))
+
+ self._sslobj = sslobj
if self.do_handshake_on_connect:
self.do_handshake()