Merge changes from Nitrokey/admin-app#3
Open
robin-nitrokey wants to merge 81 commits into
Open
Conversation
Previously, we used one CTAPHID vendor command per application command. This makes it hard to extend the functionality because we have to synchronize the used vendor commands over all applications in the Trussed ecosystem. As an alternative, this patch introduces a new vendor command that acts as a namespace for the admin application. The actual application command is encoded in the first byte of the payload. In the future, we might want to make this configurable so that the runner can decide the namespace used by CTAPHID apps. For compatibility, the CTAPHID vendor commands are still available. This change also allows us to combine the CTAPHID and APDU command handling into a single dispatch function.
Move CTAPHID commands under a single vendor command
This patch adds an alternative mode to the Version command that makes it possible to query a full version string instead of the major, minor and patch versions only (useful for release candidates, alphas, etc.).
This patch adds a new status command that can be used to read out information about the device status. The interpretation of the status code depends on the runner implementation.
Add version and status information
Make app generic over status type
Adapt to interrupt mechanism
Add test function for the SE050
Move tests to a custom backend
This patch adds a generic configuration mechanism to the admin app. There are two new commands, GET_CONFIG and SET_CONFIG, that can be used to query and change configuration values by key. The runner is responsible for providing the configuration struct and a mapping from key to field.
Remove outdated run_tests.rs file
…NVALID_LENGTH) This allows nitropy to easily skip the test if the command is not supported
se050 test: Return UnsuportedCommand (INVALID_COMMAND) instead of NotAvailable (INVALID_LENGTH)
This patch replaces the dependencies on trussed-staging and trussed-se050-backend with the extension crates trussed-manage and trussed-se050-manage. See the these PRs for more information: - trussed-dev/trussed-staging#19 - Nitrokey/trussed-se050-backend#13
…efore trussed is up)
Add migration mechanism without relying on the staging backend.
Allow mutable access to the config
Add trait for StatusBytes and allow lazyly configuring the initialization of the RNG
Previously, we had a timeout of 15 seconds for the user presence check when rebooting to bootloader. This can be too short in some situations, see for example Nitrokey/nitrokey-3-firmware#519. This patch increases the timeout to 30 seconds.
This reverts commit 37d5437. I misunderstood the requirement described in Nitrokey/nitrokey-3-firmware#519, so this change was unnecessary.
The simplified Store trait no longer uses the Fs indirection so we can simplify the code calling the migration functions. This patch also updates littlefs2 to avoid duplicate dependencies.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR upstreams the changes from Nitrokey/admin-app, mainly: