mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 08:51:13 +00:00
40 lines
1.3 KiB
Diff
40 lines
1.3 KiB
Diff
|
From 3e2981c7e55d75dc93a2f2e9bb6be2b9704c05f5 Mon Sep 17 00:00:00 2001
|
||
|
From: Marcel Holtmann <marcel@holtmann.org>
|
||
|
Date: Wed, 22 May 2019 09:05:40 +0200
|
||
|
Subject: [PATCH] Bluetooth: Check key sizes only when Secure Simple
|
||
|
Pairing is enabled
|
||
|
|
||
|
The encryption is only mandatory to be enforced when both sides are using
|
||
|
Secure Simple Pairing and this means the key size check makes only sense
|
||
|
in that case.
|
||
|
|
||
|
On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
|
||
|
optional and thus causing an issue if the key size check is not bound to
|
||
|
using Secure Simple Pairing.
|
||
|
|
||
|
Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
|
||
|
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
|
||
|
Cc: stable@vger.kernel.org
|
||
|
---
|
||
|
net/bluetooth/hci_conn.c | 9 +++++++--
|
||
|
1 file changed, 7 insertions(+), 2 deletions(-)
|
||
|
|
||
|
--- a/net/bluetooth/hci_conn.c
|
||
|
+++ b/net/bluetooth/hci_conn.c
|
||
|
@@ -1285,8 +1285,13 @@ int hci_conn_check_link_mode(struct hci_
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
- if (hci_conn_ssp_enabled(conn) &&
|
||
|
- !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||
|
+ /* If Secure Simple Pairing is not enabled, then legacy connection
|
||
|
+ * setup is used and no encryption or key sizes can be enforced.
|
||
|
+ */
|
||
|
+ if (!hci_conn_ssp_enabled(conn))
|
||
|
+ return 1;
|
||
|
+
|
||
|
+ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
|
||
|
return 0;
|
||
|
|
||
|
return 1;
|