summaryrefslogtreecommitdiffstats
path: root/Modules/_ssl.c
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2010-03-26 19:38:11 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2010-03-26 19:38:11 (GMT)
commited6c893cfcca48944d28aaa881f00c97b9fbe55b (patch)
treefa71a727eafe3c5efa174d8a658f38825e2a2c40 /Modules/_ssl.c
parentb869749f55ed78a09b7cf1a2673a20e6bfb3fa50 (diff)
downloadcpython-ed6c893cfcca48944d28aaa881f00c97b9fbe55b.zip
cpython-ed6c893cfcca48944d28aaa881f00c97b9fbe55b.tar.gz
cpython-ed6c893cfcca48944d28aaa881f00c97b9fbe55b.tar.bz2
Merged revisions 79449,79452 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r79449 | antoine.pitrou | 2010-03-26 20:32:24 +0100 (ven., 26 mars 2010) | 12 lines Merged revisions 79448 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r79448 | antoine.pitrou | 2010-03-26 20:27:16 +0100 (ven., 26 mars 2010) | 6 lines Issue #8222: Enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking reads and writes are always retried by OpenSSL itself. (this is a followup to issue #3890) ........ ................ r79452 | antoine.pitrou | 2010-03-26 20:36:14 +0100 (ven., 26 mars 2010) | 3 lines Add NEWS entry for r79449. ................
Diffstat (limited to 'Modules/_ssl.c')
-rw-r--r--Modules/_ssl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 45c44f8..9131158 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -9,8 +9,6 @@
directly.
XXX should partial writes be enabled, SSL_MODE_ENABLE_PARTIAL_WRITE?
-
- XXX what about SSL_MODE_AUTO_RETRY?
*/
#include "Python.h"
@@ -371,6 +369,7 @@ newPySSLObject(PySocketSockObject *Sock, char *key_file, char *cert_file,
self->ssl = SSL_new(self->ctx); /* New ssl struct */
PySSL_END_ALLOW_THREADS
SSL_set_fd(self->ssl, Sock->sock_fd); /* Set the socket for SSL */
+ SSL_set_mode(self->ssl, SSL_MODE_AUTO_RETRY);
/* If the socket is in non-blocking mode or timeout mode, set the BIO
* to non-blocking mode (blocking is the default)