Loading system/stack/btm/btm_sec.cc +4 −2 Original line number Diff line number Diff line Loading @@ -707,6 +707,7 @@ void BTM_PINCodeReply(const RawAddress& bd_addr, tBTM_STATUS res, * Note: After 2.1 parameters are not used and preserved here not to change API ******************************************************************************/ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin) { tBTM_SEC_DEV_REC* p_dev_rec; Loading Loading @@ -771,7 +772,7 @@ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, btm_ble_init_pseudo_addr(p_dev_rec, bd_addr); p_dev_rec->sec_flags &= ~BTM_SEC_LE_MASK; if (SMP_Pair(bd_addr) == SMP_STARTED) { if (SMP_Pair(bd_addr, addr_type) == SMP_STARTED) { btm_cb.pairing_flags |= BTM_PAIR_FLAGS_LE_ACTIVE; p_dev_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING; btm_sec_change_pairing_state(BTM_PAIR_STATE_WAIT_AUTH_COMPLETE); Loading Loading @@ -897,7 +898,8 @@ tBTM_STATUS BTM_SecBond(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, (dev_type & BT_DEVICE_TYPE_BREDR) == 0)) { return BTM_ILLEGAL_ACTION; } return btm_sec_bond_by_transport(bd_addr, transport, pin_len, p_pin); return btm_sec_bond_by_transport(bd_addr, addr_type, transport, pin_len, p_pin); } /******************************************************************************* Loading system/stack/btm/btm_sec.h +1 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ void BTM_PINCodeReply(const RawAddress& bd_addr, tBTM_STATUS res, * Note: After 2.1 parameters are not used and preserved here not to change API ******************************************************************************/ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin); Loading system/stack/btm/security_device_record.h +1 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,7 @@ struct tBTM_SEC_DEV_REC { const Octet16& link_key, uint8_t key_type); friend tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin); uint8_t pin_code_length; /* Length of the pin_code used for paring */ Loading system/stack/include/smp_api.h +2 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ extern bool SMP_Register(tSMP_CALLBACK* p_cback); * ******************************************************************************/ extern tSMP_STATUS SMP_Pair(const RawAddress& bd_addr); extern tSMP_STATUS SMP_Pair(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type); /******************************************************************************* * Loading system/stack/smp/smp_api.cc +9 −1 Original line number Diff line number Diff line Loading @@ -140,7 +140,7 @@ bool SMP_Register(tSMP_CALLBACK* p_cback) { * Returns None * ******************************************************************************/ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { tSMP_STATUS SMP_Pair(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type) { LOG_ASSERT(!bluetooth::shim::is_gd_shim_enabled()) << "Legacy SMP API should not be invoked when GD Security is used"; tSMP_CB* p_cb = &smp_cb; Loading @@ -157,6 +157,10 @@ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { p_cb->flags = SMP_PAIR_FLAGS_WE_STARTED_DD; p_cb->pairing_bda = bd_addr; p_cb->pairing_ble_bd_addr = { .type = addr_type, .bda = bd_addr, }; if (!L2CA_ConnectFixedChnl(L2CAP_SMP_CID, bd_addr)) { tSMP_INT_DATA smp_int_data; smp_int_data.status = SMP_PAIR_INTERNAL_ERR; Loading @@ -170,6 +174,10 @@ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { } } tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { return SMP_Pair(bd_addr, BLE_ADDR_PUBLIC); } /******************************************************************************* * * Function SMP_BR_PairWith Loading Loading
system/stack/btm/btm_sec.cc +4 −2 Original line number Diff line number Diff line Loading @@ -707,6 +707,7 @@ void BTM_PINCodeReply(const RawAddress& bd_addr, tBTM_STATUS res, * Note: After 2.1 parameters are not used and preserved here not to change API ******************************************************************************/ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin) { tBTM_SEC_DEV_REC* p_dev_rec; Loading Loading @@ -771,7 +772,7 @@ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, btm_ble_init_pseudo_addr(p_dev_rec, bd_addr); p_dev_rec->sec_flags &= ~BTM_SEC_LE_MASK; if (SMP_Pair(bd_addr) == SMP_STARTED) { if (SMP_Pair(bd_addr, addr_type) == SMP_STARTED) { btm_cb.pairing_flags |= BTM_PAIR_FLAGS_LE_ACTIVE; p_dev_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING; btm_sec_change_pairing_state(BTM_PAIR_STATE_WAIT_AUTH_COMPLETE); Loading Loading @@ -897,7 +898,8 @@ tBTM_STATUS BTM_SecBond(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, (dev_type & BT_DEVICE_TYPE_BREDR) == 0)) { return BTM_ILLEGAL_ACTION; } return btm_sec_bond_by_transport(bd_addr, transport, pin_len, p_pin); return btm_sec_bond_by_transport(bd_addr, addr_type, transport, pin_len, p_pin); } /******************************************************************************* Loading
system/stack/btm/btm_sec.h +1 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ void BTM_PINCodeReply(const RawAddress& bd_addr, tBTM_STATUS res, * Note: After 2.1 parameters are not used and preserved here not to change API ******************************************************************************/ tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin); Loading
system/stack/btm/security_device_record.h +1 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,7 @@ struct tBTM_SEC_DEV_REC { const Octet16& link_key, uint8_t key_type); friend tBTM_STATUS btm_sec_bond_by_transport(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type, tBT_TRANSPORT transport, uint8_t pin_len, uint8_t* p_pin); uint8_t pin_code_length; /* Length of the pin_code used for paring */ Loading
system/stack/include/smp_api.h +2 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ extern bool SMP_Register(tSMP_CALLBACK* p_cback); * ******************************************************************************/ extern tSMP_STATUS SMP_Pair(const RawAddress& bd_addr); extern tSMP_STATUS SMP_Pair(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type); /******************************************************************************* * Loading
system/stack/smp/smp_api.cc +9 −1 Original line number Diff line number Diff line Loading @@ -140,7 +140,7 @@ bool SMP_Register(tSMP_CALLBACK* p_cback) { * Returns None * ******************************************************************************/ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { tSMP_STATUS SMP_Pair(const RawAddress& bd_addr, tBLE_ADDR_TYPE addr_type) { LOG_ASSERT(!bluetooth::shim::is_gd_shim_enabled()) << "Legacy SMP API should not be invoked when GD Security is used"; tSMP_CB* p_cb = &smp_cb; Loading @@ -157,6 +157,10 @@ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { p_cb->flags = SMP_PAIR_FLAGS_WE_STARTED_DD; p_cb->pairing_bda = bd_addr; p_cb->pairing_ble_bd_addr = { .type = addr_type, .bda = bd_addr, }; if (!L2CA_ConnectFixedChnl(L2CAP_SMP_CID, bd_addr)) { tSMP_INT_DATA smp_int_data; smp_int_data.status = SMP_PAIR_INTERNAL_ERR; Loading @@ -170,6 +174,10 @@ tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { } } tSMP_STATUS SMP_Pair(const RawAddress& bd_addr) { return SMP_Pair(bd_addr, BLE_ADDR_PUBLIC); } /******************************************************************************* * * Function SMP_BR_PairWith Loading