Loading system/bta/dm/bta_dm_act.cc +8 −0 Original line number Diff line number Diff line Loading @@ -3447,6 +3447,14 @@ static uint8_t bta_dm_ble_smp_cback(tBTM_LE_EVT event, const RawAddress& bda, bta_dm_cb.p_sec_cback(BTA_DM_BLE_SC_OOB_REQ_EVT, &sec_event); break; case BTM_LE_SC_LOC_OOB_EVT: tBTA_DM_LOC_OOB_DATA local_oob_data; local_oob_data.local_oob_c = p_data->local_oob_data.commitment; local_oob_data.local_oob_r = p_data->local_oob_data.randomizer; sec_event.local_oob_data = local_oob_data; bta_dm_cb.p_sec_cback(BTA_DM_BLE_SC_CR_LOC_OOB_EVT, &sec_event); break; case BTM_LE_KEY_EVT: sec_event.ble_key.bd_addr = bda; sec_event.ble_key.key_type = p_data->key.key_type; Loading system/bta/include/bta_api.h +8 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,8 @@ typedef uint8_t tBTA_DM_BLE_RSSI_ALERT_TYPE; #define BTA_DM_ENER_INFO_READ 28 /* Energy info read */ #define BTA_DM_BLE_SC_OOB_REQ_EVT 29 /* SMP SC OOB request event */ #define BTA_DM_BLE_CONSENT_REQ_EVT 30 /* SMP consent request event */ #define BTA_DM_BLE_SC_CR_LOC_OOB_EVT \ 31 /* SMP SC Create Local OOB request event */ typedef uint8_t tBTA_DM_SEC_EVT; /* Structure associated with BTA_DM_PIN_REQ_EVT */ Loading Loading @@ -363,6 +365,11 @@ typedef struct { tBTA_STATUS result; /* true of bond cancel succeeded, false if failed. */ } tBTA_DM_BOND_CANCEL_CMPL; typedef struct { Octet16 local_oob_c; /* Local OOB Data Confirmation/Commitment */ Octet16 local_oob_r; /* Local OOB Data Randomizer */ } tBTA_DM_LOC_OOB_DATA; /* Union of all security callback structures */ typedef union { tBTA_DM_PIN_REQ pin_req; /* PIN request. */ Loading @@ -378,6 +385,7 @@ typedef union { tBTA_DM_BLE_KEY ble_key; /* BLE SMP keys used when pairing */ tBTA_BLE_LOCAL_ID_KEYS ble_id_keys; /* IR event */ Octet16 ble_er; /* ER event data */ tBTA_DM_LOC_OOB_DATA local_oob_data; /* Local OOB data generated by us */ } tBTA_DM_SEC; /* Security callback */ Loading system/btif/include/btif_common.h +2 −1 Original line number Diff line number Diff line Loading @@ -208,7 +208,8 @@ void invoke_ssp_request_cb(RawAddress bd_addr, bt_bdname_t bd_name, uint32_t cod, bt_ssp_variant_t pairing_variant, uint32_t pass_key); void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, Octet16 r, RawAddress raw_address); Octet16 r, RawAddress raw_address, uint8_t address_type); void invoke_bond_state_changed_cb(bt_status_t status, RawAddress bd_addr, bt_bond_state_t state); void invoke_acl_state_changed_cb(bt_status_t status, RawAddress bd_addr, Loading system/btif/include/btif_gatt.h +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ #ifndef BTIF_GATT_H #define BTIF_GATT_H #include "include/hardware/bt_gatt.h" extern const btgatt_client_interface_t btgattClientInterface; extern const btgatt_server_interface_t btgattServerInterface; Loading system/btif/src/bluetooth.cc +3 −3 Original line number Diff line number Diff line Loading @@ -739,7 +739,8 @@ void invoke_ssp_request_cb(RawAddress bd_addr, bt_bdname_t bd_name, } void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, Octet16 r, RawAddress raw_address) { Octet16 r, RawAddress raw_address, uint8_t address_type) { LOG_INFO("%s", __func__); bt_oob_data_t oob_data = {}; Loading @@ -749,8 +750,7 @@ void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, oob_data.address[i] = raw_address.address[j]; j--; } // Set type always public oob_data.address[6] = 0; oob_data.address[6] = address_type; // Each value (for C and R) is 16 octets in length bool c_empty = true; Loading Loading
system/bta/dm/bta_dm_act.cc +8 −0 Original line number Diff line number Diff line Loading @@ -3447,6 +3447,14 @@ static uint8_t bta_dm_ble_smp_cback(tBTM_LE_EVT event, const RawAddress& bda, bta_dm_cb.p_sec_cback(BTA_DM_BLE_SC_OOB_REQ_EVT, &sec_event); break; case BTM_LE_SC_LOC_OOB_EVT: tBTA_DM_LOC_OOB_DATA local_oob_data; local_oob_data.local_oob_c = p_data->local_oob_data.commitment; local_oob_data.local_oob_r = p_data->local_oob_data.randomizer; sec_event.local_oob_data = local_oob_data; bta_dm_cb.p_sec_cback(BTA_DM_BLE_SC_CR_LOC_OOB_EVT, &sec_event); break; case BTM_LE_KEY_EVT: sec_event.ble_key.bd_addr = bda; sec_event.ble_key.key_type = p_data->key.key_type; Loading
system/bta/include/bta_api.h +8 −0 Original line number Diff line number Diff line Loading @@ -216,6 +216,8 @@ typedef uint8_t tBTA_DM_BLE_RSSI_ALERT_TYPE; #define BTA_DM_ENER_INFO_READ 28 /* Energy info read */ #define BTA_DM_BLE_SC_OOB_REQ_EVT 29 /* SMP SC OOB request event */ #define BTA_DM_BLE_CONSENT_REQ_EVT 30 /* SMP consent request event */ #define BTA_DM_BLE_SC_CR_LOC_OOB_EVT \ 31 /* SMP SC Create Local OOB request event */ typedef uint8_t tBTA_DM_SEC_EVT; /* Structure associated with BTA_DM_PIN_REQ_EVT */ Loading Loading @@ -363,6 +365,11 @@ typedef struct { tBTA_STATUS result; /* true of bond cancel succeeded, false if failed. */ } tBTA_DM_BOND_CANCEL_CMPL; typedef struct { Octet16 local_oob_c; /* Local OOB Data Confirmation/Commitment */ Octet16 local_oob_r; /* Local OOB Data Randomizer */ } tBTA_DM_LOC_OOB_DATA; /* Union of all security callback structures */ typedef union { tBTA_DM_PIN_REQ pin_req; /* PIN request. */ Loading @@ -378,6 +385,7 @@ typedef union { tBTA_DM_BLE_KEY ble_key; /* BLE SMP keys used when pairing */ tBTA_BLE_LOCAL_ID_KEYS ble_id_keys; /* IR event */ Octet16 ble_er; /* ER event data */ tBTA_DM_LOC_OOB_DATA local_oob_data; /* Local OOB data generated by us */ } tBTA_DM_SEC; /* Security callback */ Loading
system/btif/include/btif_common.h +2 −1 Original line number Diff line number Diff line Loading @@ -208,7 +208,8 @@ void invoke_ssp_request_cb(RawAddress bd_addr, bt_bdname_t bd_name, uint32_t cod, bt_ssp_variant_t pairing_variant, uint32_t pass_key); void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, Octet16 r, RawAddress raw_address); Octet16 r, RawAddress raw_address, uint8_t address_type); void invoke_bond_state_changed_cb(bt_status_t status, RawAddress bd_addr, bt_bond_state_t state); void invoke_acl_state_changed_cb(bt_status_t status, RawAddress bd_addr, Loading
system/btif/include/btif_gatt.h +2 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ #ifndef BTIF_GATT_H #define BTIF_GATT_H #include "include/hardware/bt_gatt.h" extern const btgatt_client_interface_t btgattClientInterface; extern const btgatt_server_interface_t btgattServerInterface; Loading
system/btif/src/bluetooth.cc +3 −3 Original line number Diff line number Diff line Loading @@ -739,7 +739,8 @@ void invoke_ssp_request_cb(RawAddress bd_addr, bt_bdname_t bd_name, } void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, Octet16 r, RawAddress raw_address) { Octet16 r, RawAddress raw_address, uint8_t address_type) { LOG_INFO("%s", __func__); bt_oob_data_t oob_data = {}; Loading @@ -749,8 +750,7 @@ void invoke_oob_data_request_cb(tBT_TRANSPORT t, bool valid, Octet16 c, oob_data.address[i] = raw_address.address[j]; j--; } // Set type always public oob_data.address[6] = 0; oob_data.address[6] = address_type; // Each value (for C and R) is 16 octets in length bool c_empty = true; Loading