[pypy-commit] pypy cryptograhpt-2.7: fix wrong function call

mattip pypy.commits at gmail.com
Tue Aug 13 16:12:35 EDT 2019


Author: Matti Picus <matti.picus at gmail.com>
Branch: cryptograhpt-2.7
Changeset: r97171:7b89acff0749
Date: 2019-08-13 22:35 +0300
http://bitbucket.org/pypy/pypy/changeset/7b89acff0749/

Log:	fix wrong function call

diff --git a/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.py b/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.py
--- a/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.py
+++ b/lib_pypy/_cffi_ssl/_cffi_src/openssl/bio.py
@@ -38,6 +38,7 @@
 int BIO_should_io_special(BIO *);
 int BIO_should_retry(BIO *);
 int BIO_reset(BIO *);
+long BIO_set_nbio(BIO *, long);
 void BIO_set_retry_read(BIO *);
 void BIO_clear_retry_flags(BIO *);
 """
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
@@ -255,7 +255,8 @@
         #
         timeout = _socket_timeout(sock)
         if sock and timeout >= 0:
-            lib.SSL_set_bio(ssl, lib.SSL_get_rbio(ssl), lib.SSL_get_wbio(ssl))
+            lib.BIO_set_nbio(lib.SSL_get_rbio(ssl), 1)
+            lib.BIO_set_nbio(lib.SSL_get_wbio(ssl), 1)
 
         if socket_type == SSL_CLIENT:
             lib.SSL_set_connect_state(ssl)
@@ -316,7 +317,8 @@
         timeout = _socket_timeout(sock)
         if sock:
             nonblocking = timeout >= 0
-            lib.SSL_set_bio(ssl, lib.SSL_get_rbio(ssl), lib.SSL_get_wbio(ssl))
+            lib.BIO_set_nbio(lib.SSL_get_rbio(ssl), nonblocking)
+            lib.BIO_set_nbio(lib.SSL_get_wbio(ssl), nonblocking)
 
         # Actually negotiate SSL connection
         # XXX If SSL_do_handshake() returns 0, it's also a failure.
@@ -384,7 +386,8 @@
         timeout = _socket_timeout(sock)
         if sock:
             nonblocking = timeout >= 0
-            lib.SSL_set_bio(ssl, lib.SSL_get_rbio(ssl), lib.SSL_get_wbio(ssl))
+            lib.BIO_set_nbio(lib.SSL_get_rbio(ssl), nonblocking)
+            lib.BIO_set_nbio(lib.SSL_get_wbio(ssl), nonblocking)
 
         sockstate = _ssl_select(sock, 1, timeout)
         if sockstate == SOCKET_HAS_TIMED_OUT:
@@ -446,7 +449,8 @@
         if sock:
             timeout = _socket_timeout(sock)
             nonblocking = timeout >= 0
-            lib.SSL_set_bio(ssl, lib.SSL_get_rbio(ssl), lib.SSL_get_wbio(ssl))
+            lib.BIO_set_nbio(lib.SSL_get_rbio(ssl), nonblocking)
+            lib.BIO_set_nbio(lib.SSL_get_wbio(ssl), nonblocking)
 
         deadline = 0
         timeout = _socket_timeout(sock)
@@ -567,7 +571,8 @@
             timeout = _socket_timeout(sock)
             nonblocking = timeout >= 0
             if sock and timeout >= 0:
-                lib.SSL_set_bio(ssl, lib.SSL_get_rbio(ssl), lib.SSL_get_wbio(ssl))
+                lib.BIO_set_nbio(lib.SSL_get_rbio(ssl), nonblocking)
+                lib.BIO_set_nbio(lib.SSL_get_wbio(ssl), nonblocking)
         else:
             timeout = 0
 


More information about the pypy-commit mailing list