Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gh-131423: Update OpenSSL to 3.0.16 (macOS, Windows) and 3.4.1 (Linux) #131618

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

picnixz
Copy link
Member

@picnixz picnixz commented Mar 23, 2025

I've also updated the make_ssl_data.py script that @encukou has recently updated as well. I completed with instructions that I thought usefull for future maintainers.


📚 Documentation preview 📚: https://cpython-previews--131618.org.readthedocs.build/

picnixz added 7 commits March 20, 2025 14:34
Since mnemonics from 3.4.1 are different (renumbered) from 3.4.0.

To ease future updates, we assume the following:

`_ssl_data_<MAJOR><PATCH>.h` contains the latest OpenSSL data. If the
previous `_ssl_data_<MAJOR><PATCH>.h` file is incompatible with the
newest one (e.g., because some mnemonics were renamed or removed), the
old one is renamed to `_ssl_data_<MAJOR><MINOR><PATCH>.h` where <PATCH>
is the patch number it was based upon.

In this commit, OpenSSL 3.4.1 mnemonics are not compatible with OpenSSL
3.4.0 mnemonics as they were renumbered. Therefore, `_ssl_data_34.h` is
renamed to `_ssl_data_340.h` and `_ssl_data_34x.h` now contains OpenSSL
3.4.1 mnemonics.

We also refined the mnemonics that are selected, discarding those that
are mnemonics-like but should not be used as such (e.g., ERR_LIB_MASK
and ERR_LIB_OFFSET for OpenSSL 1.1.1).
@picnixz picnixz force-pushed the ci/update/ssl-versions-131423 branch from 05ee142 to 5bbc702 Compare March 23, 2025 10:53
@picnixz picnixz marked this pull request as ready for review March 24, 2025 14:56
Comment on lines +146 to +147
# FEAT(picnixz): in the future, we may want to also check
# the consistency of the OpenSSL files with an external tool.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you track that in an issue instead?

@picnixz picnixz marked this pull request as draft March 24, 2025 17:49
@picnixz
Copy link
Member Author

picnixz commented Mar 24, 2025

arf, I'm not on my Linux so I can't regen :< I'm leaving tomorrow morning so I'm not really sure I'll be able to commit before leaving, but otherwise, just take over the PR and regen the data!

Copy link
Member

@ned-deily ned-deily left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The macOS build-installer.py changes LGTM, thanks!

@picnixz picnixz force-pushed the ci/update/ssl-versions-131423 branch from 38bcd15 to 41863fb Compare March 28, 2025 13:00
@picnixz
Copy link
Member Author

picnixz commented Mar 28, 2025

I'll wait for #131804 to be merged until bumping the Linux mnemonics and CI

@picnixz picnixz marked this pull request as ready for review March 28, 2025 22:50
@picnixz picnixz requested a review from encukou March 28, 2025 22:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants