Go to file
Robert Lubos 9cdc1bb944 net: sockets: tls: Fix TLS POLLHUP notification
The `poll()` function did not report POLLHUP if the peer ended the DTLS
session, making it impossible to detect such event on the application
side.

On the other hand, TLS erroneusely reported POLLHUP along with each
POLLIN event, as the 0 returned by the `recv()` socket call was
wrongly interpreted (it was expected to get 0 in return as 0 bytes were
requested).

Fix this by introducing a helper function to process the mbedtls context
and verify if new application data is pendingi or session has ended.
Use this new function in the poll handler, instead of a socket `recv()`
call, to remove any ambiguity in the usage, for both TLS and DTLS.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2021-09-16 18:14:33 -04:00
.buildkite ci: adjust number of builds for daily CI 2021-09-10 11:06:10 -05:00
.github actions: run get_maintainer.py to validate paths 2021-09-16 09:13:01 -04:00
arch arch: xtensa: add workaround for small vector table entries 2021-09-10 10:59:44 -04:00
boards tests/drivers/uart: async_api: Enable test on nucleo_f103rb 2021-09-16 13:19:19 -04:00
cmake cmake: fixing toolchain_parse_make_rule to correctly handle \ files 2021-09-11 04:49:38 -04:00
doc Bluetooth: Update terms in public API to spec v5.3 2021-09-15 14:02:50 +03:00
drivers drivers: modem: sara-r4: Replace snprintf calls by snprintk 2021-09-16 09:33:28 -04:00
dts dts: esp32s2: fix counter dt information 2021-09-13 08:56:51 -04:00
include Bluetooth: Object Transfer Service: Defines for allowed object ID values 2021-09-16 10:32:19 +02:00
kernel cmsis_rtos_v1: fix thread instances management. 2021-09-09 12:01:06 -04:00
lib lib: libc: Drop z_ prefix from stdio syscalls 2021-09-11 04:47:01 -04:00
misc toolchain: add GEN_ABSOLUTE_SYM_KCONFIG() 2021-02-02 09:23:45 -05:00
modules stm32: Add FMAC support to Kconfig 2021-09-15 22:36:49 -04:00
samples bugfix: samples: display: Set ft800 sample to be build only 2021-09-16 06:59:27 -04:00
scripts twister: native_posix: Ignor filtering by toolchain for native_posix 2021-09-10 11:24:58 -04:00
share cmake: check zephyr version if specified and ZEPHYR_BASE is set 2021-05-25 16:48:35 -05:00
soc soc: riscv: ite: it8xxx2: guard SoC Kconfig options 2021-09-15 23:11:43 -04:00
subsys net: sockets: tls: Fix TLS POLLHUP notification 2021-09-16 18:14:33 -04:00
tests Bluetooth: Mesh: Test reprovisioning 2021-09-16 13:25:46 -04:00
.checkpatch.conf checkpatch: ignore linux specific ENOSYS warning 2021-03-30 10:50:14 -05:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig
.gitattributes
.gitignore gitignore: add common Python venv directories 2021-04-20 11:30:40 -05:00
.gitlint
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg
CMakeLists.txt cmake: Zephyr ALLOW_EMPTY library property 2021-09-07 11:42:47 +02:00
CODE_OF_CONDUCT.md
CODEOWNERS drivers: fpga controller: add eos_s3 fpga driver 2021-09-03 09:54:00 -04:00
CONTRIBUTING.rst
Kconfig
Kconfig.zephyr armclang: ARM Compiler C library support 2021-08-30 08:54:23 -04:00
LICENSE
MAINTAINERS.yml MAINTAINERS: update few entries with maintainers/collaborators 2021-09-16 09:13:01 -04:00
README.rst doc: Document the switch from Slack to Discord 2021-09-03 08:11:15 -04:00
VERSION release: Zephyr 2.7.0-rc1 2021-09-03 14:52:45 -04:00
version.h.in
west.yml manifest: mcuboot update 2021-09-16 17:39:36 -04:00
zephyr-env.cmd
zephyr-env.sh

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.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=main"></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


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:

* **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
  (buildkite) nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord 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

.. _Discord Invite: https://chat.zephyrproject.org
.. _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/getting_started/index.html#asking-for-help