-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[wicketd] Don't check RoT CMPA/CFPA until we've decided to update it
Fixes #4420, which is a bit of an edge case: if the TUF repo contains RoT images with the same version as the target sled, but does not contain an RoT image signed with a correct key for the target sled, we would previously fail to mupdate the sled even if the user chose _not_ to update the RoT (since its version number already matched), due to missing a correctly-signed image. With this PR, we postpone the key check (implemented as fetching the CMPA/CFPA pages to verify against each archive) until _after_ we've decided whether or not to try updating the RoT at all. An additional check added with this PR that is always true today with TUF repos built in CI is that for each class of Hubris archive where we accept multiple options (e.g., "gimlet SP" where we accept multiple board revisions, "gimlet RoT", "sidecar RoT", etc.), we require all the archives of that class to have the same version. We will still allow SP images to have different versions than RoT images, and even allow "gimlet RoT" images to have different versions of "sidecar RoT" images, but we do not allow something like "gimlet RoT version 1.0.1 signed with a dev key and gimlet RoT version 1.0.2 signed with a production key".
- Loading branch information
1 parent
1264772
commit 97d566f
Showing
3 changed files
with
268 additions
and
176 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Oops, something went wrong.