gh-89532: Remove LibreSSL workarounds#28728
Conversation
tiran
left a comment
There was a problem hiding this comment.
Thanks for your PR.
Python 3.10 didn't actively drop support for LibreSSL. For a lack of better wording, we passively removed compatibility with forks that don't provide OpenSSL 1.1.1 API. I still like to keep some code so we can re-add LibreSSL support later.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
Co-authored-by: Christian Heimes <christian@python.org>
|
I have made the requested changes; please review again |
|
Thanks for making the requested changes! @tiran: please review the changes made to this pull request. |
|
This PR is stale because it has been open for 30 days with no activity. |
Some time has passed, and I guess this patch sort of reflects the state of Python v3.10 with LibreSSL v3.5. Does that change anything for Python w.r.t. LibreSSL support? |
|
Of course I stumble upon this just after posting. |
|
It is unlikely that we will officially support LibreSSL. Even if LibreSSL would become feature compatible with OpenSSL, we just don't have to resources to test and verify that Python works correctly with LibreSSL. Is LibreSSL still relevant? AFAIK only OpenBSD uses it. All Linux distros have dropped support for LibreSSL, even Gentoo. FreeBSD uses OpenSSL and NetBSD seems to prefer OpenSSL as well (they have OpenSSL 1.1.1n and LibreSSL 2.7.4 from 2018). |
|
@ramikg, can you resolve the conflicts and update the PR? |
Sure, done. |
gpshead
left a comment
There was a problem hiding this comment.
This PR should not remove RAND_egd, that is something OpenSSL provides.
|
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
True. I've brought it back, and reworded the comment to be relevant to OpenSSL. (By the way, I have made the requested changes; please review again |
Remove LibreSSL specific workaround ifdefs from `_ssl.c` and delete the non-version-specific `_ssl_data.h` file (relevant for OpenSSL < 1.1.1, which we no longer support per PEP 644). Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
Remove LibreSSL specific workaround ifdefs from `_ssl.c` and delete the non-version-specific `_ssl_data.h` file (relevant for OpenSSL < 1.1.1, which we no longer support per PEP 644). Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
Remove LibreSSL specific workaround ifdefs from `_ssl.c` and delete the non-version-specific `_ssl_data.h` file (relevant for OpenSSL < 1.1.1, which we no longer support per PEP 644). Co-authored-by: Christian Heimes <christian@python.org> Co-authored-by: Gregory P. Smith <greg@krypto.org>
Python 3.10 drops support for LibreSSL (as per PEP 644), but there are still a few workarounds & mentions of LibreSSL in the source code.
The related PR cleans the code of any LibreSSL workarounds or mentions.
https://bugs.python.org/issue45369
Fixes #89532