Loading system/stack/btm/btm_sec.cc +17 −21 Original line number Diff line number Diff line Loading @@ -1785,9 +1785,8 @@ tBTM_STATUS btm_sec_l2cap_access_req(const RawAddress& bd_addr, uint16_t psm, * Returns BTM_CMD_STARTED * ******************************************************************************/ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data) { tBTM_SEC_DEV_REC* p_dev_rec; Loading @@ -1798,8 +1797,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, L2CAP connection */ if (bluetooth::shim::is_gd_shim_enabled()) { return bluetooth::shim::btm_sec_mx_access_request( bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } BTM_TRACE_DEBUG("%s() is_originator: %d", __func__, is_originator); Loading @@ -1807,8 +1806,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, p_dev_rec = btm_find_or_alloc_dev(bd_addr); /* Find the service record for the PSM */ p_serv_rec = btm_sec_find_mx_serv(is_originator, psm, mx_proto_id, mx_chan_id); p_serv_rec = btm_sec_find_mx_serv(is_originator, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, mx_chan_id); /* If there is no application registered with this PSM do not allow connection */ Loading @@ -1816,9 +1815,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, if (p_callback) (*p_callback)(&bd_addr, transport, p_ref_data, BTM_MODE_UNSUPPORTED); BTM_TRACE_ERROR( "Security Manager: MX service not found PSM:%d Proto:%d SCN:%d", psm, mx_proto_id, mx_chan_id); BTM_TRACE_ERROR("Security Manager: MX service not found SCN:%d", mx_chan_id); return BTM_NO_RESOURCES; } Loading @@ -1829,9 +1827,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, /* we will process one after another */ if ((p_dev_rec->p_callback) || (btm_cb.pairing_state != BTM_PAIR_STATE_IDLE)) { BTM_TRACE_EVENT("%s() service PSM:%d Proto:%d SCN:%d delayed state: %s", __func__, psm, mx_proto_id, mx_chan_id, btm_pair_state_descr(btm_cb.pairing_state)); BTM_TRACE_EVENT("%s() service SCN:%d delayed state: %s", __func__, mx_chan_id, btm_pair_state_descr(btm_cb.pairing_state)); rc = BTM_CMD_STARTED; Loading Loading @@ -1883,8 +1880,9 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, } if (rc == BTM_CMD_STARTED) { BTM_TRACE_EVENT("%s: call btm_sec_queue_mx_request", __func__); btm_sec_queue_mx_request(bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); btm_sec_queue_mx_request(bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } else /* rc == BTM_SUCCESS */ { /* access granted */ Loading Loading @@ -1950,11 +1948,10 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, p_dev_rec->p_ref_data = p_ref_data; BTM_TRACE_EVENT( "%s() proto_id:%d chan_id:%d State:%d Flags:0x%x Required:0x%x Service " "%s() chan_id:%d State:%d Flags:0x%x Required:0x%x Service " "ID:%d", __func__, mx_proto_id, mx_chan_id, p_dev_rec->sec_state, p_dev_rec->sec_flags, p_dev_rec->security_required, p_dev_rec->p_cur_service->service_id); __func__, mx_chan_id, p_dev_rec->sec_state, p_dev_rec->sec_flags, p_dev_rec->security_required, p_dev_rec->p_cur_service->service_id); rc = btm_sec_execute_procedure(p_dev_rec); if (rc != BTM_CMD_STARTED) { Loading Loading @@ -2137,8 +2134,7 @@ void btm_sec_check_pending_reqs(void) { "%s PSM:0x%04x Is_Orig:%u mx_proto_id:%u mx_chan_id:%u", __func__, p_e->psm, p_e->is_orig, p_e->mx_proto_id, p_e->mx_chan_id); btm_sec_mx_access_request(p_e->bd_addr, p_e->psm, p_e->is_orig, p_e->mx_proto_id, p_e->mx_chan_id, btm_sec_mx_access_request(p_e->bd_addr, p_e->is_orig, p_e->mx_chan_id, p_e->p_callback, p_e->p_ref_data); } else { BTM_SetEncryption(p_e->bd_addr, p_e->transport, p_e->p_callback, Loading system/stack/btm/btm_sec.h +2 −3 Original line number Diff line number Diff line Loading @@ -424,9 +424,8 @@ tBTM_STATUS btm_sec_l2cap_access_req(const RawAddress& bd_addr, uint16_t psm, * Returns BTM_CMD_STARTED * ******************************************************************************/ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data); Loading system/stack/rfcomm/rfc_port_fsm.cc +4 −5 Original line number Diff line number Diff line Loading @@ -120,9 +120,9 @@ void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) { switch (event) { case RFC_EVENT_OPEN: p_port->rfc.state = RFC_STATE_ORIG_WAIT_SEC_CHECK; btm_sec_mx_access_request( p_port->rfc.p_mcb->bd_addr, BT_PSM_RFCOMM, true, BTM_SEC_PROTO_RFCOMM, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, true, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); return; case RFC_EVENT_CLOSE: Loading @@ -142,8 +142,7 @@ void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) { /* Open will be continued after security checks are passed */ p_port->rfc.state = RFC_STATE_TERM_WAIT_SEC_CHECK; btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, BT_PSM_RFCOMM, false, BTM_SEC_PROTO_RFCOMM, btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, false, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); return; Loading system/stack/test/common/mock_btm_layer.cc +4 −5 Original line number Diff line number Diff line Loading @@ -30,14 +30,13 @@ void btm_sec_abort_access_req(const RawAddress& bd_addr) { btm_security_internal_interface->AbortAccessRequest(bd_addr); } tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data) { return btm_security_internal_interface->MultiplexingProtocolAccessRequest( bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } bool BTM_SetSecurityLevel(bool is_originator, const char* p_name, Loading Loading
system/stack/btm/btm_sec.cc +17 −21 Original line number Diff line number Diff line Loading @@ -1785,9 +1785,8 @@ tBTM_STATUS btm_sec_l2cap_access_req(const RawAddress& bd_addr, uint16_t psm, * Returns BTM_CMD_STARTED * ******************************************************************************/ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data) { tBTM_SEC_DEV_REC* p_dev_rec; Loading @@ -1798,8 +1797,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, L2CAP connection */ if (bluetooth::shim::is_gd_shim_enabled()) { return bluetooth::shim::btm_sec_mx_access_request( bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } BTM_TRACE_DEBUG("%s() is_originator: %d", __func__, is_originator); Loading @@ -1807,8 +1806,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, p_dev_rec = btm_find_or_alloc_dev(bd_addr); /* Find the service record for the PSM */ p_serv_rec = btm_sec_find_mx_serv(is_originator, psm, mx_proto_id, mx_chan_id); p_serv_rec = btm_sec_find_mx_serv(is_originator, BT_PSM_RFCOMM, BTM_SEC_PROTO_RFCOMM, mx_chan_id); /* If there is no application registered with this PSM do not allow connection */ Loading @@ -1816,9 +1815,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, if (p_callback) (*p_callback)(&bd_addr, transport, p_ref_data, BTM_MODE_UNSUPPORTED); BTM_TRACE_ERROR( "Security Manager: MX service not found PSM:%d Proto:%d SCN:%d", psm, mx_proto_id, mx_chan_id); BTM_TRACE_ERROR("Security Manager: MX service not found SCN:%d", mx_chan_id); return BTM_NO_RESOURCES; } Loading @@ -1829,9 +1827,8 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, /* we will process one after another */ if ((p_dev_rec->p_callback) || (btm_cb.pairing_state != BTM_PAIR_STATE_IDLE)) { BTM_TRACE_EVENT("%s() service PSM:%d Proto:%d SCN:%d delayed state: %s", __func__, psm, mx_proto_id, mx_chan_id, btm_pair_state_descr(btm_cb.pairing_state)); BTM_TRACE_EVENT("%s() service SCN:%d delayed state: %s", __func__, mx_chan_id, btm_pair_state_descr(btm_cb.pairing_state)); rc = BTM_CMD_STARTED; Loading Loading @@ -1883,8 +1880,9 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, } if (rc == BTM_CMD_STARTED) { BTM_TRACE_EVENT("%s: call btm_sec_queue_mx_request", __func__); btm_sec_queue_mx_request(bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); btm_sec_queue_mx_request(bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } else /* rc == BTM_SUCCESS */ { /* access granted */ Loading Loading @@ -1950,11 +1948,10 @@ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, p_dev_rec->p_ref_data = p_ref_data; BTM_TRACE_EVENT( "%s() proto_id:%d chan_id:%d State:%d Flags:0x%x Required:0x%x Service " "%s() chan_id:%d State:%d Flags:0x%x Required:0x%x Service " "ID:%d", __func__, mx_proto_id, mx_chan_id, p_dev_rec->sec_state, p_dev_rec->sec_flags, p_dev_rec->security_required, p_dev_rec->p_cur_service->service_id); __func__, mx_chan_id, p_dev_rec->sec_state, p_dev_rec->sec_flags, p_dev_rec->security_required, p_dev_rec->p_cur_service->service_id); rc = btm_sec_execute_procedure(p_dev_rec); if (rc != BTM_CMD_STARTED) { Loading Loading @@ -2137,8 +2134,7 @@ void btm_sec_check_pending_reqs(void) { "%s PSM:0x%04x Is_Orig:%u mx_proto_id:%u mx_chan_id:%u", __func__, p_e->psm, p_e->is_orig, p_e->mx_proto_id, p_e->mx_chan_id); btm_sec_mx_access_request(p_e->bd_addr, p_e->psm, p_e->is_orig, p_e->mx_proto_id, p_e->mx_chan_id, btm_sec_mx_access_request(p_e->bd_addr, p_e->is_orig, p_e->mx_chan_id, p_e->p_callback, p_e->p_ref_data); } else { BTM_SetEncryption(p_e->bd_addr, p_e->transport, p_e->p_callback, Loading
system/stack/btm/btm_sec.h +2 −3 Original line number Diff line number Diff line Loading @@ -424,9 +424,8 @@ tBTM_STATUS btm_sec_l2cap_access_req(const RawAddress& bd_addr, uint16_t psm, * Returns BTM_CMD_STARTED * ******************************************************************************/ tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data); Loading
system/stack/rfcomm/rfc_port_fsm.cc +4 −5 Original line number Diff line number Diff line Loading @@ -120,9 +120,9 @@ void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) { switch (event) { case RFC_EVENT_OPEN: p_port->rfc.state = RFC_STATE_ORIG_WAIT_SEC_CHECK; btm_sec_mx_access_request( p_port->rfc.p_mcb->bd_addr, BT_PSM_RFCOMM, true, BTM_SEC_PROTO_RFCOMM, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, true, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); return; case RFC_EVENT_CLOSE: Loading @@ -142,8 +142,7 @@ void rfc_port_sm_state_closed(tPORT* p_port, uint16_t event, void* p_data) { /* Open will be continued after security checks are passed */ p_port->rfc.state = RFC_STATE_TERM_WAIT_SEC_CHECK; btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, BT_PSM_RFCOMM, false, BTM_SEC_PROTO_RFCOMM, btm_sec_mx_access_request(p_port->rfc.p_mcb->bd_addr, false, (uint32_t)(p_port->dlci / 2), &rfc_sec_check_complete, p_port); return; Loading
system/stack/test/common/mock_btm_layer.cc +4 −5 Original line number Diff line number Diff line Loading @@ -30,14 +30,13 @@ void btm_sec_abort_access_req(const RawAddress& bd_addr) { btm_security_internal_interface->AbortAccessRequest(bd_addr); } tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, uint16_t psm, bool is_originator, uint32_t mx_proto_id, uint32_t mx_chan_id, tBTM_STATUS btm_sec_mx_access_request(const RawAddress& bd_addr, bool is_originator, uint32_t mx_chan_id, tBTM_SEC_CALLBACK* p_callback, void* p_ref_data) { return btm_security_internal_interface->MultiplexingProtocolAccessRequest( bd_addr, psm, is_originator, mx_proto_id, mx_chan_id, p_callback, p_ref_data); bd_addr, BT_PSM_RFCOMM, is_originator, BTM_SEC_PROTO_RFCOMM, mx_chan_id, p_callback, p_ref_data); } bool BTM_SetSecurityLevel(bool is_originator, const char* p_name, Loading