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

Add support for FIDO request cancellation #272

Merged
merged 6 commits into from
Jun 21, 2023
Merged

Conversation

sosthene-nitrokey
Copy link
Collaborator

@sosthene-nitrokey sosthene-nitrokey commented May 23, 2023

Close #199

Trussed must accept and check an interrupt flag

Dispatcher and usb drivers needs to exchange the InterruptFlag of the running application

Similar work will be needed for the CCID stack too, but is not as urgent, so to simplify we just do CTAPHID

Backends need adaptation

There is a breaking change. Since the CoreContext holds a reference to the interrupt flag, it can't be created as easily as before, and therefore the Fliestore need to take a ClientId rather than a CoreContext to be created.

All apps must be updated to make their interrupt flag accessible to the dispatch

Other needed adaptations

RefSwap

Safe wrapper around AtomicPtr for exchanging interrupt flags between the driver and the dispatch.

In the runner:

Apps need to all have a static InterruptFlag. The dispatch crates need to share an OptionRefSwap to exchange the InterruptFlag.

See trussed-dev/trussed#124

@sosthene-nitrokey
Copy link
Collaborator Author

Fix #199

@sosthene-nitrokey
Copy link
Collaborator Author

sosthene-nitrokey commented Jun 21, 2023

It's now only missing the tags for

@sosthene-nitrokey sosthene-nitrokey merged commit a184d9a into main Jun 21, 2023
@szszszsz szszszsz deleted the interrupt branch June 21, 2023 16:27
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.

NK3Mini: UP is not properly aborted
1 participant