Conversation
|
Happy with the general approach here as discussed on Matrix, but I’m −1 on introducing 3.1 as yet another version, when we’ll already have 3.0, 3.2, and 3.3. Ideally we’d only have one version of OpenSSL; Arch, Alpine, and Void ship 3.3 and 1.1, and Fedora ships only 3.2. I think that we should rename |
Fair, reduce to 3_3, 3_0, 1_1 for 24.11? |
|
I'm currently testing if some important packages like systemd still build with OpenSSL 3.3. Therefore some more patches are included. I needed to bump ibm-sw-tpm2 and use a better maintained swtpm for tests in tpm2-tss to work. |
d2fc505 to
4c9d6a0
Compare
Sounds good to me! I’d also be okay with leaving 3.2 in and just dropping the other versions in bulk after the release if everything goes well; whatever your preference is. |
4c9d6a0 to
1fbb3ec
Compare
bce5a62 to
1580298
Compare
|
After some issues in the past, where e.g. systemd failed to build with a recent OpenSSL version, I tried to fix these. Older discussions about updating OpenSSL default: |
1580298 to
f794674
Compare
emilazy
left a comment
There was a problem hiding this comment.
LGTM; a few tweaks to the release note.
I’ll let a couple others take a look at this rather than unilaterally merging, since it’s a significant change :)
I look forward to dropping the other versions after branch‐off.
4d591c9 to
29ff14c
Compare
emilazy
left a comment
There was a problem hiding this comment.
LGTM. Will let someone else take a look too.
|
OpenSSL 3.x is supposed to be API- and ABI-stable. If a package pins the version, that’s a problem with the package. If OpenSSL breaks API, that’s an upstream bug. I’m all for doing what every other package ecosystem seemingly does, which is ship the latest OpenSSL by default. Both MacPorts and Homebrew ship OpenSSL 3.3. Homebrew also offers OpenSSL 3.0 as a separate package in case something really needs it. https://openssl-library.org/policies/technical/stable-release-updates/ |
|
This needs rebasing for conflicts, but I’m otherwise minded to merge. |
OpenSSL used to provide their software downloads on openssl.org. Now they use links to Github releases. OpenSSL 1.1.1w is also available at Github, but with a small difference in the URL scheme. Signed-off-by: Markus Theil <theil.markus@gmail.com>
OpenSSL releases different versions in parallel (currently active are 3.0.x, 3.1.x, 3.2.x, 3.3.x). IMHO We should try to stay on the most recent release line, as probably not all security relevant fixes are identified as such upstream and get backported. Signed-off-by: Markus Theil <theil.markus@gmail.com>
Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.3/CHANGES.md#changes-between-331-and-332-3-sep-2024 Signed-off-by: Markus Theil <theil.markus@gmail.com>
Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.0/CHANGES.md#changes-between-3014-and-3015-3-sep-2024 Signed-off-by: Markus Theil <theil.markus@gmail.com>
Contains two CVE fixes. * Fixed possible denial of service in X.509 name checks. (CVE-2024-6119) * Fixed possible buffer overread in SSL_select_next_proto(). (CVE-2024-5535) Changelog: https://github.com/openssl/openssl/blob/openssl-3.2/CHANGES.md#changes-between-322-and-323-3-sep-2024 Signed-off-by: Markus Theil <theil.markus@gmail.com>
In order to fix build with more recent OpenSSL versions (3.2.x+) use new Github upstream URL, which is more recent than the sourceforge release. Only a tag and no release is made, so use the unstable versioning scheme. Signed-off-by: Markus Theil <theil.markus@gmail.com>
Switch tpm2-tss to swtpm, which is more widely used than the IBM one. tpm2-tss contains tests for both TPM 2.0 emulators. This fixes a failing test, with the updated IBM sw tpm version. Signed-off-by: Markus Theil <theil.markus@gmail.com>
The new OpenSSL default 3.3.x increased the default security level, mention this in release notes. Signed-off-by: Markus Theil <theil.markus@gmail.com>
29ff14c to
5b19e71
Compare
|
@emilazy: Rebased. |
|
After discussion on Matrix I think we have consensus to ignore the LTS releases and just package and track the latest stable releases going forward. Thank you for your work on this! |
|
Bisect says 7932bf5 |
|
@trofi I looked into this, but have not found the root cause yet. In this error message, somehow the dev-Output got used to provide the lib folder. While it technically contains a lib folder, only the pkg-config and cmake-Files are there. The "useful" lib folder is in the out-Output. I don't see that anything changed between 3.0.x and 3.3.x in the output structure. OpenSSL 3.0.x also places a lib folder in both the out and dev derivation. |
|
Something like this will probably fix it (builds still in progress): diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 0313841dce30..951505d1fd08 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -233,6 +233,10 @@ let
echo "Found an erroneous dependency on perl ^^^" >&2
exit 1
fi
+ '' + lib.optionalString (lib.versionAtLeast version "3.3.0") ''
+ # cleanup cmake helpers for now (for OpenSSL >= 3.3), only rely on pkg-config.
+ # pkg-config gets its paths fixed correctly
+ rm -r $dev/lib/cmake
'';
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;When I have more time, I'll may also patch the CMake-Scripts and don't delete them. |
Description of changes
This PR combines the usual OpenSSL version bump with some maintenance:
Fixed CVEs:
Changelog(s):
The changes are the same for all updated OpenSSL versions. See changelog.
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.