Loading system/btif/include/btif_storage.h +4 −2 Original line number Diff line number Diff line Loading @@ -209,10 +209,12 @@ bt_status_t btif_storage_remove_hid_info(RawAddress* remote_bd_addr); bool btif_storage_is_restricted_device(const RawAddress* remote_bd_addr); bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, char* key, uint8_t key_type, const uint8_t* key, uint8_t key_type, uint8_t key_length); bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, uint8_t key_type, char* key_value, uint8_t key_type, uint8_t* key_value, int key_length); bt_status_t btif_storage_add_ble_local_key(char* key, uint8_t key_type, Loading system/btif/src/btif_dm.cc +15 −15 Original line number Diff line number Diff line Loading @@ -2883,32 +2883,32 @@ void btif_dm_save_ble_bonding_keys(void) { RawAddress bd_addr = pairing_cb.bd_addr; if (pairing_cb.ble.is_penc_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.penc_key, BTIF_DM_LE_KEY_PENC, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.penc_key, BTIF_DM_LE_KEY_PENC, sizeof(tBTM_LE_PENC_KEYS)); } if (pairing_cb.ble.is_pid_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.pid_key, BTIF_DM_LE_KEY_PID, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.pid_key, BTIF_DM_LE_KEY_PID, sizeof(tBTM_LE_PID_KEYS)); } if (pairing_cb.ble.is_pcsrk_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.pcsrk_key, BTIF_DM_LE_KEY_PCSRK, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.pcsrk_key, BTIF_DM_LE_KEY_PCSRK, sizeof(tBTM_LE_PCSRK_KEYS)); } if (pairing_cb.ble.is_lenc_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.lenc_key, BTIF_DM_LE_KEY_LENC, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.lenc_key, BTIF_DM_LE_KEY_LENC, sizeof(tBTM_LE_LENC_KEYS)); } if (pairing_cb.ble.is_lcsrk_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.lcsrk_key, BTIF_DM_LE_KEY_LCSRK, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.lcsrk_key, BTIF_DM_LE_KEY_LCSRK, sizeof(tBTM_LE_LCSRK_KEYS)); } Loading system/btif/src/btif_gatt_util.cc +4 −5 Original line number Diff line number Diff line Loading @@ -99,11 +99,10 @@ static void btif_gatt_set_encryption_cb(UNUSED_ATTR const RawAddress& bd_addr, #if (BLE_DELAY_REQUEST_ENC == FALSE) void btif_gatt_check_encrypted_link(RawAddress bd_addr, tGATT_TRANSPORT transport_link) { char buf[100]; if ((btif_storage_get_ble_bonding_key(&bd_addr, BTIF_DM_LE_KEY_PENC, buf, sizeof(tBTM_LE_PENC_KEYS)) == BT_STATUS_SUCCESS) && tBTM_LE_PENC_KEYS key; if ((btif_storage_get_ble_bonding_key( &bd_addr, BTIF_DM_LE_KEY_PENC, (uint8_t*)&key, sizeof(tBTM_LE_PENC_KEYS)) == BT_STATUS_SUCCESS) && !btif_gatt_is_link_encrypted(bd_addr)) { BTIF_TRACE_DEBUG("%s: transport = %d", __func__, transport_link); BTA_DmSetEncryption(bd_addr, transport_link, &btif_gatt_set_encryption_cb, Loading system/btif/src/btif_storage.cc +12 −10 Original line number Diff line number Diff line Loading @@ -474,11 +474,11 @@ static void btif_read_le_key(const uint8_t key_type, const size_t key_len, CHECK(device_added); CHECK(key_found); char buffer[100]; memset(buffer, 0, sizeof(buffer)); tBTA_LE_KEY_VALUE key; memset(&key, 0, sizeof(key)); if (btif_storage_get_ble_bonding_key(&bd_addr, key_type, buffer, key_len) == BT_STATUS_SUCCESS) { if (btif_storage_get_ble_bonding_key(&bd_addr, key_type, (uint8_t*)&key, key_len) == BT_STATUS_SUCCESS) { if (add_key) { if (!*device_added) { BTA_DmAddBleDevice(bd_addr, addr_type, BT_DEVICE_TYPE_BLE); Loading @@ -487,7 +487,7 @@ static void btif_read_le_key(const uint8_t key_type, const size_t key_len, BTIF_TRACE_DEBUG("%s() Adding key type %d for %s", __func__, key_type, bd_addr.ToString().c_str()); BTA_DmAddBleKey(bd_addr, (tBTA_LE_KEY_VALUE*)buffer, key_type); BTA_DmAddBleKey(bd_addr, &key, key_type); } *key_found = true; Loading Loading @@ -933,7 +933,8 @@ bt_status_t btif_storage_load_bonded_devices(void) { ******************************************************************************/ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, char* key, uint8_t key_type, const uint8_t* key, uint8_t key_type, uint8_t key_length) { const char* name; switch (key_type) { Loading @@ -958,8 +959,8 @@ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, default: return BT_STATUS_FAIL; } int ret = btif_config_set_bin(remote_bd_addr->ToString().c_str(), name, (const uint8_t*)key, key_length); int ret = btif_config_set_bin(remote_bd_addr->ToString().c_str(), name, key, key_length); btif_config_save(); return ret ? BT_STATUS_SUCCESS : BT_STATUS_FAIL; } Loading @@ -975,7 +976,8 @@ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, * ******************************************************************************/ bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, uint8_t key_type, char* key_value, uint8_t key_type, uint8_t* key_value, int key_length) { const char* name; switch (key_type) { Loading @@ -1001,7 +1003,7 @@ bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, } size_t length = key_length; int ret = btif_config_get_bin(remote_bd_addr->ToString().c_str(), name, (uint8_t*)key_value, &length); key_value, &length); return ret ? BT_STATUS_SUCCESS : BT_STATUS_FAIL; } Loading Loading
system/btif/include/btif_storage.h +4 −2 Original line number Diff line number Diff line Loading @@ -209,10 +209,12 @@ bt_status_t btif_storage_remove_hid_info(RawAddress* remote_bd_addr); bool btif_storage_is_restricted_device(const RawAddress* remote_bd_addr); bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, char* key, uint8_t key_type, const uint8_t* key, uint8_t key_type, uint8_t key_length); bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, uint8_t key_type, char* key_value, uint8_t key_type, uint8_t* key_value, int key_length); bt_status_t btif_storage_add_ble_local_key(char* key, uint8_t key_type, Loading
system/btif/src/btif_dm.cc +15 −15 Original line number Diff line number Diff line Loading @@ -2883,32 +2883,32 @@ void btif_dm_save_ble_bonding_keys(void) { RawAddress bd_addr = pairing_cb.bd_addr; if (pairing_cb.ble.is_penc_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.penc_key, BTIF_DM_LE_KEY_PENC, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.penc_key, BTIF_DM_LE_KEY_PENC, sizeof(tBTM_LE_PENC_KEYS)); } if (pairing_cb.ble.is_pid_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.pid_key, BTIF_DM_LE_KEY_PID, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.pid_key, BTIF_DM_LE_KEY_PID, sizeof(tBTM_LE_PID_KEYS)); } if (pairing_cb.ble.is_pcsrk_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.pcsrk_key, BTIF_DM_LE_KEY_PCSRK, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.pcsrk_key, BTIF_DM_LE_KEY_PCSRK, sizeof(tBTM_LE_PCSRK_KEYS)); } if (pairing_cb.ble.is_lenc_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.lenc_key, BTIF_DM_LE_KEY_LENC, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.lenc_key, BTIF_DM_LE_KEY_LENC, sizeof(tBTM_LE_LENC_KEYS)); } if (pairing_cb.ble.is_lcsrk_key_rcvd) { btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.lcsrk_key, BTIF_DM_LE_KEY_LCSRK, btif_storage_add_ble_bonding_key( &bd_addr, (uint8_t*)&pairing_cb.ble.lcsrk_key, BTIF_DM_LE_KEY_LCSRK, sizeof(tBTM_LE_LCSRK_KEYS)); } Loading
system/btif/src/btif_gatt_util.cc +4 −5 Original line number Diff line number Diff line Loading @@ -99,11 +99,10 @@ static void btif_gatt_set_encryption_cb(UNUSED_ATTR const RawAddress& bd_addr, #if (BLE_DELAY_REQUEST_ENC == FALSE) void btif_gatt_check_encrypted_link(RawAddress bd_addr, tGATT_TRANSPORT transport_link) { char buf[100]; if ((btif_storage_get_ble_bonding_key(&bd_addr, BTIF_DM_LE_KEY_PENC, buf, sizeof(tBTM_LE_PENC_KEYS)) == BT_STATUS_SUCCESS) && tBTM_LE_PENC_KEYS key; if ((btif_storage_get_ble_bonding_key( &bd_addr, BTIF_DM_LE_KEY_PENC, (uint8_t*)&key, sizeof(tBTM_LE_PENC_KEYS)) == BT_STATUS_SUCCESS) && !btif_gatt_is_link_encrypted(bd_addr)) { BTIF_TRACE_DEBUG("%s: transport = %d", __func__, transport_link); BTA_DmSetEncryption(bd_addr, transport_link, &btif_gatt_set_encryption_cb, Loading
system/btif/src/btif_storage.cc +12 −10 Original line number Diff line number Diff line Loading @@ -474,11 +474,11 @@ static void btif_read_le_key(const uint8_t key_type, const size_t key_len, CHECK(device_added); CHECK(key_found); char buffer[100]; memset(buffer, 0, sizeof(buffer)); tBTA_LE_KEY_VALUE key; memset(&key, 0, sizeof(key)); if (btif_storage_get_ble_bonding_key(&bd_addr, key_type, buffer, key_len) == BT_STATUS_SUCCESS) { if (btif_storage_get_ble_bonding_key(&bd_addr, key_type, (uint8_t*)&key, key_len) == BT_STATUS_SUCCESS) { if (add_key) { if (!*device_added) { BTA_DmAddBleDevice(bd_addr, addr_type, BT_DEVICE_TYPE_BLE); Loading @@ -487,7 +487,7 @@ static void btif_read_le_key(const uint8_t key_type, const size_t key_len, BTIF_TRACE_DEBUG("%s() Adding key type %d for %s", __func__, key_type, bd_addr.ToString().c_str()); BTA_DmAddBleKey(bd_addr, (tBTA_LE_KEY_VALUE*)buffer, key_type); BTA_DmAddBleKey(bd_addr, &key, key_type); } *key_found = true; Loading Loading @@ -933,7 +933,8 @@ bt_status_t btif_storage_load_bonded_devices(void) { ******************************************************************************/ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, char* key, uint8_t key_type, const uint8_t* key, uint8_t key_type, uint8_t key_length) { const char* name; switch (key_type) { Loading @@ -958,8 +959,8 @@ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, default: return BT_STATUS_FAIL; } int ret = btif_config_set_bin(remote_bd_addr->ToString().c_str(), name, (const uint8_t*)key, key_length); int ret = btif_config_set_bin(remote_bd_addr->ToString().c_str(), name, key, key_length); btif_config_save(); return ret ? BT_STATUS_SUCCESS : BT_STATUS_FAIL; } Loading @@ -975,7 +976,8 @@ bt_status_t btif_storage_add_ble_bonding_key(RawAddress* remote_bd_addr, * ******************************************************************************/ bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, uint8_t key_type, char* key_value, uint8_t key_type, uint8_t* key_value, int key_length) { const char* name; switch (key_type) { Loading @@ -1001,7 +1003,7 @@ bt_status_t btif_storage_get_ble_bonding_key(RawAddress* remote_bd_addr, } size_t length = key_length; int ret = btif_config_get_bin(remote_bd_addr->ToString().c_str(), name, (uint8_t*)key_value, &length); key_value, &length); return ret ? BT_STATUS_SUCCESS : BT_STATUS_FAIL; } Loading