zephyr/include
Luiz Augusto von Dentz 03b9ce487c Bluetooth: GATT: Add support to setting permission on CCCD
This adds support to set different permissions to CCCD so security can
be checked when enabling notification which conforms to:

BLUETOOTH CORE SPECIFICATION Version 5.1 | Vol 3, Part G page 2360:

  '3.3.3.3 Client Characteristic Configuration

   Authentication and authorization may be required by the server to
   write the configuration descriptor.'

In addition to that also ensure that notification are not re-enabled
until the proper security level is reached to conform to the following
statement:

  '10.3.1.1 Handling of GATT indications and notifications

   A client “requests” a server to send indications and notifications
   by appropriately configuring the server via a Client Characteristic
   Configuration Descriptor. Since the configuration is persistent
   across a disconnection and reconnection, security requirements must
   be checked against the configuration upon a reconnection before
   sending indications or notifications. When a server reconnects to a
   client to send an indication or notification for which security is
   required, the server shall initiate or request encryption with the
   client prior to sending an indication or notification. If the client
   does not have an LTK indicating that the client has lost the bond,
   enabling encryption will fail.'

Fixes #17983

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2019-09-19 21:12:39 +03:00
..
app_memory
arch linker: cxx: Include .gcc_except_table sections 2019-09-19 09:26:42 -05:00
audio
bluetooth Bluetooth: GATT: Add support to setting permission on CCCD 2019-09-19 21:12:39 +03:00
cmsis_rtos_v1
cmsis_rtos_v2
console console: Remove deprecated function console_register_line_input 2019-09-18 19:14:25 -05:00
crypto
data include: json: reorder designated initializers 2019-07-22 18:10:51 -07:00
debug debug: tracing: add sys_trace_thread_name_set 2019-09-19 00:37:35 -04:00
dfu include/dfu: rearrange for standard use of extern "C" in private headers 2019-08-13 18:00:31 +02:00
disk sdhc: rename disk_access_sdhc.c 2019-07-10 11:58:15 -05:00
display subsys/cfb: improve font structure packing 2019-07-31 05:43:50 -04:00
drivers console: Remove deprecated function console_register_line_input 2019-09-18 19:14:25 -05:00
dt-bindings irq: rv32m1: Fixup IRQ values for multi-level IRQ handling 2019-09-10 07:34:57 -05:00
fs fcb: start using errno codes 2019-09-08 12:42:53 +02:00
linker linker: cxx: Include .gcc_except_table sections 2019-09-19 09:26:42 -05:00
logging logging: Add basic userspace support 2019-08-27 14:29:21 -04:00
mgmt
misc
net net: sockets: Store socket private data into its own variable 2019-09-18 23:47:36 +03:00
nvs
posix posix: pthread: pthread_mutex_timedlock should accept absolute deadline 2019-08-27 17:50:48 -04:00
power
random
settings doc/settings: doxygen for settings read callback method 2019-08-12 15:25:17 +02:00
shell shell_history: align buffer to pointer size 2019-07-04 09:28:47 +02:00
stats
storage include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys sys/__assert.h: Fix __assert.h so it can be included in C++ code 2019-09-18 13:28:24 +08:00
toolchain toolchain: Add __BYTE_ORDER__ definition to the GCC toolchain header. 2019-09-19 08:13:52 -04:00
usb
zephyr riscv: make core code 64-bit compatible 2019-08-02 13:54:48 -07:00
adc.h
atomic.h
base64.h
cache.h
can.h
clock_control.h
console.h
counter.h
crc.h
device.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
disk_access.h
display.h
dma.h
entropy.h
espi.h API: espi: Add API for Enhanced Serial Peripheral Interface 2019-07-25 08:23:38 -07:00
exc_handle.h
fatal.h kernel: remove z_fatal_print() 2019-09-12 05:17:39 -04:00
fcb.h
flash_map.h
flash.h
fs.h
generated_dts_board.h dts: Add new DTS/binding parser 2019-07-29 16:22:17 -04:00
gna.h
gpio.h
hwinfo.h
i2c.h
i2s.h
init.h
ipm.h
irq_nextlevel.h irq_nextlevel: add API to query if an IRQ line is enabled 2019-09-07 10:20:51 -04:00
irq_offload.h
irq.h
json.h
kernel_includes.h kernel: consolidate error handling code 2019-07-25 15:06:58 -07:00
kernel_version.h
kernel.h kernel: Explicitly include toolchain.h to check for endianness definitions. 2019-09-09 21:40:54 +02:00
led_strip.h
led.h
pinmux.h
power.h
ptp_clock.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
pwm.h
ring_buffer.h
sched_priq.h
sensor.h
shared_irq.h
spi.h
spinlock.h spinlock: Make sure C and C++ have the same sizeof(k_spinlock) value 2019-09-16 14:34:24 -05:00
stats.h
sw_isr_table.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys_clock.h include: rearrange for standard use of extern "C" in various headers 2019-08-13 18:00:31 +02:00
sys_io.h
syscall.h kernel: syscalls: Whitespace fixups 2019-09-12 11:31:50 +08:00
toolchain.h headers: Removed include other.h from toolchain.h 2019-09-13 11:14:56 +02:00
tracing.h
tty.h
uart.h
updatehub.h
watchdog.h
zephyr.h