-
Notifications
You must be signed in to change notification settings - Fork 5
Allow unexpected fields #19
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
Conversation
Relevant part of the CTAP spec: fido-client-to-authenticator-protocol-v2.2 § 8
|
Thanks for the PR! The change looks good to me, I just want to check if it has any effects on the binary size of our firmware. Potentially, this could pull in parts of the deserialization library that are otherwise unused. |
It would be nice to have an opt-out (like |
This change only has a small impact on the firmware binary size. I’d also like to have a @AlfioEmanueleFresta Please update the changelog for this change. |
Thank you both! @robin-nitrokey done - I took the liberty of drafting the 0.1.2 changelog for release later today, I hope that works. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! @sosthene-nitrokey Are you okay with considering this a bugfix and releasing it as v0.1.2 or do you see it as a breaking change?
@sosthene-nitrokey Then let’s do it properly and make a breaking release v0.2.0 with this change. Then we can also pull in #21. |
* Part fixes #66 for unknown CBOR structures decoded via DeserializeIndexed from serde-indexed. * Remaining to allow unknown enum variants, to be fixed in a later PR. Depends on trussed-dev/serde-indexed#19.
We're using serde-indexed in libwebauthn, which implements the platform side of the CTAP spec.
When deserializing, the CTAP spec mandates unknown fields should be ignored. Without this, we just can't use serde-indexed, in favour of parsing structures manually.
I think this change will be safe to merge as backwards compatible because:
#[derive(Deserialize)]
, so it can be considered expected behaviours;Cc @robin-nitrokey @sosthene-nitrokey for review