Go to file
Trond Einar Snekvik eca0141152 Bluetooth: Mesh: Isolate cryptographic material
This is a major refactoring of the handling of the cryptographic
material of both the network and transport layers. The aim is to
encapsulate the key object manipulation, and improve overall modularity.

Pulls Applications and Subnets out of the bt_mesh and into separate
modules, with static storage types on the data. This has several
side-effects:
- The Config Server no longer operates directly on the bt_mesh.subs and
  bt_mesh.apps lists, but goes through a public configuration interface,
  following the pattern set in #27908.
- All iteration through the keys is done through iteration APIs
- Key resolution on RX and TX is centralized.
- Changes to the keys triggers events the other modules can register
  handlers for.
- Friendship credentials are stored in the lpn and friend structures.

Part of #27842.

Signed-off-by: Trond Einar Snekvik <Trond.Einar.Snekvik@nordicsemi.no>
2020-10-22 14:36:02 +03:00
.buildkite .buildkite: temporary fix to manually install imgtool 2020-10-19 21:08:34 +02:00
.github ci: github: reduce when we do doc builds 2020-10-21 17:40:52 +02:00
.known-issues doc: update known issues for Sphinx>=3.2.0 2020-08-31 09:57:33 -04:00
arch arc: cpu_idle: remove sleep workround for nsim_hs_smp 2020-10-22 06:17:08 -04:00
boards drivers: pcie_ep: iproc: shorten file names 2020-10-22 11:07:39 +02:00
cmake cmake: work around sdk toolchain configuration for xtensa [REVERTME] 2020-10-21 06:38:53 -04:00
doc doc: usermode: stack access policy change 2020-10-21 10:20:23 -07:00
drivers drivers: pcie_ep: iproc: Add MSI-X PVM feature for Viper 2020-10-22 11:07:39 +02:00
dts dts: arm: viper: m7: Add PVM interrupts for pcie node 2020-10-22 11:07:39 +02:00
include Bluetooth: Mesh: Isolate cryptographic material 2020-10-22 14:36:02 +03:00
kernel kernel: document k_sleep with K_FOREVER 2020-10-22 07:00:15 -04:00
lib lib: posix: unchecked return value while taking semaphore 2020-10-21 06:26:11 -05:00
misc
modules net: lib: sockets: added ALPN extension option to TLS 2020-10-22 11:35:43 +03:00
samples mgmt/osdp: Split CP and PD samples into dedicated directories 2020-10-21 17:36:16 +02:00
scripts scripts: series-push-hook: Fix behavior after rebase 2020-10-21 07:16:54 -05:00
share cmake: Zephyr CMake package clean-up and minor fix 2020-08-19 12:52:33 -04:00
soc drivers: pcie_ep: iproc: Add MSI-X PVM feature for Viper 2020-10-22 11:07:39 +02:00
subsys Bluetooth: Mesh: Isolate cryptographic material 2020-10-22 14:36:02 +03:00
tests tests: kernel: timer_api: align tick for duration period test 2020-10-22 06:18:14 -04:00
.checkpatch.conf checkpatch: disable REPEATED_WORD 2020-08-21 13:57:02 -04:00
.clang-format clang-format: Update with latest FOR_EACH macro list 2020-05-02 11:23:13 -04:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: Tell linguist to ignore test pattern files 2020-04-23 14:07:57 -04:00
.gitignore gitignore: exclude tests/drivers/build_all 2020-03-20 13:49:05 -05:00
.gitlint
.mailmap mailmap: add entry for Sean Nyekjaer 2019-11-04 14:33:31 +01:00
.uncrustify.cfg
CMakeLists.txt cmake: Add generated files to zephyr_interface dependency target 2020-10-21 06:25:03 -05:00
CODE_OF_CONDUCT.md
CODEOWNERS CODEOWNERS: add code owners for the TF-M integration samples 2020-10-19 21:08:34 +02:00
CONTRIBUTING.rst
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr build: add option to delete intermediate files 2020-10-21 06:38:53 -04:00
LICENSE
MAINTAINERS.yml Revert "zephyr: maintainers:" 2020-10-09 09:19:28 -05:00
Makefile doc: provide a target to only generate doxygen 2020-04-11 08:40:54 -04:00
README.rst doc: Replace shippable badge with buildkite badge 2020-07-14 07:21:44 -05:00
VERSION release: Update patch level to 99 after the 2.4.0 release 2020-09-27 15:15:49 -05:00
version.h.in
west.yml west: Update NXP revision 2020-10-21 06:26:40 -05:00
zephyr-env.cmd
zephyr-env.sh zephyr_env.sh: Remove semicolons at ends of lines 2019-12-10 14:34:46 -08:00

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/images/Zephyr-Project.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a href="https://buildkite.com/zephyr/zephyr">
   <img
   src="https://badge.buildkite.com/f5bd0dc88306cee17c9b38e78d11bb74a6291e3f40e7d13f31.svg?branch=master"></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-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

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

.. start_include_here

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.

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

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

.. _project-resources:

Resources
*********

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

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI
  (shippable) nightly build results.
* **Chat**: Zephyr's Slack workspace is https://zephyrproject.slack.com.  Use
  this `Slack Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Slack Invite: https://tinyurl.com/y5glwylp
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/guides/getting-help.html