zephyr/scripts
Christophe Dufaza 2b2a0e04b2 west: blobs: verify fetched blobs after downloading
Running 'west blobs fetch' does not verify the digest of downloaded files:
1. if the checksum of the previously downloaded file does match
   that in the blob metadata (status BLOB_PRESENT), do nothing
2. if the checksum of the previously downloaded file does not match
   that in the blob metadata (status BLOB_OUTDATED),
   download the "up to date" file
3. if the blob has not yet been downloaded (status BLOB_NOT_PRESENT),
   download it

None of the 2) and 3) code paths will verify that the checksum of the file
just downloaded actually matches the digest in the blob's metadata.

In the event that the metadata of a module is incorrect, then the user
will not notice anything, and may rely on an unexpected binary,
e.g. a static library for a different architecture.

According to the Binary Blobs documentation [1], the expected
behavior is to check the blob digest after downloading.

[1] Fetching blobs, Zephyr 3.6.0 (still applies to Zephyr 3.7.0rc3)
docs.zephyrproject.org/3.6.0/contribute/bin_blobs.html#fetching-blobs

Signed-off-by: Christophe Dufaza <chris@openmarl.org>
2024-07-30 18:29:39 +01:00
..
build everywhere: replace double words 2024-06-25 06:05:35 -04:00
checkpatch scripts: checkpatch: add stdio.h FILE typedef 2024-06-20 14:07:14 -04:00
ci scripts: ci: test_plan: use find_modules only when commits are provided 2024-07-18 12:34:10 -04:00
coccinelle cocinelle: Add a sematic patch file for ztest string assertions 2024-06-14 19:25:42 +02:00
coredump scripts: coredump: Add register write handler to arm cortex-m gdbstubs. 2024-06-25 19:14:20 -04:00
dts everywhere: replace double words 2024-06-25 06:05:35 -04:00
footprint scripts: fixed missing argument in parse_from_attribute call. 2024-06-20 17:03:21 -04:00
generate_usb_vif USB-C: genVIF: Cleanup and add support to pick static data from input 2023-05-26 13:54:43 -04:00
gitlint gitlint: do not allow treewide as an area in commit messages 2024-04-10 09:22:24 +02:00
kconfig everywhere: replace double words 2024-06-25 06:05:35 -04:00
logging/dictionary scripts: logging/dictionary: fix annoying pylint warning 2024-06-28 21:14:14 +02:00
native_simulator everywhere: replace double words 2024-06-25 06:05:35 -04:00
net tests|scripts/net: Change native_posix references to native_sim 2024-03-20 15:43:05 +01:00
pylib twister: pytest: use test timeout as the default base timeout 2024-07-27 15:18:01 +03:00
pylint/checkers scripts: pylint: Add argument parser abbreviation checker 2023-01-26 20:12:36 +09:00
release scripts: drop list_issues.py 2023-07-25 16:45:15 +02:00
schemas scripts: west robot & simulation: Fix OOT 2024-07-01 16:10:35 -04:00
support treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
tests twister: Fix gTest harness 2024-07-03 08:52:13 +02:00
tracing tracing: scripts: Fix spelling 2023-02-08 01:09:31 +09:00
utils doc: release: posix: deprecate non-normative POSIX Kconfig 2024-06-04 16:27:12 -05:00
west_commands west: blobs: verify fetched blobs after downloading 2024-07-30 18:29:39 +01:00
.gitignore
checkpatch.pl scripts: checkpatch.pl: treat .overlay files as dts 2024-06-21 08:46:12 -04:00
checkstack.pl
coccicheck
dump_bugs_pickle.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
gen_gcov_files.py treewide: Disable automatic argparse argument shortening 2023-01-26 20:12:36 +09:00
get_maintainer.py scripts: get_maintainer: check maintenance status 2024-06-28 07:19:49 -04:00
github_helpers.py
list_boards.py scripts: Loader change 2024-05-07 09:38:00 +02:00
list_hardware.py scripts: list_hardware: Find all SoCs before checking runner configs 2024-07-10 11:46:52 -04:00
list_shields.py scripts: list_shields: add script for listing the supported shields 2024-05-21 16:47:24 -04:00
make_bugs_pickle.py ci: scripts: do not count PRs labeled as bug in snapshot 2024-07-12 16:10:13 -04:00
requirements-base.txt requirements: bump pyelftools to >=0.29 2024-07-08 17:18:29 -04:00
requirements-build-test.txt scripts: coverage: gcovr to ignore negative counters 2023-11-03 07:57:10 -04:00
requirements-compliance.txt requirements: Set min version of pylint to 3 2024-05-26 21:02:21 +03:00
requirements-extras.txt scripts: requirements: Bump imgtool to 2.1.0 2024-07-10 11:38:07 +02:00
requirements-run-test.txt scripts: requirements: run-tests: add python-can 2024-06-03 15:37:49 +02:00
requirements.txt doc: move requirements to doc/ 2023-07-12 09:13:49 -04:00
series-push-hook.sh
set_assignees.py ci: set_assignee: pick next area when submitter = assignee 2024-07-10 19:14:17 -04:00
snippets.py terminology: adopt CMake, python, and Kconfig code to use qualifiers 2024-03-21 15:32:17 +01:00
spelling.txt scripts: spelling.txt: add double prepositions 2024-06-25 06:05:35 -04:00
tags.sh
twister twister: Add Twister execution options to twister.json 2024-05-15 14:56:59 +02:00
valgrind.supp valgrind: Update POSIX soc no cpu cleanup suppression 2023-11-29 15:33:49 +01:00
west-commands.yml West: Add west robot command 2024-05-28 12:54:52 +02:00
zephyr_module.py west: blobs: prefer constants to literals for blob status 2024-07-30 18:29:39 +01:00