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

Resurrect the PoC of OpenSSL from Rust #7164

Merged
merged 1 commit into from
Mar 15, 2023
Merged

Conversation

alex
Copy link
Member

@alex alex commented Apr 30, 2022

@alex alex force-pushed the rust-openssl branch 5 times, most recently from 0fba6c7 to befcdd9 Compare April 30, 2022 22:44
@alex alex force-pushed the rust-openssl branch 3 times, most recently from 34b6842 to bd41955 Compare May 1, 2022 21:52
@reaperhulk reaperhulk changed the title Ressurect the PoC of OpenSSL from Rust Resurrect the PoC of OpenSSL from Rust May 1, 2022
@alex alex force-pushed the rust-openssl branch 8 times, most recently from 7978b16 to afcd10e Compare May 3, 2022 03:16
@alex
Copy link
Member Author

alex commented May 11, 2022

@alex alex force-pushed the rust-openssl branch 2 times, most recently from 13840f8 to 3e50009 Compare May 27, 2022 22:21
@alex
Copy link
Member Author

alex commented May 29, 2022

This should be fixed in the next PyPy release. I'll rebase then and we can contemplate how we want to handle it.

@alex alex force-pushed the rust-openssl branch 2 times, most recently from 40df4b5 to 80a36cc Compare May 30, 2022 18:19
@alex
Copy link
Member Author

alex commented May 30, 2022

macOS wheel builds are failing due to rust-lang/rust#55235

The PyPy wheel builds are failing because they aren't using PyPy nightly.

@alex alex force-pushed the rust-openssl branch 3 times, most recently from 588b9aa to 087802f Compare July 5, 2022 20:16
@Tarnum-tst
Copy link

Tarnum-tst commented Jan 21, 2023

@reaperhulk
No, I don't have an actual issue, I just wanted to give a feedback on this PR according to my experience. :-)
And You are right, I was not fully correct about dynamically linked build. The compilation process completed successfully but it doesn't work for some reason with libcrypto-3.dll/libssl-3.dll loaded by Python's _ssl.pyd because of missing functions ("ImportError: DLL load failed: The specified procedure could not be found."). Dependency walker on (dynamically linked) _rust.pyd shows the absence of some calls related to OpenSSL 3.2 dev. But because static build works just fine on my system, I don't really want to dig into what's wrong with dynamically linked build.
@alex
Thank You for this PR!

@alex alex force-pushed the rust-openssl branch 2 times, most recently from de715aa to fba7ce3 Compare February 14, 2023 16:04
@alex alex force-pushed the rust-openssl branch 6 times, most recently from 2dcd689 to ddee178 Compare March 3, 2023 13:47
@alex alex force-pushed the rust-openssl branch 4 times, most recently from fa498fd to 94872e4 Compare March 9, 2023 22:12
@alex
Copy link
Member Author

alex commented Mar 10, 2023

New challenge... the act of making boringssl work means that we now require libclang to always be available, even if boring isn't in use.

This seems unfortunate, I can't quite tell if it's a dealbreaker or not. Triangulating all the things we want is getting increasingly difficult :-/ @reaperhulk thoughts appreciated

@alex
Copy link
Member Author

alex commented Mar 10, 2023

ok nevermind, solved that problem.

@alex alex force-pushed the rust-openssl branch 2 times, most recently from 5fb1bc5 to 0e35e41 Compare March 15, 2023 00:33
.github/workflows/wheel-builder.yml Show resolved Hide resolved
src/_cffi_src/build_openssl.py Show resolved Hide resolved
tox.ini Show resolved Hide resolved
// Enable abi3 mode if we're not using PyPy.
if python_impl != "PyPy" {
// cp36
build.define("Py_LIMITED_API", "0x030600f0");
Copy link
Member

Choose a reason for hiding this comment

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

So we have to keep this synced with our wheel builder flags? Presumably there's no way to have it detect the right value like setuptools-rust or maturin do since there's no guarantee this is called with that machinery?

Copy link
Member Author

Choose a reason for hiding this comment

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

Honestly not sure, I don't know where this invocation lives in current code.

Copy link
Member

@reaperhulk reaperhulk left a comment

Choose a reason for hiding this comment

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

💥

@reaperhulk reaperhulk merged commit 6c39999 into pyca:main Mar 15, 2023
@alex alex deleted the rust-openssl branch March 15, 2023 05:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants