-
Notifications
You must be signed in to change notification settings - Fork 2k
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
sys/fido2: follow up continued #18663
Conversation
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.
I'm splitting review into multiple stages as that's a relatively large number of files for a subsystem with few major contributors. For this round, I'm only looking at changes visible outside the module, including the removed ztimer64 use.
Minor comments inline; one larger here:
There are several incompatible changes to the public fido2 API. Please prepare, ideally in the top post of the PR, a note that can then be placed in the release notes. It should describe to users of the API what they need to change in their applications, with emphasis on changes that might go undetected by the compiler and alter the program's meaning (such as when fido2_ctap_handle_request
returns a status code rather than a length, which the compiler may cast implicitly).
96cb0a4
to
9f341f9
Compare
9f341f9
to
a823a46
Compare
With #18637 having been merged a while a go, I would like to get this in as well. Rebased on latest master. |
@chrysn Can we get this in ? |
73e1053
to
1b20cb7
Compare
link to #19559 native is using file backed mtd |
68b8994
to
4e1b12d
Compare
✔️ all files are reviewed please squash your commits ( to a level of your liking) |
d61529d
to
65efa59
Compare
Done |
65efa59
to
fb36350
Compare
if fixup chages are related to a previous commit -- please prepare them to be integrated with these commits (aka fixup) |
|
1013e20
to
db95ef6
Compare
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.
This is better than before and successfully went through CI
I assume the author tested it.
Done. Ran all tests and everything still works as expected :) |
@kfessel thanks for reviewing ! |
Contribution description
This PR adds changes to make the FIDO2 API usable without a transport layer as
well as improve the overall usability. With this come changes specific to the native
target, to account for the fact that mtd flash handling is file backed in this case.
This also includes breaking changes to the public API:
ctap_status_code_t
instead of the size of the response.ctap_resp_t
.Users of the FIDO2 API need to adjust their applications to now expect a status
code as the return value of functions such as
fido2_ctap_handle_request
andexpect the length of the response in
resp->len
.To test the usability of FIDO2 without a transport layer, this PR also adds
another test module which tests the CTAP implementation without transport layer.
With the new test module being added, the old tests are renamed to
sys_fido2_ctap_hid
to highlight the fact that they test the CTAP2 implementationusing CTAPHID as transport binding.
Furthermore, this PR removes the dependency of
ctap_hid
forztimer64
ashaving 64 bit timestamps is not required.
Testing procedure
tests/sys_fido2_ctap
tests/sys_fido2_ctap_hid
Issues/PRs references
Depends on PR #18637
Issue regarding file backed flash memory on native: #19559