Adds a keygen module to generate ECDSA keys for development use only.
No-Docs-Update-Reason: Module in development
Change-Id: I42b1336b88fa1b2c5c41b8cdafd97e40668255f5
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61783
Pigweed-Auto-Submit: Ali Zhang <alizhang@google.com>
Reviewed-by: Joe Ethier <jethier@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Re-orders the BundledUpdateBackend to match the expected sequencing
and makes some small naming adjustments for consistency and improved
legibility/maintainbility.
No-Docs-Update-Reason: Module still in early development
Change-Id: I61cac374b29013ff08b6b1653b27b5dfc2588785
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61784
Pigweed-Auto-Submit: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Reviewed-by: Zihan Chen <zihanchen@google.com>
Reviewed-by: Yecheng Zhao <zyecheng@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Renames the backend header to match the object name.
Adjusts the FinalizeUpdate() API to use Status again to report
finalize failures before the reboot.
Also changes ApplyTargetFile() to be pure virtual.
Changes the backend API to use the Manifest object instead of the
nanopb struct for the manifest.
Moves the Manifest definition to a separate header.
Adds missing pw_protobuf dependency.
Change-Id: I295db6021b26d8ba96512f4627e39b5a76d92815
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61820
Commit-Queue: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Keir Mierle <keir@google.com>
Testing: Changes are help-string only, but unit tests still pass
Change-Id: Iecbe056622c67854385c56697776bba97c98cfac
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61782
Reviewed-by: Ali Zhang <alizhang@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Commit-Queue: Joe Ethier <jethier@google.com>
Add get/update methods for the current manifest in the update backend.
Add FinalzeUpdate method to finish the update and trigger the device
reboot.
No-Docs-Update-Reason: Module still in early development
Change-Id: Ib59e15cedefc865b60e3bbd111e8f5fd0e64ad88
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61621
Pigweed-Auto-Submit: David Rogers <davidrogers@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>
Fix typo, return PrepareUpdateResult rather than OperationResult
in PrepareForUpdate.
No-Docs-Update-Reason: Typo fix in proto.
Change-Id: Id5946c27b6a17121c8bffcaa1be7530b61f8ad53
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/61344
Reviewed-by: Eric Hsu <ericchhsu@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: David Rogers <davidrogers@google.com>
No-Docs-Update-Reason: this module is far from stablized
Change-Id: I408d575308bcfeb69d6fcb23448472734c729e95
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/59544
Reviewed-by: David Rogers <davidrogers@google.com>
Commit-Queue: Zihan Chen <zihanchen@google.com>
Testing: Includes baseline unit test coverage
Change-Id: Idb0dfed54cb52e600a5d1acb0002bf051225a84d
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/60043
Commit-Queue: Joe Ethier <jethier@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Remove the snapshot from the Manifest and add additional comments
on proper metadata use for project-specific information.
No-Docs-Update-Reason: Module still development.
Change-Id: I31b1623b22d02b639ceac121e5d51c4588ba8afc
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/60321
Commit-Queue: David Rogers <davidrogers@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Reviewed-by: Joe Ethier <jethier@google.com>
Adds an empty UpdateBundle class. It is used by the "Update
Manager" to parse, verify and provide access to a staged firmware
update bundle.
Bug: 456
Change-Id: I2df3e784ef50545f9066d4c1146f2558445ff5c8
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/58043
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Commit-Queue: Yecheng Zhao <zyecheng@google.com>
Clean up the protos used for update bundle and TUF. Flatten the TUF
protos to be more directly the specific types of metadata.
Change-Id: Ic453b53c2328845ed19eca80925cd0db8a2706db
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/58880
Reviewed-by: Ali Zhang <alizhang@google.com>
Reviewed-by: Ewout van Bekkum <ewout@google.com>
Commit-Queue: David Rogers <davidrogers@google.com>
The protos weren't quite building previously. This change fixes minor
.proto issues, streamlines directory names, and adds pw_software_update
to modules.gni so downstream projects can easily use it.
Testing: Successfully built downstream project dependent on protos.
Change-Id: Iff42b84b0a493acbd47cb516371d2b11eb3087eb
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/58282
Pigweed-Auto-Submit: Joe Ethier <jethier@google.com>
Reviewed-by: Ali Zhang <alizhang@google.com>
Reviewed-by: David Rogers <davidrogers@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed.google.com.iam.gserviceaccount.com>