forked from luck/tmp_suning_uos_patched
Bluetooth: Add definitions for link key types
Introduce the link key types defs and use them instead of magic numbers. Signed-off-by: Waldemar Rymarkiewicz <waldemar.rymarkiewicz@tieto.com> Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
This commit is contained in:
parent
314b2381a7
commit
b6020ba055
@ -246,6 +246,15 @@ enum {
|
|||||||
#define HCI_AT_GENERAL_BONDING 0x04
|
#define HCI_AT_GENERAL_BONDING 0x04
|
||||||
#define HCI_AT_GENERAL_BONDING_MITM 0x05
|
#define HCI_AT_GENERAL_BONDING_MITM 0x05
|
||||||
|
|
||||||
|
/* Link Key types */
|
||||||
|
#define HCI_LK_COMBINATION 0x00
|
||||||
|
#define HCI_LK_LOCAL_UNIT 0x01
|
||||||
|
#define HCI_LK_REMOTE_UNIT 0x02
|
||||||
|
#define HCI_LK_DEBUG_COMBINATION 0x03
|
||||||
|
#define HCI_LK_UNAUTH_COMBINATION 0x04
|
||||||
|
#define HCI_LK_AUTH_COMBINATION 0x05
|
||||||
|
#define HCI_LK_CHANGED_COMBINATION 0x06
|
||||||
|
|
||||||
/* ----- HCI Commands ---- */
|
/* ----- HCI Commands ---- */
|
||||||
#define HCI_OP_NOP 0x0000
|
#define HCI_OP_NOP 0x0000
|
||||||
|
|
||||||
|
@ -1050,7 +1050,7 @@ int hci_add_link_key(struct hci_dev *hdev, int new_key, bdaddr_t *bdaddr,
|
|||||||
if (new_key)
|
if (new_key)
|
||||||
mgmt_new_key(hdev->id, key, old_key_type);
|
mgmt_new_key(hdev->id, key, old_key_type);
|
||||||
|
|
||||||
if (type == 0x06)
|
if (type == HCI_LK_CHANGED_COMBINATION)
|
||||||
key->type = old_key_type;
|
key->type = old_key_type;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2053,15 +2053,16 @@ static inline void hci_link_key_request_evt(struct hci_dev *hdev, struct sk_buff
|
|||||||
BT_DBG("%s found key type %u for %s", hdev->name, key->type,
|
BT_DBG("%s found key type %u for %s", hdev->name, key->type,
|
||||||
batostr(&ev->bdaddr));
|
batostr(&ev->bdaddr));
|
||||||
|
|
||||||
if (!test_bit(HCI_DEBUG_KEYS, &hdev->flags) && key->type == 0x03) {
|
if (!test_bit(HCI_DEBUG_KEYS, &hdev->flags) &&
|
||||||
|
key->type == HCI_LK_DEBUG_COMBINATION) {
|
||||||
BT_DBG("%s ignoring debug key", hdev->name);
|
BT_DBG("%s ignoring debug key", hdev->name);
|
||||||
goto not_found;
|
goto not_found;
|
||||||
}
|
}
|
||||||
|
|
||||||
conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
|
conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr);
|
||||||
|
|
||||||
if (key->type == 0x04 && conn && conn->auth_type != 0xff &&
|
if (key->type == HCI_LK_UNAUTH_COMBINATION && conn &&
|
||||||
(conn->auth_type & 0x01)) {
|
conn->auth_type != 0xff && (conn->auth_type & 0x01)) {
|
||||||
BT_DBG("%s ignoring unauthenticated key", hdev->name);
|
BT_DBG("%s ignoring unauthenticated key", hdev->name);
|
||||||
goto not_found;
|
goto not_found;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user