Skip to content

Expose vendor defined error code #300

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

Merged
merged 3 commits into from
Jul 23, 2025

Conversation

thgoebel
Copy link
Contributor

Fixes #299

Tested with:

This contribution is in personal capacity.

@thgoebel thgoebel force-pushed the vendor-error-codes branch 3 times, most recently from 74a094b to 14aa761 Compare July 19, 2025 18:32
hug-dev
hug-dev previously approved these changes Jul 22, 2025
Copy link
Member

@hug-dev hug-dev left a comment

Choose a reason for hiding this comment

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

Thank you!

wiktor-k
wiktor-k previously approved these changes Jul 22, 2025
Copy link
Collaborator

@wiktor-k wiktor-k left a comment

Choose a reason for hiding this comment

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

LGTM 👍 thanks!

@thgoebel thgoebel dismissed stale reviews from wiktor-k and hug-dev via ad31c96 July 22, 2025 15:34
@thgoebel thgoebel force-pushed the vendor-error-codes branch from 14aa761 to ad31c96 Compare July 22, 2025 15:34
@thgoebel
Copy link
Contributor Author

On second thought, I additionally added (in a separate commit) an additional enum value for unknown error codes. This way, when the error code is neither standardised nor from the vendor-reserved area, at least the error code gets bubbled up to the calling application. Mapping it to CKR_GENERAL_ERROR is akin to mapping it to 0x00000005UL, which is misleading.

Let me know what you think, I can amend or drop this.

@thgoebel thgoebel force-pushed the vendor-error-codes branch from ad31c96 to 7a78363 Compare July 22, 2025 15:47
hug-dev
hug-dev previously approved these changes Jul 22, 2025
Copy link
Member

@hug-dev hug-dev left a comment

Choose a reason for hiding this comment

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

Nice addition!

thgoebel added 3 commits July 22, 2025 22:15
CK_ULONG is a type alias for std::os::raw::c_ulong.
c_ulong is always either u32 or u64:

- https://doc.rust-lang.org/std/os/raw/type.c_ulong.html
- https://github.com/rust-lang/rust/blob/master/library/core/src/ffi/primitives.rs

And in the end, it will do the same thing anyway:
https://github.com/rust-lang/rust/blob/0162cc5/library/core/src/num/uint_macros.rs#L45

Signed-off-by: Thore Goebel <[email protected]>
This makes debugging easier, since the error code is readily available.

Signed-off-by: Thore Goebel <[email protected]>
Copy link
Collaborator

@Jakuje Jakuje left a comment

Choose a reason for hiding this comment

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

thank you! Looks good!

@hug-dev hug-dev merged commit a3b5e75 into parallaxsecond:main Jul 23, 2025
43 checks passed
@thgoebel thgoebel deleted the vendor-error-codes branch July 23, 2025 08:35
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.

Support vendor defined error codes
4 participants