]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.8] bpo-43791: Skip TLS 1.0/1.1 tests under OpenSSL 3.0.0 (GH-25304) (GH-25308)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 9 Apr 2021 14:02:03 +0000 (07:02 -0700)
committerGitHub <noreply@github.com>
Fri, 9 Apr 2021 14:02:03 +0000 (07:02 -0700)
Signed-off-by: Christian Heimes <christian@python.org>
(cherry picked from commit 5151d642004c59cce58d669be85d9a5e987f51d3)

Co-authored-by: Christian Heimes <christian@python.org>
Automerge-Triggered-By: GH:tiran
Lib/test/test_ssl.py
Misc/NEWS.d/next/Tests/2021-04-09-15-10-38.bpo-43791.4KxiXK.rst [new file with mode: 0644]

index ec7bb74d28ce6f25036517a3d62da0208b7c617c..292794c69b5a0ae357f107f607bec6e83e7bfe20 100644 (file)
@@ -34,6 +34,7 @@ HOST = support.HOST
 IS_LIBRESSL = ssl.OPENSSL_VERSION.startswith('LibreSSL')
 IS_OPENSSL_1_1_0 = not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 0)
 IS_OPENSSL_1_1_1 = not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (1, 1, 1)
+IS_OPENSSL_3_0_0 = not IS_LIBRESSL and ssl.OPENSSL_VERSION_INFO >= (3, 0, 0)
 PY_SSL_DEFAULT_CIPHERS = sysconfig.get_config_var('PY_SSL_DEFAULT_CIPHERS')
 
 PROTOCOL_TO_TLS_VERSION = {}
@@ -204,6 +205,10 @@ def has_tls_version(version):
     if not getattr(ssl, f'HAS_{version.name}'):
         return False
 
+    if IS_OPENSSL_3_0_0 and version < ssl.TLSVersion.TLSv1_2:
+        # bpo43791: 3.0.0-alpha14 fails with TLSV1_ALERT_INTERNAL_ERROR
+        return False
+
     # check runtime and dynamic crypto policy settings. A TLS version may
     # be compiled in but disabled by a policy or config option.
     ctx = ssl.SSLContext()
diff --git a/Misc/NEWS.d/next/Tests/2021-04-09-15-10-38.bpo-43791.4KxiXK.rst b/Misc/NEWS.d/next/Tests/2021-04-09-15-10-38.bpo-43791.4KxiXK.rst
new file mode 100644 (file)
index 0000000..964ae5a
--- /dev/null
@@ -0,0 +1,2 @@
+OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests
+are failing with TLSV1_ALERT_INTERNAL_ERROR.