Skip to content

Commit

Permalink
Bluetooth: GATT: Add missing LESC_MASK for encrypt check The LE Secur…
Browse files Browse the repository at this point in the history
…e connection (LESC) mask also require encryption,

and some users have been using e.g. BT_GATT_PERM_READ_LESC
without BT_GATT_PERM_READ_ENCRYPT, and then the encryption
check in bt_gatt_check_perm was never properly applied.

cherry-picked from commit d9ff7eb
> Signed-off-by: Yiheng Cao([email protected])
  • Loading branch information
Crispy-fried-chicken committed Aug 20, 2024
1 parent ac9c9d2 commit b531cec
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion subsys/bluetooth/host/gatt.c
Original file line number Diff line number Diff line change
Expand Up @@ -3103,7 +3103,8 @@ uint8_t bt_gatt_check_perm(struct bt_conn *conn, const struct bt_gatt_attr *attr
* the error code “Insufficient Encryption”.
*/

if (mask & (BT_GATT_PERM_ENCRYPT_MASK | BT_GATT_PERM_AUTHEN_MASK)) {
if (mask & (BT_GATT_PERM_ENCRYPT_MASK | BT_GATT_PERM_AUTHEN_MASK |
BT_GATT_PERM_LESC_MASK)) {
#if defined(CONFIG_BT_SMP)
if (!conn->encrypt) {
if (bt_conn_ltk_present(conn)) {
Expand Down

0 comments on commit b531cec

Please sign in to comment.