Uh oh!
There was an error while loading. Please reload this page.
[3.14] gh-148292: Add OpenSSL 4 support - #149783
Conversation
OpenSSL 4.0.0 alpha1 removed these functions: * SSLv3_method() * TLSv1_method() * TLSv1_1_method() * TLSv1_2_method() Other changes: * Update test_openssl_version(). * Update multissltests.py for OpenSSL 4. * Add const qualifier to fix compiler warnings. Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com> (cherry picked from commit 3364e7e)
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. (cherry picked from commit 70eb56b)
The _SSLSocket object now remembers if it gets an EOF error. In this case, read(), sendfile(), write() and do_handshake method calls fail with SSLEOFError without calling the underlying OpenSSL function. Co-authored-by: Gregory P. Smith <greg@krypto.org> (cherry picked from commit 7b7fa3f)
…ython#149366) The shutdown() behavior depends too much on the operating system and it's unrelated to the got_eof_error change. (cherry picked from commit 1e21cf6)
…thon#149356) Co-authored-by: Charlie Lin <tuug@gmx.us> (cherry picked from commit fc96028)
vstinner
commented
May 15, 2026
vstinner
commented
May 21, 2026
picnixz
commented
May 21, 2026
Can we wait a bit before doing so? I do not want to fix openssl issues arising in a bugfix because we added support for OSSL4. It is a major change and for instance, I did not backport the use of the EVP API introduced in 3.x for HMAC to older releases. I really want to wait for users to test 3.15 with 4.0, say until aftrr 3.15.1, and we can add it to 3.14 afterwards. It would not help backports though as each version has its own ssl.c (almost) |
vstinner
commented
May 21, 2026
Ok, in this case, I prefer closing my PR. For my own workflow, I prefer to not keep PRs opens for too long. The PR can be reopened/recreated later. |
native-api
commented
May 30, 2026
@vstinnerWe have applied this backport downstream in Pyenv so that users can link against OpenSSL 4 if they wish / if it's the default on their system. Is it reasonable to expect that if there are further OpenSSL 4 -- related fixes before the official backport, they will be added to this PR? |
vstinner
commented
Jun 1, 2026
We can revisit (reopen) this PR later. If this PR is reopened, we will add further changes if there are more OpenSSL 4.0 changes. @picnixz would like to wait for user feedback testing Python 3.15 with OpenSSL 4.0. |
picnixz
commented
Jun 1, 2026
Yes I want to wait at least until 3.15.0 is out and we can reconsider this in 3.15.1. |
Uh oh!
There was an error while loading. Please reload this page.