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

Private base64 field #433

Merged
merged 10 commits into from
Apr 25, 2024
Merged

Private base64 field #433

merged 10 commits into from
Apr 25, 2024

Conversation

Firstyear
Copy link
Member

Supercedes #356

Fixes #352

Goal is to remove all functionality from Base64UrlSafeData which is not about serialisation, and stop dependants from using internal-only interfaces. HumanBinaryData won't provide these interfaces, so it needs to make do.

  • Make Base64UrlSafeData.0 (the inner Vec<u8>) private, like HumanBinaryData.

    This switches over everything which used the inner field to using From, Deref or ::new(). These interfaces are also available on HumanBinaryData, and makes the types pretty much interchangable.

  • Remove impl Display for Base64UrlSafeData (which converted the inner value into a Base64 string).

    The alternative is to use base64::Engine::encode.

  • Remove impl TryFrom<&str> for Base64UrlSafeData (which attempted to parse strings as Base64).

    The alternative is to use base64::Engine::decode.

  • Migrate WinWrapper::new to use owned types rather than pass-by-reference.

    Most of the existing implementations made copies of that data, and callers don't need to clone anyway.

  • [ x ] cargo test has been run and passes
  • [ x ] documentation has been updated with relevant examples (if relevant)

@micolous micolous merged commit e7d7cef into kanidm:master Apr 25, 2024
33 checks passed
@micolous micolous mentioned this pull request Oct 20, 2024
kikuomax pushed a commit to codemonger-io/webauthn-rs that referenced this pull request Nov 24, 2024
* Remove usage of the inner fields of Base64UrlSafeData, in favour of using Deref/Borrow/etc.

* fix formatting

* fixup win10

* Remove dependency on base64urlsafedata string formatting, fixup some mozilla issues

* Base64UrlSafeData: remove FromStr and Display impl

* fixup win10

* Updated

* Wrap up

* key manager

* CI

---------

Co-authored-by: Michael Farrell <[email protected]>
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.

Bincode serialization
2 participants