summary refs log tree commit diff
diff options
context:
space:
mode:
authorDomen Kožar <domen@dev.si>2015-03-07 19:28:55 +0100
committerDomen Kožar <domen@dev.si>2015-03-07 19:30:00 +0100
commit0e0bc3ac86f28912d12641bc2895445850b5448d (patch)
tree61556ff9c9995d2872d8cafa38ab9c137cdd67ad
parent79d7605311b8a6fb2ea66b279c3f658e9374bdb4 (diff)
downloadnixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar.gz
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar.bz2
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar.lz
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar.xz
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.tar.zst
nixlib-0e0bc3ac86f28912d12641bc2895445850b5448d.zip
gevent: update Python 2.7.9 compatibility patch
-rw-r--r--pkgs/development/python-modules/gevent_sslwrap.patch45
1 files changed, 33 insertions, 12 deletions
diff --git a/pkgs/development/python-modules/gevent_sslwrap.patch b/pkgs/development/python-modules/gevent_sslwrap.patch
index 10c61478bd6b..a9bb0eab5de9 100644
--- a/pkgs/development/python-modules/gevent_sslwrap.patch
+++ b/pkgs/development/python-modules/gevent_sslwrap.patch
@@ -1,8 +1,17 @@
-Index: b/gevent/ssl.py
-===================================================================
+From 485cebc4d9bab2dae51cf29f91fad2f1cf157fec Mon Sep 17 00:00:00 2001
+From: Eugene Pankov <john.pankov@gmail.com>
+Date: Sun, 21 Sep 2014 12:04:13 +0300
+Subject: [PATCH] Work around missing sslwrap in Python 2.7.9 (fixes #477)
+
+---
+ gevent/_ssl2.py | 28 ++++++++++++++++++++--------
+ 1 file changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/gevent/ssl.py b/gevent/ssl.py
+index 21491b7..85e6a86 100644
 --- a/gevent/ssl.py
 +++ b/gevent/ssl.py
-@@ -81,15 +81,14 @@ class SSLSocket(socket):
+@@ -80,15 +80,27 @@ def __init__(self, sock, keyfile=None, certfile=None,
              self._sslobj = None
          else:
              # yes, create the SSL object
@@ -10,19 +19,31 @@ Index: b/gevent/ssl.py
 -                self._sslobj = _ssl.sslwrap(self._sock, server_side,
 -                                            keyfile, certfile,
 -                                            cert_reqs, ssl_version, ca_certs)
--            else:
++            if hasattr(_ssl, 'sslwrap'):
++                if ciphers is None:
++                    self._sslobj = _ssl.sslwrap(self._sock, server_side,
++                                                keyfile, certfile,
++                                                cert_reqs, ssl_version, ca_certs)
++                else:
++                    self._sslobj = _ssl.sslwrap(self._sock, server_side,
++                                                keyfile, certfile,
++                                                cert_reqs, ssl_version, ca_certs,
++                                                ciphers)
+             else:
 -                self._sslobj = _ssl.sslwrap(self._sock, server_side,
 -                                            keyfile, certfile,
 -                                            cert_reqs, ssl_version, ca_certs,
 -                                            ciphers)
-+            ctx = __ssl__.SSLContext(ssl_version)
-+            if keyfile or certfile:
-+                ctx.load_cert_chain(certfile, keyfile)
-+            if ca_certs:
-+                ctx.load_verify_locations(ca_certs)
-+            if ciphers:
-+                ctx.set_ciphers(ciphers)
-+            self._sslobj = ctx._wrap_socket(self._sock, server_side=server_side)
++                self.context = __ssl__.SSLContext(ssl_version)
++                self.context.verify_mode = cert_reqs
++                if ca_certs:
++                    self.context.load_verify_locations(ca_certs)
++                if certfile:
++                    self.context.load_cert_chain(certfile, keyfile)
++                if ciphers:
++                    self.context.set_ciphers(ciphers)
++                self._sslobj = self.context._wrap_socket(self._sock, server_side=server_side, ssl_sock=self)
++
              if do_handshake_on_connect:
                  self.do_handshake()
          self.keyfile = keyfile