• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

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

      1. Check whether BLE keys are stored correctly

Change-Id: I18b4a1d8e2cdcd6dd4a300f1dc9e6d3892a3baff
(cherry picked from commit 0d95651e8b22b1012f1ee103e4a0b8665a0c17d4)
(cherry picked from commit a65f859b17745fcaee79d55333808d9d589b0187)

変更サマリ

差分

--- a/btif/include/btif_dm.h
+++ b/btif/include/btif_dm.h
@@ -100,7 +100,7 @@ void btif_dm_load_ble_local_keys(void);
100100 void btif_dm_get_ble_local_keys(tBTA_DM_BLE_LOCAL_KEY_MASK* p_key_mask,
101101 BT_OCTET16 er,
102102 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);
104104 void btif_dm_remove_ble_bonding_keys(void);
105105 void btif_dm_ble_sec_req_evt(tBTA_DM_BLE_SEC_REQ* p_ble_req);
106106
--- a/btif/src/btif_dm.cc
+++ b/btif/src/btif_dm.cc
@@ -2869,7 +2869,7 @@ static void btif_dm_ble_auth_cmpl_evt(tBTA_DM_AUTH_CMPL* p_auth_cmpl) {
28692869 btif_storage_remove_bonded_device(&bdaddr);
28702870 state = BT_BOND_STATE_NONE;
28712871 } else {
2872- btif_dm_save_ble_bonding_keys();
2872+ btif_dm_save_ble_bonding_keys(bdaddr);
28732873 BTA_GATTC_Refresh(bd_addr);
28742874 btif_dm_get_remote_services_by_transport(&bd_addr, BTA_GATT_TRANSPORT_LE);
28752875 }
@@ -2942,11 +2942,9 @@ void btif_dm_get_ble_local_keys(tBTA_DM_BLE_LOCAL_KEY_MASK* p_key_mask,
29422942 BTIF_TRACE_DEBUG("%s *p_key_mask=0x%02x", __func__, *p_key_mask);
29432943 }
29442944
2945-void btif_dm_save_ble_bonding_keys(void) {
2945+void btif_dm_save_ble_bonding_keys(RawAddress& bd_addr) {
29462946 BTIF_TRACE_DEBUG("%s", __func__);
29472947
2948- RawAddress bd_addr = pairing_cb.bd_addr;
2949-
29502948 if (pairing_cb.ble.is_penc_key_rcvd) {
29512949 btif_storage_add_ble_bonding_key(&bd_addr, (char*)&pairing_cb.ble.penc_key,
29522950 BTIF_DM_LE_KEY_PENC,