zephyr/subsys/bluetooth/host
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
..
a2dp_internal.h
a2dp.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
at.c all: Add 'U' suffix when using unsigned variables 2019-03-28 17:15:58 -05:00
at.h
att_internal.h Bluetooth: Dispatch internal callbacks using RX thread 2019-08-09 21:01:59 +02:00
att.c Bluetooth: GATT: Add support to setting permission on CCCD 2019-09-19 21:12:39 +03:00
avdtp_internal.h
avdtp.c Bluetooth: Host: Rename security level enum 2019-08-27 15:13:25 +02:00
CMakeLists.txt Bluetooth: Mesh: Move under subsys/bluetooth/mesh 2019-07-10 09:41:57 +03:00
conn_internal.h Bluetooth: Pass local identity to bt_conn_add_le() 2019-09-17 11:36:38 +03:00
conn.c Bluetooth: Pass local identity to bt_conn_add_le() 2019-09-17 11:36:38 +03:00
crypto.c cleanup: include/: move misc/byteorder.h to sys/byteorder.h 2019-06-27 22:55:49 -04:00
crypto.h
ecc.h
gatt_internal.h Bluetooth: GATT: Add support to setting permission on CCCD 2019-09-19 21:12:39 +03:00
gatt.c Bluetooth: GATT: Add support to setting permission on CCCD 2019-09-19 21:12:39 +03:00
hci_core.c Bluetooth: Pass local identity to bt_conn_add_le() 2019-09-17 11:36:38 +03:00
hci_core.h Bluetooth: Host: Add whitelist support in Bluetooth Host API 2019-08-09 16:26:10 +02:00
hci_ecc.c bluetooth: host: Configurable HCI stack sizes 2019-09-07 15:50:43 +03:00
hci_ecc.h
hci_raw_internal.h
hci_raw.c Bluetooth: Introduce separate pool for discardable events 2019-07-01 16:36:15 +03:00
hfp_hf.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
hfp_internal.h
Kconfig bluetooth: host: Configurable HCI stack sizes 2019-09-07 15:50:43 +03:00
Kconfig.gatt Bluetooth: GATT: Kconfig: Remove redundant BT_CONN dependencies 2019-08-08 11:54:46 +02:00
Kconfig.l2cap Bluetooth: L2CAP: Kconfig: Remove redundant BT_CONN dependency 2019-08-07 16:51:02 +03:00
keys_br.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
keys.c Bluetooth: Keys: Fix logging assertions when enabling BT_DEBUG_KEYS. 2019-07-31 16:48:54 +02:00
keys.h
l2cap_br.c Bluetooth: Host: Rename long error codes 2019-08-27 15:13:25 +02:00
l2cap_internal.h Bluetooth: conn: Add bt_conn_create_pdu_timeout 2019-08-30 09:52:01 +02:00
l2cap.c Bluetooth: L2CAP: Fix invalid access if a buffer cannot be allocated 2019-08-30 09:52:01 +02:00
monitor.c cleanup: include/: move misc/byteorder.h to sys/byteorder.h 2019-06-27 22:55:49 -04:00
monitor.h
rfcomm_internal.h
rfcomm.c Bluetooth: Host: Rename API function to initiate bluetooth security. 2019-08-27 15:13:25 +02:00
sdp_internal.h
sdp.c Bluetooth: Host: Rename security level enum 2019-08-27 15:13:25 +02:00
settings.c Bluetooth: Settings: Fix generated identity not persistently stored. 2019-08-05 11:00:57 +02:00
settings.h subsys/settings: Update bluetooth module 2019-06-26 16:31:01 +02:00
smp_null.c cleanup: include/: move misc/util.h to sys/util.h 2019-06-27 22:55:49 -04:00
smp.c Bluetooth: SMP: Add missing static to internal function 2019-09-07 15:49:34 +03:00
smp.h Bluetooth: Don't run SMP callbacks on syswq 2019-08-30 09:52:01 +02:00
testing.c
testing.h
uuid.c bluetooth: host: Replaced bt_uuid_create_le with bt_uuid_create 2019-08-30 12:42:24 +02:00