system/bt
リビジョン | d77d75ba53d84f480aeb303ef648e74d8e298c19 (tree) |
---|---|
日時 | 2019-09-19 09:13:14 |
作者 | Ugo Yu <ugoyu@goog...> |
コミッター | Max Spector |
DO NOT MERGE Store BLE keys using the address from the ble_auth_cmpl_evt
Reading the peer address from btif_dm_ble_auth_cmpl_evt, instead
of using the value from the pairing control block in
btif_dm_save_ble_bonding_keys, ensures that BLE keys are stored with
the correct address.
Bug: 133234174
Bug: 79703832
Test: 1. Initiate crosskey pairing from BLE
Change-Id: I18b4a1d8e2cdcd6dd4a300f1dc9e6d3892a3baff
(cherry picked from commit 0d95651e8b22b1012f1ee103e4a0b8665a0c17d4)
(cherry picked from commit a65f859b17745fcaee79d55333808d9d589b0187)
@@ -100,7 +100,7 @@ void btif_dm_load_ble_local_keys(void); | ||
100 | 100 | void btif_dm_get_ble_local_keys(tBTA_DM_BLE_LOCAL_KEY_MASK* p_key_mask, |
101 | 101 | BT_OCTET16 er, |
102 | 102 | tBTA_BLE_LOCAL_ID_KEYS* p_id_keys); |
103 | -void btif_dm_save_ble_bonding_keys(void); | |
103 | +void btif_dm_save_ble_bonding_keys(RawAddress& bd_addr); | |
104 | 104 | void btif_dm_remove_ble_bonding_keys(void); |
105 | 105 | void btif_dm_ble_sec_req_evt(tBTA_DM_BLE_SEC_REQ* p_ble_req); |
106 | 106 |
@@ -2869,7 +2869,7 @@ static void btif_dm_ble_auth_cmpl_evt(tBTA_DM_AUTH_CMPL* p_auth_cmpl) { | ||
2869 | 2869 | btif_storage_remove_bonded_device(&bdaddr); |
2870 | 2870 | state = BT_BOND_STATE_NONE; |
2871 | 2871 | } else { |
2872 | - btif_dm_save_ble_bonding_keys(); | |
2872 | + btif_dm_save_ble_bonding_keys(bdaddr); | |
2873 | 2873 | BTA_GATTC_Refresh(bd_addr); |
2874 | 2874 | btif_dm_get_remote_services_by_transport(&bd_addr, BTA_GATT_TRANSPORT_LE); |
2875 | 2875 | } |
@@ -2942,11 +2942,9 @@ void btif_dm_get_ble_local_keys(tBTA_DM_BLE_LOCAL_KEY_MASK* p_key_mask, | ||
2942 | 2942 | BTIF_TRACE_DEBUG("%s *p_key_mask=0x%02x", __func__, *p_key_mask); |
2943 | 2943 | } |
2944 | 2944 | |
2945 | -void btif_dm_save_ble_bonding_keys(void) { | |
2945 | +void btif_dm_save_ble_bonding_keys(RawAddress& bd_addr) { | |
2946 | 2946 | BTIF_TRACE_DEBUG("%s", __func__); |
2947 | 2947 | |
2948 | - RawAddress bd_addr = pairing_cb.bd_addr; | |
2949 | - | |
2950 | 2948 | if (pairing_cb.ble.is_penc_key_rcvd) { |
2951 | 2949 | btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.penc_key, |
2952 | 2950 | BTIF_DM_LE_KEY_PENC, |