gh-148600: Add Modules/_ssl_data_40.h data (#148601)

The Modules/_ssl_data_40.h file was created with the commands:

python Tools/ssl/multissltests.py --steps=library --base-directory "$PWD/multissl" --openssl '4.0.0' --system Linux
python Tools/ssl/make_ssl_data.py multissl/src/openssl-4.0.0 Modules/_ssl_data_40.h

Update Modules/_ssl.c to include it on OpenSSL 4.0.0 and newer.

Update test_ssl for the new error message.
This commit is contained in:
Victor Stinner 2026-04-15 15:59:02 +02:00 committed by GitHub
parent cb339d3c9e
commit 70eb56be42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 9368 additions and 7 deletions

View file

@ -4674,7 +4674,9 @@ def cb_raising(ssl_sock, server_name, initial_context):
sni_name='supermessage')
# Allow for flexible libssl error messages.
regex = "(SSLV3_ALERT_HANDSHAKE_FAILURE|NO_PRIVATE_VALUE)"
regex = ("(TLS_ALERT_HANDSHAKE_FAILURE"
"|SSLV3_ALERT_HANDSHAKE_FAILURE"
"|NO_PRIVATE_VALUE)")
self.assertRegex(cm.exception.reason, regex)
self.assertEqual(catch.unraisable.exc_type, ZeroDivisionError)

View file

@ -153,16 +153,18 @@ static void _PySSLFixErrno(void) {
/* Include generated data (error codes) */
/* See Tools/ssl/make_ssl_data.py for notes on adding a new version. */
#if (OPENSSL_VERSION_NUMBER >= 0x30401000L)
#include "_ssl_data_36.h"
#if (OPENSSL_VERSION_NUMBER >= 0x40000000L)
# include "_ssl_data_40.h"
#elif (OPENSSL_VERSION_NUMBER >= 0x30401000L)
# include "_ssl_data_36.h"
#elif (OPENSSL_VERSION_NUMBER >= 0x30100000L)
#include "_ssl_data_340.h"
# include "_ssl_data_340.h"
#elif (OPENSSL_VERSION_NUMBER >= 0x30000000L)
#include "_ssl_data_300.h"
# include "_ssl_data_300.h"
#elif (OPENSSL_VERSION_NUMBER >= 0x10101000L)
#include "_ssl_data_111.h"
# include "_ssl_data_111.h"
#else
#error Unsupported OpenSSL version
# error Unsupported OpenSSL version
#endif
#if (OPENSSL_VERSION_NUMBER >= 0x40000000L)

9357
Modules/_ssl_data_40.h Normal file

File diff suppressed because it is too large Load diff