Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
Go to file
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
.github ci: compliance: add a PR description check step 2024-07-11 18:37:09 -04:00
arch kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
boards boards: disco_l475_iot1: fix arduino_i2c config 2024-07-30 18:28:59 +01:00
cmake toolchain: arcmwdt: don't set STDC_LIB_EXT1 macro in case of minimal libc 2024-07-12 09:34:58 -04:00
doc usb: device_next: introduce UDC_BUF_POOL_*_DEFINE macros 2024-07-30 18:26:04 +01:00
drivers drivers: udc_stm32: remove wrong header and fix udc_ep_enable() 2024-07-30 18:29:26 +01:00
dts dts: arm: nxp: nxp_ke1xz.dtsi: add FGPIO support 2024-07-30 18:28:43 +01:00
include/zephyr emul: Support UART device emulation 2024-07-30 18:28:17 +01:00
kernel kernel: thread: Add k_thread_runtime_stats_cpu_get() 2024-07-30 18:25:40 +01:00
lib posix: fs: implement `fdatasync()` 2024-07-29 14:14:33 +02:00
misc
modules manifest: net: openthread: Regular openthread upmerge to `e10a925`. 2024-07-30 18:27:15 +01:00
samples samples: zbus: work_queue: Enable synchronous printk 2024-07-30 18:27:40 +01:00
scripts west: blobs: verify fetched blobs after downloading 2024-07-30 18:29:39 +01:00
share sysbuild: check for existence of APPLICATION_CONFIG_DIR 2024-06-27 10:58:11 -04:00
snippets snippets: nus-console: doc: Remove invalid device-tree requirements 2024-07-25 09:26:20 +02:00
soc soc: st: stm32f765xx: Correct total number of IRQS. 2024-07-30 18:28:53 +01:00
submanifests submanifests: update `tflite-micro` 2024-06-28 07:50:12 -04:00
subsys emul: Support UART device emulation 2024-07-30 18:28:17 +01:00
tests tests: drivers: gpio: gpio_basic_api: add ke17z overlay file 2024-07-30 18:28:43 +01:00
.checkpatch.conf
.clang-format clang-format: add array-for-each to correct formatting issues 2024-05-28 18:56:24 +02:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore .gitignore: do not ignore .\#* files 2024-06-11 19:44:54 -04:00
.gitlint
.mailmap
.yamllint
CMakeLists.txt llext: disable verbose for SLID generation scripts 2024-07-09 17:21:18 +02:00
CODEOWNERS drivers: disk: remove `sdmmc_sdhc.h` since no longer used 2024-06-14 18:50:47 -04:00
CODE_OF_CONDUCT.md
CONTRIBUTING.rst
Kconfig
Kconfig.constants kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
Kconfig.zephyr kconfig: Add variables for integer constants 2024-07-27 20:49:15 +03:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Fix NXP Drivers missing some drivers 2024-07-30 18:27:57 +01:00
README.rst
SDK_VERSION SDK_VERSION: Use Zephyr SDK 0.16.8 2024-06-04 22:59:31 -04:00
VERSION release: Zephyr v3.7.99 2024-07-26 21:14:10 +02:00
version.h.in version.h.in: Do not use @template@ 2024-05-24 18:05:41 -04:00
west.yml manifest: net: openthread: Regular openthread upmerge to `e10a925`. 2024-07-30 18:27:15 +01:00
zephyr-env.cmd
zephyr-env.sh

README.rst

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <picture>
         <source media="(prefers-color-scheme: dark)" srcset="doc/_static/images/logo-readme-dark.svg">
         <source media="(prefers-color-scheme: light)" srcset="doc/_static/images/logo-readme-light.svg">
         <img src="doc/_static/images/logo-readme-light.svg">
       </picture>
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM (Cortex-A,
Cortex-R, Cortex-M), Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V,
SPARC, MIPS, and a large number of `supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

Getting Started
---------------

  | 📖 `Zephyr Documentation`_
  | 🚀 `Getting Started Guide`_
  | 🙋🏽 `Tips when asking for help`_
  | 💻 `Code samples`_

Code and Development
--------------------

  | 🌐 `Source Code Repository`_
  | 📦 `Releases`_
  | 🤝 `Contribution Guide`_

Community and Support
---------------------

  | 💬 `Discord Server`_ for real-time community discussions
  | 📧 `User mailing list (users@lists.zephyrproject.org)`_
  | 📧 `Developer mailing list (devel@lists.zephyrproject.org)`_
  | 📬 `Other project mailing lists`_
  | 📚 `Project Wiki`_

Issue Tracking and Security
---------------------------

  | 🐛 `GitHub Issues`_
  | 🔒 `Security documentation`_
  | 🛡️ `Security Advisories Repository`_
  | ⚠️ Report security vulnerabilities at vulnerabilities@zephyrproject.org

Additional Resources
--------------------
  | 🌐 `Zephyr Project Website`_
  | 📺 `Zephyr Tech Talks`_

.. _Zephyr Project Website: https://www.zephyrproject.org
.. _Discord Server: https://chat.zephyrproject.org
.. _supported boards: https://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: https://docs.zephyrproject.org
.. _Introduction to Zephyr: https://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: https://docs.zephyrproject.org/latest/develop/getting_started/index.html
.. _Contribution Guide: https://docs.zephyrproject.org/latest/contribute/index.html
.. _Source Code Repository: https://github.com/zephyrproject-rtos/zephyr
.. _GitHub Issues: https://github.com/zephyrproject-rtos/zephyr/issues
.. _Releases: https://github.com/zephyrproject-rtos/zephyr/releases
.. _Project Wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _User mailing list (users@lists.zephyrproject.org): https://lists.zephyrproject.org/g/users
.. _Developer mailing list (devel@lists.zephyrproject.org): https://lists.zephyrproject.org/g/devel
.. _Other project mailing lists: https://lists.zephyrproject.org/g/main/subgroups
.. _Code samples: https://docs.zephyrproject.org/latest/samples/index.html
.. _Security documentation: https://docs.zephyrproject.org/latest/security/index.html
.. _Security Advisories Repository: https://github.com/zephyrproject-rtos/zephyr/security
.. _Tips when asking for help: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help
.. _Zephyr Tech Talks: https://www.zephyrproject.org/tech-talks