Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 09d9355e authored by Zach Johnson's avatar Zach Johnson Committed by Gerrit Code Review
Browse files

Merge changes Ifad48ac1,Iec6e7550,I68ff2112,Ibb875781,Iae859fcc, ...

* changes:
  BTM_SEC_OUT_FLAGS used to include authorized
  this used to check for authorized
  Remove always false expressions
  This expression is also never true
  This condition is never true
  Simpify boolean expression
  Remove useless redefinition BTM_SEC_FLAG_AUTHORIZED
  BTM_SEC_OUT_AUTHENTICATE is never set, only checked or removed
  BTM_SEC_IN_AUTHORIZE is never set, only checked or removed
  Remove BTA_AV_WITH_AVCTP_AUTHORIZATION
  BTA_SEC_AUTHENTICATE does not include authorization
  Flatten bta_av_cb.sec_mask
  The security mask is always BTA_SEC_AUTHENTICATE
  Internalize BTA_AvEnable's security mask
  Flatten BTA_SEC_AUTHORIZE
parents 5a2a4f19 957d589f
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -844,7 +844,6 @@ void bta_av_do_disc_a2dp(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) {
  }
  /* store peer addr other parameters */
  bta_av_save_addr(p_scb, p_data->api_open.bd_addr);
  p_scb->sec_mask = p_data->api_open.sec_mask;
  p_scb->use_rc = p_data->api_open.use_rc;

  bta_sys_app_open(BTA_ID_AV, p_scb->app_id, p_scb->PeerAddress());
@@ -1405,7 +1404,7 @@ void bta_av_connect_req(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    return;
  }

  AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
  AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                  &bta_av_proc_stream_evt);
}

@@ -2697,7 +2696,7 @@ void bta_av_rcfg_connect(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    /* let bta_av_rcfg_failed report fail */
    bta_av_rcfg_failed(p_scb, NULL);
  } else {
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                    &bta_av_proc_stream_evt);
  }
}
@@ -2729,7 +2728,7 @@ void bta_av_rcfg_discntd(tBTA_AV_SCB* p_scb, UNUSED_ATTR tBTA_AV_DATA* p_data) {
    /* report close event & go to init state */
    bta_av_ssm_execute(p_scb, BTA_AV_STR_DISC_FAIL_EVT, NULL);
  } else {
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, p_scb->sec_mask,
    AVDT_ConnectReq(p_scb->PeerAddress(), p_scb->hdi, BTA_SEC_AUTHENTICATE,
                    &bta_av_proc_stream_evt);
  }
}
+5 −8
Original line number Diff line number Diff line
@@ -59,8 +59,7 @@ static const tBTA_SYS_REG bta_av_reg = {bta_av_hdl_event, BTA_AvDisable};
 * Returns          void
 *
 ******************************************************************************/
void BTA_AvEnable(tBTA_SEC sec_mask, tBTA_AV_FEAT features,
                  tBTA_AV_CBACK* p_cback) {
void BTA_AvEnable(tBTA_AV_FEAT features, tBTA_AV_CBACK* p_cback) {
  tBTA_AV_API_ENABLE* p_buf =
      (tBTA_AV_API_ENABLE*)osi_malloc(sizeof(tBTA_AV_API_ENABLE));

@@ -70,7 +69,6 @@ void BTA_AvEnable(tBTA_SEC sec_mask, tBTA_AV_FEAT features,
  p_buf->hdr.event = BTA_AV_API_ENABLE_EVT;
  p_buf->p_cback = p_cback;
  p_buf->features = features;
  p_buf->sec_mask = sec_mask;

  bta_sys_sendmsg(p_buf);
}
@@ -155,10 +153,10 @@ void BTA_AvDeregister(tBTA_AV_HNDL hndl) {
 *
 ******************************************************************************/
void BTA_AvOpen(const RawAddress& bd_addr, tBTA_AV_HNDL handle, bool use_rc,
                tBTA_SEC sec_mask, uint16_t uuid) {
  LOG_INFO("%s: peer %s bta_handle:0x%x use_rc=%s sec_mask=0x%x uuid=0x%x",
           __func__, bd_addr.ToString().c_str(), handle,
           (use_rc) ? "true" : "false", sec_mask, uuid);
                uint16_t uuid) {
  LOG_INFO("%s: peer %s bta_handle:0x%x use_rc=%s uuid=0x%x", __func__,
           bd_addr.ToString().c_str(), handle, (use_rc) ? "true" : "false",
           uuid);

  tBTA_AV_API_OPEN* p_buf =
      (tBTA_AV_API_OPEN*)osi_malloc(sizeof(tBTA_AV_API_OPEN));
@@ -167,7 +165,6 @@ void BTA_AvOpen(const RawAddress& bd_addr, tBTA_AV_HNDL handle, bool use_rc,
  p_buf->hdr.layer_specific = handle;
  p_buf->bd_addr = bd_addr;
  p_buf->use_rc = use_rc;
  p_buf->sec_mask = sec_mask;
  p_buf->switch_res = BTA_AV_RS_NONE;
  p_buf->uuid = uuid;

+0 −3
Original line number Diff line number Diff line
@@ -215,7 +215,6 @@ typedef struct {
  BT_HDR hdr;
  tBTA_AV_CBACK* p_cback;
  tBTA_AV_FEAT features;
  tBTA_SEC sec_mask;
} tBTA_AV_API_ENABLE;

/* data type for BTA_AV_API_REGISTER_EVT */
@@ -239,7 +238,6 @@ typedef struct {
  BT_HDR hdr;
  RawAddress bd_addr;
  bool use_rc;
  tBTA_SEC sec_mask;
  tBTA_AV_RS_RES switch_res;
  uint16_t uuid; /* uuid of initiator */
} tBTA_AV_API_OPEN;
@@ -470,7 +468,6 @@ struct tBTA_AV_SCB final {
  alarm_t* avrc_ct_timer;                   /* delay timer for AVRC CT */
  uint16_t l2c_cid;                         /* L2CAP channel ID */
  uint16_t stream_mtu;                      /* MTU of stream */
  tBTA_SEC sec_mask;          /* security mask */
  uint8_t media_type;         /* Media type: AVDT_MEDIA_TYPE_* */
  bool cong;                  /* true if AVDTP congested */
  tBTA_AV_STATUS open_status; /* open failure status */
+6 −24
Original line number Diff line number Diff line
@@ -271,7 +271,6 @@ static void bta_av_api_enable(tBTA_AV_DATA* p_data) {
  /* store parameters */
  bta_av_cb.p_cback = p_data->api_enable.p_cback;
  bta_av_cb.features = p_data->api_enable.features;
  bta_av_cb.sec_mask = p_data->api_enable.sec_mask;

  tBTA_AV_ENABLE enable;
  enable.features = bta_av_cb.features;
@@ -505,12 +504,11 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
  char* p_service_name;
  tBTA_UTL_COD cod;

  if (bta_av_cb.disabling ||
      (bta_av_cb.features == 0 && bta_av_cb.sec_mask == 0)) {
  if (bta_av_cb.disabling || (bta_av_cb.features == 0)) {
    APPL_TRACE_WARNING(
        "%s: AV instance (features=%#x, sec_mask=%#x, reg_audio=%#x) is not "
        "%s: AV instance (features=%#x, reg_audio=%#x) is not "
        "ready for app_id %d",
        __func__, bta_av_cb.features, bta_av_cb.sec_mask, bta_av_cb.reg_audio,
        __func__, bta_av_cb.features, bta_av_cb.reg_audio,
        p_data->api_reg.app_id);
    tBTA_AV_API_REG* p_buf =
        (tBTA_AV_API_REG*)osi_malloc(sizeof(tBTA_AV_API_REG));
@@ -568,7 +566,7 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      reg.ret_tout = BTA_AV_RET_TOUT;
      reg.sig_tout = BTA_AV_SIG_TOUT;
      reg.idle_tout = BTA_AV_IDLE_TOUT;
      reg.sec_mask = bta_av_cb.sec_mask;
      reg.sec_mask = BTA_SEC_AUTHENTICATE;
      reg.scb_index = p_scb->hdi;
#if (BTA_AR_INCLUDED == TRUE)
      bta_ar_reg_avdt(&reg, bta_av_conn_cback, BTA_ID_AV);
@@ -579,14 +577,8 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
      if (bta_av_cb.features & (BTA_AV_FEAT_RCTG)) {
/* register with no authorization; let AVDTP use authorization instead */
#if (BTA_AR_INCLUDED == TRUE)
#if (BTA_AV_WITH_AVCTP_AUTHORIZATION == TRUE)
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                        bta_av_cb.sec_mask, BTA_ID_AV);
#else
        bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                        (uint8_t)(bta_av_cb.sec_mask & (~BTA_SEC_AUTHORIZE)),
                        BTA_ID_AV);
#endif
                        BTA_SEC_AUTHENTICATE, BTA_ID_AV);

        /* For the Audio Sink role we support additional TG to support
         * absolute volume.
@@ -736,14 +728,8 @@ static void bta_av_api_register(tBTA_AV_DATA* p_data) {
        /* if TG is not supported, we need to register to AVCT now */
        if ((bta_av_cb.features & (BTA_AV_FEAT_RCTG)) == 0) {
#if (BTA_AR_INCLUDED == TRUE)
#if (BTA_AV_WITH_AVCTP_AUTHORIZATION == TRUE)
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                          bta_av_cb.sec_mask, BTA_ID_AV);
#else
          bta_ar_reg_avct(p_bta_av_cfg->avrc_mtu, p_bta_av_cfg->avrc_br_mtu,
                          (uint8_t)(bta_av_cb.sec_mask & (~BTA_SEC_AUTHORIZE)),
                          BTA_ID_AV);
#endif
                          BTA_SEC_AUTHENTICATE, BTA_ID_AV);
#endif
          bta_av_rc_create(&bta_av_cb, AVCT_ACP, 0, BTA_AV_NUM_LINKS + 1);
        }
@@ -1451,7 +1437,6 @@ void bta_debug_av_dump(int fd) {
  dprintf(fd, "  SDP A2DP source handle: %d\n", bta_av_cb.sdp_a2dp_handle);
  dprintf(fd, "  SDP A2DP sink handle: %d\n", bta_av_cb.sdp_a2dp_snk_handle);
  dprintf(fd, "  Features: 0x%x\n", bta_av_cb.features);
  dprintf(fd, "  Security mask: 0x%x\n", bta_av_cb.sec_mask);
  dprintf(fd, "  SDP handle: %d\n", bta_av_cb.handle);
  dprintf(fd, "  Disabling: %s\n", bta_av_cb.disabling ? "true" : "false");
  dprintf(fd, "  SCO occupied: %s\n",
@@ -1501,21 +1486,18 @@ void bta_debug_av_dump(int fd) {
            p_scb->q_info.open.bd_addr.ToString().c_str());
    dprintf(fd, "      Use AVRCP: %s\n",
            p_scb->q_info.open.use_rc ? "true" : "false");
    dprintf(fd, "      Security mask: 0x%x\n", p_scb->q_info.open.sec_mask);
    dprintf(fd, "      Switch result: %d\n", p_scb->q_info.open.switch_res);
    dprintf(fd, "      Initiator UUID: 0x%x\n", p_scb->q_info.open.uuid);
    dprintf(fd, "    Saved API Open peer: %s\n",
            p_scb->open_api.bd_addr.ToString().c_str());
    dprintf(fd, "      Use AVRCP: %s\n",
            p_scb->open_api.use_rc ? "true" : "false");
    dprintf(fd, "      Security mask: 0x%x\n", p_scb->open_api.sec_mask);
    dprintf(fd, "      Switch result: %d\n", p_scb->open_api.switch_res);
    dprintf(fd, "      Initiator UUID: 0x%x\n", p_scb->open_api.uuid);
    // TODO: Print p_scb->sep_info[], cfg, avrc_ct_timer, current_codec ?
    dprintf(fd, "    L2CAP Channel ID: %d\n", p_scb->l2c_cid);
    dprintf(fd, "    Stream MTU: %d\n", p_scb->stream_mtu);
    dprintf(fd, "    AVDTP version: 0x%x\n", p_scb->AvdtpVersion());
    dprintf(fd, "    Security mask: 0x%x\n", p_scb->sec_mask);
    dprintf(fd, "    Media type: %d\n", p_scb->media_type);
    dprintf(fd, "    Congested: %s\n", p_scb->cong ? "true" : "false");
    dprintf(fd, "    Open status: %d\n", p_scb->open_status);
+0 −3
Original line number Diff line number Diff line
@@ -140,9 +140,6 @@ typedef uint32_t tBTA_SERVICE_MASK;

/* Security Setting Mask */
#define BTA_SEC_NONE BTM_SEC_NONE /* No security. */
#define BTA_SEC_AUTHORIZE                                               \
  (BTM_SEC_IN_AUTHORIZE) /* Authorization required (only needed for out \
                            going connection )*/
#define BTA_SEC_AUTHENTICATE \
  (BTM_SEC_IN_AUTHENTICATE | \
   BTM_SEC_OUT_AUTHENTICATE) /* Authentication required. */
Loading