mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 15:14:18 +08:00
Bluetooth: hci_persistent_key should return bool
This patch changes the return type of function hci_persistent_key from int to bool because it makes more sense to return information whether a key is persistent or not as a bool. Signed-off-by: Vishal Agarwal <vishal.agarwal@stericsson.com> Acked-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
parent
87522a433b
commit
745c0ce35f
@ -980,7 +980,7 @@ int mgmt_discoverable(struct hci_dev *hdev, u8 discoverable);
|
||||
int mgmt_connectable(struct hci_dev *hdev, u8 connectable);
|
||||
int mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status);
|
||||
int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key,
|
||||
u8 persistent);
|
||||
bool persistent);
|
||||
int mgmt_device_connected(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
||||
u8 addr_type, u32 flags, u8 *name, u8 name_len,
|
||||
u8 *dev_class);
|
||||
|
@ -1216,40 +1216,40 @@ struct link_key *hci_find_link_key(struct hci_dev *hdev, bdaddr_t *bdaddr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static int hci_persistent_key(struct hci_dev *hdev, struct hci_conn *conn,
|
||||
static bool hci_persistent_key(struct hci_dev *hdev, struct hci_conn *conn,
|
||||
u8 key_type, u8 old_key_type)
|
||||
{
|
||||
/* Legacy key */
|
||||
if (key_type < 0x03)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* Debug keys are insecure so don't store them persistently */
|
||||
if (key_type == HCI_LK_DEBUG_COMBINATION)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Changed combination key and there's no previous one */
|
||||
if (key_type == HCI_LK_CHANGED_COMBINATION && old_key_type == 0xff)
|
||||
return 0;
|
||||
return false;
|
||||
|
||||
/* Security mode 3 case */
|
||||
if (!conn)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* Neither local nor remote side had no-bonding as requirement */
|
||||
if (conn->auth_type > 0x01 && conn->remote_auth > 0x01)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* Local side had dedicated bonding as requirement */
|
||||
if (conn->auth_type == 0x02 || conn->auth_type == 0x03)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* Remote side had dedicated bonding as requirement */
|
||||
if (conn->remote_auth == 0x02 || conn->remote_auth == 0x03)
|
||||
return 1;
|
||||
return true;
|
||||
|
||||
/* If none of the above criteria match, then don't store the key
|
||||
* persistently */
|
||||
return 0;
|
||||
return false;
|
||||
}
|
||||
|
||||
struct smp_ltk *hci_find_ltk(struct hci_dev *hdev, __le16 ediv, u8 rand[8])
|
||||
@ -1286,7 +1286,8 @@ int hci_add_link_key(struct hci_dev *hdev, struct hci_conn *conn, int new_key,
|
||||
bdaddr_t *bdaddr, u8 *val, u8 type, u8 pin_len)
|
||||
{
|
||||
struct link_key *key, *old_key;
|
||||
u8 old_key_type, persistent;
|
||||
u8 old_key_type;
|
||||
bool persistent;
|
||||
|
||||
old_key = hci_find_link_key(hdev, bdaddr);
|
||||
if (old_key) {
|
||||
|
@ -2884,7 +2884,7 @@ int mgmt_write_scan_failed(struct hci_dev *hdev, u8 scan, u8 status)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, u8 persistent)
|
||||
int mgmt_new_link_key(struct hci_dev *hdev, struct link_key *key, bool persistent)
|
||||
{
|
||||
struct mgmt_ev_new_link_key ev;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user