alexcrichton / openssl-src-rs

Source code and logic to build OpenSSL from source
Apache License 2.0
70 stars 114 forks source link

Bump OpenSSL to 3.4.0 #255

Closed alexcrichton closed 1 month ago

alexcrichton commented 1 month ago

Updating to the most recent release.

sfackler commented 4 weeks ago

It looks like something went wrong with the legacy provider here: https://github.com/sfackler/rust-openssl/actions/runs/11552976391/job/32153182283?pr=2325

---- symm::tests::test_rc4 stdout ----
thread 'symm::tests::test_rc4' panicked at openssl/src/symm.rs:1090:83:
called `Result::unwrap()` on an `Err` value: ErrorStack([Error { code: 310378599, library: "DSO support routines", function: "dlfcn_load", reason: "could not load the shared library", file: "crypto/dso/dso_dlfcn.c", line: 118, data: "filename(/home/runner/work/rust-openssl/rust-openssl/target/arm-unknown-linux-gnueabihf/debug/build/openssl-sys-57363455b0eb7579/out/openssl-build/install/lib/ossl-modules/legacy.so): /home/runner/work/rust-openssl/rust-openssl/target/arm-unknown-linux-gnueabihf/debug/build/openssl-sys-57363455b0eb7579/out/openssl-build/install/lib/ossl-modules/legacy.so: cannot open shared object file: No such file or directory" }, Error { code: 310378599, library: "DSO support routines", function: "DSO_load", reason: "could not load the shared library", file: "crypto/dso/dso_lib.c", line: 147 }, Error { code: 126353445, library: "common libcrypto routines", function: "provider_init", file: "crypto/provider_core.c", line: 950, data: "name=legacy" }])
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:662:5
   1: core::panicking::panic_fmt
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/panicking.rs:74:14
   2: core::result::unwrap_failed
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1677:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:1102:23
   4: openssl::symm::tests::test_rc4
             at ./src/symm.rs:1090:25
   5: openssl::symm::tests::test_rc4::{{closure}}
             at ./src/symm.rs:1088:18
   6: core::ops::function::FnOnce::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:250:5
   7: core::ops::function::FnOnce::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
alexcrichton commented 4 weeks ago

Is this causing enough problems it's worth a yank? I'm not familiar enough with the internals here to know myself what's going on and the release notes don't mention anything along these lines, so if it's going to take some time to investigate I'd be happy to yank in the meantime.

sfackler commented 4 weeks ago

It's just caused CI failures in the rust-openssl repo so far. I'm not sure how much people are leaning on the legacy module these days. Let's maybe see if anyone complains? I'll try to find some time to dig into what's going on tonight.

I think we set things up to statically link to the legacy provider, so maybe some of that build glue regressed?

alexcrichton commented 4 weeks ago

Ideally we'd also run more tests in this repo although I'm not sure how best to orchestrate that. IIRC I know historically you wanted this repo separate from the main openssl-rs repo, but wanted to confirm that's still a desire, right? Otherwise I think it's working well but the lack of testing means this'll probably happen occasionally (fine by me but wanted to check with you too)

jszwedko commented 3 weeks ago

We ran into this error over when updating OpenSSL in Vector: https://github.com/vectordotdev/vector/pull/21587

thread 'tls::settings::test::from_options_pkcs12' panicked at lib/vector-core/src/tls/settings.rs:682:85:
called `Result::unwrap()` on an `Err` value: ErrorStack([Error { code: 310378599, library: "DSO support routines", function: "dlfcn_load", reason: "could not load the shared library", file: "crypto/dso/dso_dlfcn.c", line: 118, data: "filename(/home/runner/work/vector/vector/target/debug/build/openssl-sys-7970cd031f6a569d/out/openssl-build/install/lib/ossl-modules/legacy.so): /home/runner/work/vector/vector/target/debug/build/openssl-sys-7970cd031f6a569d/out/openssl-build/install/lib/ossl-modules/legacy.so: cannot open shared object file: No such file or directory" }, Error { code: 310378599, library: "DSO support routines", function: "DSO_load", reason: "could not load the shared library", file: "crypto/dso/dso_lib.c", line: 147 }, Error { code: 126353445, library: "common libcrypto routines", function: "provider_init", file: "crypto/provider_core.c", line: 950, data: "name=legacy" }])
stack backtrace:
   0:     0x564eac5a8cd5 - std::backtrace_rs::backtrace::libunwind::trace::h649ab3318d3445c5

Should we open this as a separate issue rather than using this PR to report?

alexcrichton commented 3 weeks ago

Yes please feel free to file an issue!

(I'm still open to yanking 3.4.0's publish until this is fixed if that would make folks' lives easier)

jszwedko commented 3 weeks ago

👍 opened as https://github.com/alexcrichton/openssl-src-rs/issues/257. Thanks for looking!