Loading system/bta/ag/bta_ag_rfc.cc +1 −2 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ void bta_ag_start_servers(tBTA_AG_SCB* p_scb, tBTA_SERVICE_MASK services) { int status = RFCOMM_CreateConnectionWithSecurity( bta_ag_uuid[i], bta_ag_cb.profile[i].scn, true, BTA_AG_MTU, RawAddress::kAny, &(p_scb->serv_handle[i]), bta_ag_mgmt_cback_tbl[management_callback_index], bta_ag_sec_id[i], bta_ag_mgmt_cback_tbl[management_callback_index], BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); if (status == PORT_SUCCESS) { bta_ag_setup_port(p_scb, p_scb->serv_handle[i]); Loading Loading @@ -335,7 +335,6 @@ void bta_ag_rfc_do_open(tBTA_AG_SCB* p_scb, const tBTA_AG_DATA& data) { bta_ag_uuid[p_scb->conn_service], p_scb->peer_scn, false, BTA_AG_MTU, p_scb->peer_addr, &(p_scb->conn_handle), bta_ag_mgmt_cback_tbl[management_callback_index], bta_ag_sec_id[p_scb->conn_service], BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); APPL_TRACE_DEBUG( "%s: p_scb=0x%08x, conn_handle=%d, mgmt_cback_index=%d," Loading system/bta/ag/bta_ag_sdp.cc +2 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "sdp_api.h" #include "stack/btm/btm_sec.h" #include "stack/include/btu.h" #include "stack/include/port_api.h" #include "utl.h" using bluetooth::Uuid; Loading Loading @@ -273,7 +274,7 @@ void bta_ag_del_records(tBTA_AG_SCB* p_scb) { bta_ag_cb.profile[i].sdp_handle = 0; } BTM_FreeSCN(bta_ag_cb.profile[i].scn); BTM_SecClrService(bta_ag_sec_id[i]); RFCOMM_ClearSecurityRecord(bta_ag_cb.profile[i].scn); bta_sys_remove_uuid(bta_ag_uuid[i]); } } Loading system/bta/hf_client/bta_hf_client_rfc.cc +2 −3 Original line number Diff line number Diff line Loading @@ -185,8 +185,7 @@ void bta_hf_client_start_server() { port_status = RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_HF_HANDSFREE, bta_hf_client_cb_arr.scn, true, BTA_HF_CLIENT_MTU, RawAddress::kAny, &(bta_hf_client_cb_arr.serv_handle), bta_hf_client_mgmt_cback, BTM_SEC_SERVICE_HF_HANDSFREE, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); bta_hf_client_mgmt_cback, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); APPL_TRACE_DEBUG("%s: started rfcomm server with handle %d", __func__, bta_hf_client_cb_arr.serv_handle); Loading Loading @@ -243,7 +242,7 @@ void bta_hf_client_rfc_do_open(tBTA_HF_CLIENT_DATA* p_data) { if (RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_HF_HANDSFREE, client_cb->peer_scn, false, BTA_HF_CLIENT_MTU, client_cb->peer_addr, &(client_cb->conn_handle), bta_hf_client_mgmt_cback, BTM_SEC_SERVICE_HF_HANDSFREE, bta_hf_client_mgmt_cback, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT) == PORT_SUCCESS) { bta_hf_client_setup_port(client_cb->conn_handle); APPL_TRACE_DEBUG("bta_hf_client_rfc_do_open : conn_handle = %d", Loading system/bta/hf_client/bta_hf_client_sdp.cc +2 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include "osi/include/osi.h" #include "osi/include/properties.h" #include "stack/btm/btm_sec.h" #include "stack/include/port_api.h" using bluetooth::Uuid; Loading Loading @@ -205,7 +206,7 @@ void bta_hf_client_del_record(tBTA_HF_CLIENT_CB_ARR* client_cb) { SDP_DeleteRecord(client_cb->sdp_handle); client_cb->sdp_handle = 0; BTM_FreeSCN(client_cb->scn); BTM_SecClrService(BTM_SEC_SERVICE_HF_HANDSFREE); RFCOMM_ClearSecurityRecord(client_cb->scn); bta_sys_remove_uuid(UUID_SERVCLASS_HF_HANDSFREE); } } Loading system/bta/jv/bta_jv_act.cc +7 −34 Original line number Diff line number Diff line Loading @@ -292,14 +292,14 @@ static tBTA_JV_STATUS bta_jv_free_rfc_cb(tBTA_JV_RFC_CB* p_cb, p_pcb->handle = 0; p_cb->curr_sess--; if (p_cb->curr_sess == 0) { RFCOMM_ClearSecurityRecord(p_cb->scn); p_cb->scn = 0; bta_jv_free_sec_id(&p_cb->sec_id); p_cb->p_cback = NULL; p_cb->handle = 0; p_cb->curr_sess = -1; } if (remove_server) { bta_jv_free_sec_id(&p_cb->sec_id); RFCOMM_ClearSecurityRecord(p_cb->scn); } } return status; Loading Loading @@ -1271,22 +1271,13 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = bta_jv_alloc_sec_id(); tBTA_JV_RFCOMM_CL_INIT evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.sec_id = sec_id; evt_data.status = BTA_JV_SUCCESS; if (0 == sec_id) { evt_data.status = BTA_JV_FAILURE; LOG(ERROR) << __func__ << ": sec_id=" << +sec_id << " is zero, remote_scn:" << +remote_scn; } if (evt_data.status == BTA_JV_SUCCESS && RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_SERIAL_PORT, remote_scn, false, BTA_JV_DEF_RFC_MTU, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback, sec_id, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback, sec_mask) != PORT_SUCCESS) { LOG(ERROR) << __func__ << ": RFCOMM_CreateConnection failed"; evt_data.status = BTA_JV_FAILURE; Loading @@ -1296,7 +1287,6 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, tBTA_JV_RFC_CB* p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); if (p_cb) { p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = 0; p_pcb->state = BTA_JV_ST_CL_OPENING; p_pcb->rfcomm_slot_id = rfcomm_slot_id; Loading @@ -1322,7 +1312,7 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, bta_jv.rfc_cl_init = evt_data; p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_cl_init.status == BTA_JV_FAILURE) { if (sec_id) bta_jv_free_sec_id(&sec_id); RFCOMM_ClearSecurityRecord(remote_scn); if (handle) RFCOMM_RemoveConnection(handle); } } Loading Loading @@ -1364,8 +1354,6 @@ void bta_jv_rfcomm_close(uint32_t handle, uint32_t rfcomm_slot_id) { if (!find_rfc_pcb(rfcomm_slot_id, &p_cb, &p_pcb)) return; bta_jv_free_rfc_cb(p_cb, p_pcb); VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); } /******************************************************************************* Loading Loading @@ -1574,28 +1562,17 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, uint16_t handle = 0; uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = 0; tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb; tBTA_JV_RFCOMM_START evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.status = BTA_JV_FAILURE; VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); do { sec_id = bta_jv_alloc_sec_id(); if (0 == sec_id) { LOG(ERROR) << __func__ << ": run out of sec_id"; break; } if (RFCOMM_CreateConnectionWithSecurity( sec_id, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback, sec_id, sec_mask) != PORT_SUCCESS) { 0, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback, sec_mask) != PORT_SUCCESS) { LOG(ERROR) << __func__ << ": RFCOMM_CreateConnection failed"; break; } Loading @@ -1608,13 +1585,11 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, p_cb->max_sess = max_session; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = local_scn; p_pcb->state = BTA_JV_ST_SR_LISTEN; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.status = BTA_JV_SUCCESS; evt_data.handle = p_cb->handle; evt_data.sec_id = sec_id; evt_data.use_co = true; PORT_ClearKeepHandleFlag(handle); Loading @@ -1633,7 +1608,7 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, if (bta_jv.rfc_start.status == BTA_JV_SUCCESS) { PORT_SetDataCOCallback(handle, bta_jv_port_data_co_cback); } else { if (sec_id) bta_jv_free_sec_id(&sec_id); RFCOMM_ClearSecurityRecord(local_scn); if (handle) RFCOMM_RemoveConnection(handle); } } Loading @@ -1653,8 +1628,6 @@ void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id) { VLOG(2) << __func__ << ": p_pcb=" << p_pcb << ", p_pcb->port_handle=" << p_pcb->port_handle; bta_jv_free_rfc_cb(p_cb, p_pcb); VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); } /* write data to an RFCOMM connection */ Loading Loading
system/bta/ag/bta_ag_rfc.cc +1 −2 Original line number Diff line number Diff line Loading @@ -260,7 +260,7 @@ void bta_ag_start_servers(tBTA_AG_SCB* p_scb, tBTA_SERVICE_MASK services) { int status = RFCOMM_CreateConnectionWithSecurity( bta_ag_uuid[i], bta_ag_cb.profile[i].scn, true, BTA_AG_MTU, RawAddress::kAny, &(p_scb->serv_handle[i]), bta_ag_mgmt_cback_tbl[management_callback_index], bta_ag_sec_id[i], bta_ag_mgmt_cback_tbl[management_callback_index], BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); if (status == PORT_SUCCESS) { bta_ag_setup_port(p_scb, p_scb->serv_handle[i]); Loading Loading @@ -335,7 +335,6 @@ void bta_ag_rfc_do_open(tBTA_AG_SCB* p_scb, const tBTA_AG_DATA& data) { bta_ag_uuid[p_scb->conn_service], p_scb->peer_scn, false, BTA_AG_MTU, p_scb->peer_addr, &(p_scb->conn_handle), bta_ag_mgmt_cback_tbl[management_callback_index], bta_ag_sec_id[p_scb->conn_service], BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); APPL_TRACE_DEBUG( "%s: p_scb=0x%08x, conn_handle=%d, mgmt_cback_index=%d," Loading
system/bta/ag/bta_ag_sdp.cc +2 −1 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include "sdp_api.h" #include "stack/btm/btm_sec.h" #include "stack/include/btu.h" #include "stack/include/port_api.h" #include "utl.h" using bluetooth::Uuid; Loading Loading @@ -273,7 +274,7 @@ void bta_ag_del_records(tBTA_AG_SCB* p_scb) { bta_ag_cb.profile[i].sdp_handle = 0; } BTM_FreeSCN(bta_ag_cb.profile[i].scn); BTM_SecClrService(bta_ag_sec_id[i]); RFCOMM_ClearSecurityRecord(bta_ag_cb.profile[i].scn); bta_sys_remove_uuid(bta_ag_uuid[i]); } } Loading
system/bta/hf_client/bta_hf_client_rfc.cc +2 −3 Original line number Diff line number Diff line Loading @@ -185,8 +185,7 @@ void bta_hf_client_start_server() { port_status = RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_HF_HANDSFREE, bta_hf_client_cb_arr.scn, true, BTA_HF_CLIENT_MTU, RawAddress::kAny, &(bta_hf_client_cb_arr.serv_handle), bta_hf_client_mgmt_cback, BTM_SEC_SERVICE_HF_HANDSFREE, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); bta_hf_client_mgmt_cback, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT); APPL_TRACE_DEBUG("%s: started rfcomm server with handle %d", __func__, bta_hf_client_cb_arr.serv_handle); Loading Loading @@ -243,7 +242,7 @@ void bta_hf_client_rfc_do_open(tBTA_HF_CLIENT_DATA* p_data) { if (RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_HF_HANDSFREE, client_cb->peer_scn, false, BTA_HF_CLIENT_MTU, client_cb->peer_addr, &(client_cb->conn_handle), bta_hf_client_mgmt_cback, BTM_SEC_SERVICE_HF_HANDSFREE, bta_hf_client_mgmt_cback, BTA_SEC_AUTHENTICATE | BTA_SEC_ENCRYPT) == PORT_SUCCESS) { bta_hf_client_setup_port(client_cb->conn_handle); APPL_TRACE_DEBUG("bta_hf_client_rfc_do_open : conn_handle = %d", Loading
system/bta/hf_client/bta_hf_client_sdp.cc +2 −1 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ #include "osi/include/osi.h" #include "osi/include/properties.h" #include "stack/btm/btm_sec.h" #include "stack/include/port_api.h" using bluetooth::Uuid; Loading Loading @@ -205,7 +206,7 @@ void bta_hf_client_del_record(tBTA_HF_CLIENT_CB_ARR* client_cb) { SDP_DeleteRecord(client_cb->sdp_handle); client_cb->sdp_handle = 0; BTM_FreeSCN(client_cb->scn); BTM_SecClrService(BTM_SEC_SERVICE_HF_HANDSFREE); RFCOMM_ClearSecurityRecord(client_cb->scn); bta_sys_remove_uuid(UUID_SERVCLASS_HF_HANDSFREE); } } Loading
system/bta/jv/bta_jv_act.cc +7 −34 Original line number Diff line number Diff line Loading @@ -292,14 +292,14 @@ static tBTA_JV_STATUS bta_jv_free_rfc_cb(tBTA_JV_RFC_CB* p_cb, p_pcb->handle = 0; p_cb->curr_sess--; if (p_cb->curr_sess == 0) { RFCOMM_ClearSecurityRecord(p_cb->scn); p_cb->scn = 0; bta_jv_free_sec_id(&p_cb->sec_id); p_cb->p_cback = NULL; p_cb->handle = 0; p_cb->curr_sess = -1; } if (remove_server) { bta_jv_free_sec_id(&p_cb->sec_id); RFCOMM_ClearSecurityRecord(p_cb->scn); } } return status; Loading Loading @@ -1271,22 +1271,13 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = bta_jv_alloc_sec_id(); tBTA_JV_RFCOMM_CL_INIT evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.sec_id = sec_id; evt_data.status = BTA_JV_SUCCESS; if (0 == sec_id) { evt_data.status = BTA_JV_FAILURE; LOG(ERROR) << __func__ << ": sec_id=" << +sec_id << " is zero, remote_scn:" << +remote_scn; } if (evt_data.status == BTA_JV_SUCCESS && RFCOMM_CreateConnectionWithSecurity( UUID_SERVCLASS_SERIAL_PORT, remote_scn, false, BTA_JV_DEF_RFC_MTU, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback, sec_id, peer_bd_addr, &handle, bta_jv_port_mgmt_cl_cback, sec_mask) != PORT_SUCCESS) { LOG(ERROR) << __func__ << ": RFCOMM_CreateConnection failed"; evt_data.status = BTA_JV_FAILURE; Loading @@ -1296,7 +1287,6 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, tBTA_JV_RFC_CB* p_cb = bta_jv_alloc_rfc_cb(handle, &p_pcb); if (p_cb) { p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = 0; p_pcb->state = BTA_JV_ST_CL_OPENING; p_pcb->rfcomm_slot_id = rfcomm_slot_id; Loading @@ -1322,7 +1312,7 @@ void bta_jv_rfcomm_connect(tBTA_SEC sec_mask, uint8_t remote_scn, bta_jv.rfc_cl_init = evt_data; p_cback(BTA_JV_RFCOMM_CL_INIT_EVT, &bta_jv, rfcomm_slot_id); if (bta_jv.rfc_cl_init.status == BTA_JV_FAILURE) { if (sec_id) bta_jv_free_sec_id(&sec_id); RFCOMM_ClearSecurityRecord(remote_scn); if (handle) RFCOMM_RemoveConnection(handle); } } Loading Loading @@ -1364,8 +1354,6 @@ void bta_jv_rfcomm_close(uint32_t handle, uint32_t rfcomm_slot_id) { if (!find_rfc_pcb(rfcomm_slot_id, &p_cb, &p_pcb)) return; bta_jv_free_rfc_cb(p_cb, p_pcb); VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); } /******************************************************************************* Loading Loading @@ -1574,28 +1562,17 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, uint16_t handle = 0; uint32_t event_mask = BTA_JV_RFC_EV_MASK; tPORT_STATE port_state; uint8_t sec_id = 0; tBTA_JV_RFC_CB* p_cb = NULL; tBTA_JV_PCB* p_pcb; tBTA_JV_RFCOMM_START evt_data; memset(&evt_data, 0, sizeof(evt_data)); evt_data.status = BTA_JV_FAILURE; VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); do { sec_id = bta_jv_alloc_sec_id(); if (0 == sec_id) { LOG(ERROR) << __func__ << ": run out of sec_id"; break; } if (RFCOMM_CreateConnectionWithSecurity( sec_id, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback, sec_id, sec_mask) != PORT_SUCCESS) { 0, local_scn, true, BTA_JV_DEF_RFC_MTU, RawAddress::kAny, &handle, bta_jv_port_mgmt_sr_cback, sec_mask) != PORT_SUCCESS) { LOG(ERROR) << __func__ << ": RFCOMM_CreateConnection failed"; break; } Loading @@ -1608,13 +1585,11 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, p_cb->max_sess = max_session; p_cb->p_cback = p_cback; p_cb->sec_id = sec_id; p_cb->scn = local_scn; p_pcb->state = BTA_JV_ST_SR_LISTEN; p_pcb->rfcomm_slot_id = rfcomm_slot_id; evt_data.status = BTA_JV_SUCCESS; evt_data.handle = p_cb->handle; evt_data.sec_id = sec_id; evt_data.use_co = true; PORT_ClearKeepHandleFlag(handle); Loading @@ -1633,7 +1608,7 @@ void bta_jv_rfcomm_start_server(tBTA_SEC sec_mask, uint8_t local_scn, if (bta_jv.rfc_start.status == BTA_JV_SUCCESS) { PORT_SetDataCOCallback(handle, bta_jv_port_data_co_cback); } else { if (sec_id) bta_jv_free_sec_id(&sec_id); RFCOMM_ClearSecurityRecord(local_scn); if (handle) RFCOMM_RemoveConnection(handle); } } Loading @@ -1653,8 +1628,6 @@ void bta_jv_rfcomm_stop_server(uint32_t handle, uint32_t rfcomm_slot_id) { VLOG(2) << __func__ << ": p_pcb=" << p_pcb << ", p_pcb->port_handle=" << p_pcb->port_handle; bta_jv_free_rfc_cb(p_cb, p_pcb); VLOG(2) << __func__ << ": sec id in use=" << get_sec_id_used() << ", rfc_cb in use=" << get_rfc_cb_used(); } /* write data to an RFCOMM connection */ Loading