]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Fix typo in PROTOCOL_TO_TLS_VERSION in test_ssl (GH-95119)
authorDavid Benjamin <davidben@google.com>
Fri, 22 Jul 2022 00:38:15 +0000 (17:38 -0700)
committerGitHub <noreply@github.com>
Fri, 22 Jul 2022 00:38:15 +0000 (17:38 -0700)
This appears to be a typo. It causes try_protocol_combo to try to turn
on SSL 3.0 when testing PROTOCOL_SSLv23 (aka PROTOCOL_TLS), which
doesn't make any sense. Fix it to be PROTOCOL_SSLv3.

Without this, try_protocol_combo is actually setting
context.minimum_version to SSLv3 when called as
try_protocol_combo(ssl.PROTOCOL_TLS, ssl.PROTOCOL_TLS, True)

One would think this causes a no-ssl3 OpenSSL build to fail, but OpenSSL
forgot to make SSL_CTX_set_min_proto_version(SSL3_VERSION) does not
notice no-ssl3, so this typo has gone undetected. But we should still
fix the typo because, presumably, a future version of OpenSSL will
remove SSL 3.0 and do so more thoroughly, at which point this will
break.

Lib/test/test_ssl.py

index 65f5d4a6d70940447c2357d1bb565abc2820f7e6..0d0d14ac002601223b6c91371f63830f45dca935 100644 (file)
@@ -47,7 +47,7 @@ PY_SSL_DEFAULT_CIPHERS = sysconfig.get_config_var('PY_SSL_DEFAULT_CIPHERS')
 
 PROTOCOL_TO_TLS_VERSION = {}
 for proto, ver in (
-    ("PROTOCOL_SSLv23", "SSLv3"),
+    ("PROTOCOL_SSLv3", "SSLv3"),
     ("PROTOCOL_TLSv1", "TLSv1"),
     ("PROTOCOL_TLSv1_1", "TLSv1_1"),
 ):