summaryrefslogtreecommitdiffstats
path: root/Modules
diff options
context:
space:
mode:
authorChristian Heimes <christian@python.org>2017-09-06 13:42:30 (GMT)
committerGitHub <noreply@github.com>2017-09-06 13:42:30 (GMT)
commit6da379bde345926e1f7318ead973767f4d791d3e (patch)
tree4083b467312562d9085d53098bf78ea932c48012 /Modules
parentc3c3062169fad11e0e74aa85ff1f3d69c0170d42 (diff)
downloadcpython-6da379bde345926e1f7318ead973767f4d791d3e.zip
cpython-6da379bde345926e1f7318ead973767f4d791d3e.tar.gz
cpython-6da379bde345926e1f7318ead973767f4d791d3e.tar.bz2
[3.6] bpo-29781: Fix SSLObject.version before handshake (GH-3364) (#3381)
SSLObject.version() now correctly returns None when handshake over BIO has not been performed yet. Signed-off-by: Christian Heimes <christian@python.org> (cherry picked from commit 6877111)
Diffstat (limited to 'Modules')
-rw-r--r--Modules/_ssl.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index b5eab0f..25fb809 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -1695,6 +1695,10 @@ _ssl__SSLSocket_version_impl(PySSLSocket *self)
if (self->ssl == NULL)
Py_RETURN_NONE;
+ if (!SSL_is_init_finished(self->ssl)) {
+ /* handshake not finished */
+ Py_RETURN_NONE;
+ }
version = SSL_get_version(self->ssl);
if (!strcmp(version, "unknown"))
Py_RETURN_NONE;