Author: Ronan Lamy <[email protected]>
Branch: py3.7
Changeset: r97364:f3000526edef
Date: 2019-09-01 18:07 +0100
http://bitbucket.org/pypy/pypy/changeset/f3000526edef/

Log:    Adapt to 3.7 refactoring of SSLSocket (bpo-24334)

diff --git a/lib_pypy/_cffi_ssl/_stdssl/__init__.py 
b/lib_pypy/_cffi_ssl/_stdssl/__init__.py
--- a/lib_pypy/_cffi_ssl/_stdssl/__init__.py
+++ b/lib_pypy/_cffi_ssl/_stdssl/__init__.py
@@ -250,7 +250,8 @@
 class _SSLSocket(object):
 
     @staticmethod
-    def _new__ssl_socket(sslctx, sock, socket_type, server_hostname, inbio, 
outbio):
+    def _new__ssl_socket(sslctx, sock, socket_type, server_hostname, owner,
+            session, inbio, outbio):
         self = _SSLSocket(sslctx)
         ctx = sslctx.ctx
         self.owner = None
@@ -300,6 +301,11 @@
         if sock:
             self.socket = weakref.ref(sock)
 
+        if owner is not None:
+            self.owner = owner
+        if session is not None:
+            self.session = session
+
         return self
 
     def __init__(self, sslctx):
@@ -399,7 +405,7 @@
         self.handshake_done = 1
         return None
 
-    def peer_certificate(self, binary_mode):
+    def getpeercert(self, binary_mode):
         if not self.handshake_done:
             raise ValueError("handshake not done yet")
         if self.peer_cert == ffi.NULL:
@@ -1122,11 +1128,12 @@
             lib.SSL_CTX_set_default_passwd_cb_userdata(self.ctx, ffi.NULL)
 
 
-    def _wrap_socket(self, sock, server_side, server_hostname=None):
+    def _wrap_socket(self, sock, server_side, server_hostname=None, *,
+            owner=None, session=None):
         if server_hostname:
             server_hostname = server_hostname.encode('idna')
         return _SSLSocket._new__ssl_socket(self, sock, server_side,
-                server_hostname, None, None)
+                server_hostname, owner, session, None, None)
 
     def load_verify_locations(self, cafile=None, capath=None, cadata=None):
         ffi.errno = 0
@@ -1355,14 +1362,17 @@
         else:
             raise NotImplementedError("The NPN extension requires OpenSSL 
1.0.1 or later.")
 
-    def _wrap_bio(self, incoming, outgoing, server_side, server_hostname):
+    def _wrap_bio(self, incoming, outgoing, server_side, server_hostname, *,
+            owner=None, session=None):
         # server_hostname is either None (or absent), or to be encoded
         # using the idna encoding.
         hostname = None
         if server_hostname is not None:
             hostname = server_hostname.encode("idna")
 
-        sock = _SSLSocket._new__ssl_socket(self, None, server_side, hostname, 
incoming, outgoing)
+        sock = _SSLSocket._new__ssl_socket(
+            self, None, server_side, hostname, owner, session, incoming,
+            outgoing)
         return sock
 
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to