Skip to content

Fix Pkcs11::new bug preventing PKCS#11 library loading and bump rust-version and update deps #289

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

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

Conversation

mematthias
Copy link
Contributor

Summary

This PR fixes a critical issue in Pkcs11::new that prevented my PKCS#11 library from being loaded correctly. The root cause was the use of MaybeUninit::uninit() in a context where zero-initialized or null-assigned variables were required. This has been resolved by using explicitly null-assigned variables instead.

Changes

  • Fixed bug in Pkcs11::new related to improper initialization, resolving library loading failure
  • Made the basic.rs test module compile again
  • Ran cargo update to bring dependencies up to date
  • Raised rust-version to 1.77 in Cargo.toml, as mem::offset_of is used and only available from that version onward

…ith `null`-assigned variables; this resolves an issue that prevented my PKCS#11 library from loading

- Ran `cargo update` to refresh crate versions
- Raised `rust-version` to 1.77 in `Cargo.toml`, since `mem::offset_of` is stabilized only in this version
- Made `basic.rs` tests compile successfully again
@Jakuje
Copy link
Collaborator

Jakuje commented Jun 23, 2025

Thank you for the fix for this issue!

It would be good if you could provide the changes at least in separate commits (or ideally as separate PRs) . Now there is everything mixed up in one commit (that is missing the sing-off) and then there is a fixup commit reverting one of the changes. We are certainly interested in the fix, but I am not sure if we want to pull all the changes of dependencies.

Do you know why the CI still works on the rust 1.66 when the offset_of is used? Or is it only on some configurations?

@mematthias
Copy link
Contributor Author

mematthias commented Jun 23, 2025

I've opened a new #291 PR that includes only the small change related to Pkcs11::new.
Unfortunately, I don't immediately know why offset_of works within the CI.
I've only tested this on Windows without performing any manual configuration.

@Jakuje
Copy link
Collaborator

Jakuje commented Jun 23, 2025

Interesting, The CI runs only on Linux now. From what I see, it looks the the offset_of was there before 1.77, but was stabilized with 1.77. Is there some way to run (at least build of rust crate) in GH Actions CI on Windows? It might help to catch some differences.

@wiktor-k
Copy link
Collaborator

Is there some way to run (at least build of rust crate) in GH Actions CI on Windows? It might help to catch some differences.

I've worked on it at #276. Maybe it'd be good to merge it early to have at least a check if everything looks sane? 🤔

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants