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

Commit 42b9fe08 authored by Hui Peng's avatar Hui Peng
Browse files

Replace More Address Logging Statement to Hide Address

Test: refactoring CL. Existing unit tests still pass
Bug: 174487588
Tag: #security
Change-Id: I4a1e628e9adc88474a196f8158829f2170094d79
parent ef50ee79
Loading
Loading
Loading
Loading
+50 −34
Original line number Diff line number Diff line
@@ -168,14 +168,15 @@ class CsisClientImpl : public CsisClient {

  void OnGroupAddedCb(const RawAddress& address, const bluetooth::Uuid& uuid,
                      int group_id) {
    DLOG(INFO) << __func__ << " address: " << address << " uuid: " << uuid
    DLOG(INFO) << __func__ << " address: " << ADDRESS_TO_LOGGABLE_STR(address)
               << " uuid: " << uuid
               << " group_id: " << group_id;

    AssignCsisGroup(address, group_id, true, uuid);
  }

  void OnGroupMemberAddedCb(const RawAddress& address, int group_id) {
    DLOG(INFO) << __func__ << " address: " << address
    DLOG(INFO) << __func__ << " address: " << ADDRESS_TO_LOGGABLE_STR(address)
               << " group_id: " << group_id;

    AssignCsisGroup(address, group_id, false, Uuid::kEmpty);
@@ -186,7 +187,8 @@ class CsisClientImpl : public CsisClient {
  }

  void OnGroupMemberRemovedCb(const RawAddress& address, int group_id) {
    DLOG(INFO) << __func__ << ": " << address << " group_id: " << group_id;
    DLOG(INFO) << __func__ << ": " << ADDRESS_TO_LOGGABLE_STR(address)
               << " group_id: " << group_id;

    auto device = FindDeviceByAddress(address);
    if (device) RemoveCsisDevice(device, group_id);
@@ -206,7 +208,8 @@ class CsisClientImpl : public CsisClient {

    if (!csis_group->IsDeviceInTheGroup(device)) {
      LOG(ERROR) << __func__ << "the csis group (id: " << group_id
                 << ") does contain the device: " << address;
                 << ") does contain the device: "
                 << ADDRESS_TO_LOGGABLE_STR(address);
      return;
    }

@@ -216,7 +219,7 @@ class CsisClientImpl : public CsisClient {

    auto csis_instance = device->GetCsisInstanceByGroupId(group_id);
    if (!csis_instance) {
      LOG(ERROR) << __func__ << " device: " << address
      LOG(ERROR) << __func__ << " device: " << ADDRESS_TO_LOGGABLE_STR(address)
                 << " does not have the rank info for group (id:" << group_id
                 << " )";
      return;
@@ -228,7 +231,7 @@ class CsisClientImpl : public CsisClient {
  }

  void Connect(const RawAddress& address) override {
    DLOG(INFO) << __func__ << ": " << address;
    DLOG(INFO) << __func__ << ": " << ADDRESS_TO_LOGGABLE_STR(address);

    auto device = FindDeviceByAddress(address);
    if (device == nullptr) {
@@ -241,13 +244,14 @@ class CsisClientImpl : public CsisClient {
  }

  void Disconnect(const RawAddress& addr) override {
    DLOG(INFO) << __func__ << ": " << addr;
    DLOG(INFO) << __func__ << ": " << ADDRESS_TO_LOGGABLE_STR(addr);

    btif_storage_set_csis_autoconnect(addr, false);

    auto device = FindDeviceByAddress(addr);
    if (device == nullptr) {
      LOG(WARNING) << "Device not connected to profile" << addr;
      LOG(WARNING) << "Device not connected to profile"
                   << ADDRESS_TO_LOGGABLE_STR(addr);
      return;
    }

@@ -261,7 +265,7 @@ class CsisClientImpl : public CsisClient {
  }

  void RemoveDevice(const RawAddress& addr) override {
    DLOG(INFO) << __func__ << ": " << addr;
    DLOG(INFO) << __func__ << ": " << ADDRESS_TO_LOGGABLE_STR(addr);

    auto device = FindDeviceByAddress(addr);
    if (!device) return;
@@ -398,7 +402,7 @@ class CsisClientImpl : public CsisClient {
    std::vector<uint8_t> value = {
        (std::underlying_type<CsisLockState>::type)lock};

    LOG(INFO) << __func__ << " " << device->addr
    LOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr)
              << " rank: " << int(csis_instance->GetRank()) << " conn_id "
              << device->conn_id << " handle "
              << loghex(+(csis_instance->svc_data.lock_handle.val_hdl));
@@ -539,16 +543,19 @@ class CsisClientImpl : public CsisClient {
  bool SerializeSets(const RawAddress& addr, std::vector<uint8_t>& out) const {
    auto device = FindDeviceByAddress(addr);
    if (device == nullptr) {
      LOG(WARNING) << __func__ << " Skipping unknown device addr= " << addr;
      LOG(WARNING) << __func__ << " Skipping unknown device addr= "
                   << ADDRESS_TO_LOGGABLE_STR(addr);
      return false;
    }

    if (device->GetNumberOfCsisInstances() == 0) {
      LOG(WARNING) << __func__ << " No CSIS instances for addr= " << addr;
      LOG(WARNING) << __func__ << " No CSIS instances for addr= "
                   << ADDRESS_TO_LOGGABLE_STR(addr);
      return false;
    }

    DLOG(INFO) << __func__ << ": device=" << device->addr;
    DLOG(INFO) << __func__ << ": device="
               << ADDRESS_TO_LOGGABLE_STR(device->addr);

    auto num_sets = device->GetNumberOfCsisInstances();
    if ((num_sets == 0) || (num_sets > std::numeric_limits<uint8_t>::max()))
@@ -692,7 +699,8 @@ class CsisClientImpl : public CsisClient {
      for (auto& device : devices_) {
        if (!g->IsDeviceInTheGroup(device)) continue;

        stream << "        == addr: " << device->addr << " ==\n"
        stream << "        == addr: "
               << ADDRESS_TO_LOGGABLE_STR(device->addr) << " ==\n"
               << "        csis instance: data:"
               << "\n";

@@ -781,7 +789,7 @@ class CsisClientImpl : public CsisClient {

  /* Handle encryption */
  void OnEncrypted(std::shared_ptr<CsisDevice>& device) {
    DLOG(INFO) << __func__ << " " << device->addr;
    DLOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr);

    if (device->is_gatt_service_valid) {
      NotifyCsisDeviceValidAndStoreIfNeeded(device);
@@ -956,7 +964,7 @@ class CsisClientImpl : public CsisClient {
      return;
    }

    DLOG(INFO) << __func__ << " " << device->addr
    DLOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr)
               << " status: " << loghex(+status);

    if (status != GATT_SUCCESS) {
@@ -1000,7 +1008,7 @@ class CsisClientImpl : public CsisClient {
      return;
    }

    LOG(INFO) << __func__ << " " << device->addr
    LOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr)
              << " status: " << loghex(+status);

    if (status != GATT_SUCCESS) {
@@ -1035,7 +1043,7 @@ class CsisClientImpl : public CsisClient {
      return;
    }

    DLOG(INFO) << __func__ << " " << device->addr
    DLOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr)
               << " status: " << loghex(+status) << " rank:" << int(value[0]);

    if (status != GATT_SUCCESS) {
@@ -1089,7 +1097,8 @@ class CsisClientImpl : public CsisClient {
           Octet16& sirk) {
    tBTM_SEC_DEV_REC* p_dev_rec = btm_find_dev(address);
    if (!p_dev_rec) {
      LOG(ERROR) << __func__ << " No security for " << address;
      LOG(ERROR) << __func__ << " No security for "
                 << ADDRESS_TO_LOGGABLE_STR(address);
      return false;
    }

@@ -1151,7 +1160,8 @@ class CsisClientImpl : public CsisClient {
  void OnActiveScanResult(const tBTA_DM_INQ_RES* result) {
    auto csis_device = FindDeviceByAddress(result->bd_addr);
    if (csis_device) {
      DLOG(INFO) << __func__ << " Drop same device .." << result->bd_addr;
      DLOG(INFO) << __func__ << " Drop same device .."
                 << ADDRESS_TO_LOGGABLE_STR(result->bd_addr);
      return;
    }

@@ -1171,7 +1181,8 @@ class CsisClientImpl : public CsisClient {
          return csis_group->IsRsiMatching(rsi);
        });
    if (discovered_group_rsi != all_rsi.cend()) {
      DLOG(INFO) << "Found set member " << result->bd_addr;
      DLOG(INFO) << "Found set member "
                 << ADDRESS_TO_LOGGABLE_STR(result->bd_addr);
      callbacks_->OnSetMemberAvailable(result->bd_addr,
                                       csis_group->GetGroupId());

@@ -1241,7 +1252,7 @@ class CsisClientImpl : public CsisClient {
      }

      LOG_INFO("Device %s from inquiry cache match to group id %d",
               address.ToString().c_str(), csis_group->GetGroupId());
               ADDRESS_TO_LOGGABLE_CSTR(address), csis_group->GetGroupId());
      callbacks_->OnSetMemberAvailable(address, csis_group->GetGroupId());
      break;
    }
@@ -1336,7 +1347,7 @@ class CsisClientImpl : public CsisClient {
      return;
    }

    DLOG(INFO) << __func__ << " " << device->addr
    DLOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(device->addr)
               << " status: " << loghex(+status);

    if (status != GATT_SUCCESS) {
@@ -1429,7 +1440,7 @@ class CsisClientImpl : public CsisClient {
    if (notify_valid_services) NotifyCsisDeviceValidAndStoreIfNeeded(device);

    DLOG(INFO) << " SIRK " << base::HexEncode(received_sirk.data(), 16)
               << " address" << device->addr;
               << " address" << ADDRESS_TO_LOGGABLE_STR(device->addr);

    DLOG(INFO) << " Expected group size "
               << loghex(csis_group->GetDesiredSize())
@@ -1442,7 +1453,7 @@ class CsisClientImpl : public CsisClient {
  }

  void DoDisconnectCleanUp(std::shared_ptr<CsisDevice> device) {
    DLOG(INFO) << __func__ << ": device=" << device->addr;
    DLOG(INFO) << __func__ << ": device=" << ADDRESS_TO_LOGGABLE_STR(device->addr);

    device->ForEachCsisInstance(
        [&](const std::shared_ptr<CsisInstance>& csis_inst) {
@@ -1648,12 +1659,14 @@ class CsisClientImpl : public CsisClient {
  }

  void OnGattConnected(const tBTA_GATTC_OPEN& evt) {
    DLOG(INFO) << __func__ << ": address=" << evt.remote_bda
    DLOG(INFO) << __func__ << ": address="
               << ADDRESS_TO_LOGGABLE_STR(evt.remote_bda)
               << ", conn_id=" << evt.conn_id;

    auto device = FindDeviceByAddress(evt.remote_bda);
    if (device == nullptr) {
      DLOG(WARNING) << "Skipping unknown device, address=" << evt.remote_bda;
      DLOG(WARNING) << "Skipping unknown device, address="
                    << ADDRESS_TO_LOGGABLE_STR(evt.remote_bda);
      BTA_GATTC_Close(evt.conn_id);
      return;
    }
@@ -1705,7 +1718,8 @@ class CsisClientImpl : public CsisClient {
      return;
    }

    DLOG(INFO) << __func__ << ": device=" << device->addr;
    DLOG(INFO) << __func__ << ": device="
               << ADDRESS_TO_LOGGABLE_STR(device->addr);

    callbacks_->OnConnectionState(evt.remote_bda,
                                  ConnectionState::DISCONNECTED);
@@ -1825,10 +1839,11 @@ class CsisClientImpl : public CsisClient {
  }

  void OnLeEncryptionComplete(const RawAddress& address, uint8_t status) {
    DLOG(INFO) << __func__ << " " << address;
    DLOG(INFO) << __func__ << " " << ADDRESS_TO_LOGGABLE_STR(address);
    auto device = FindDeviceByAddress(address);
    if (device == nullptr) {
      LOG(WARNING) << "Skipping unknown device" << address;
      LOG(WARNING) << "Skipping unknown device"
                   << ADDRESS_TO_LOGGABLE_STR(address);
      return;
    }

@@ -1851,11 +1866,12 @@ class CsisClientImpl : public CsisClient {
  void OnGattServiceChangeEvent(const RawAddress& address) {
    auto device = FindDeviceByAddress(address);
    if (!device) {
      LOG(WARNING) << "Skipping unknown device" << address;
      LOG(WARNING) << "Skipping unknown device"
                   << ADDRESS_TO_LOGGABLE_STR(address);
      return;
    }

    DLOG(INFO) << __func__ << ": address=" << address;
    DLOG(INFO) << __func__ << ": address=" << ADDRESS_TO_LOGGABLE_STR(address);

    /* Invalidate service discovery results */
    BtaGattQueue::Clean(device->conn_id);
@@ -1866,11 +1882,11 @@ class CsisClientImpl : public CsisClient {
  void OnGattServiceDiscoveryDoneEvent(const RawAddress& address) {
    auto device = FindDeviceByAddress(address);
    if (!device) {
      LOG(WARNING) << "Skipping unknown device" << address;
      LOG(WARNING) << "Skipping unknown device" << ADDRESS_TO_LOGGABLE_STR(address);
      return;
    }

    DLOG(INFO) << __func__ << ": address=" << address;
    DLOG(INFO) << __func__ << ": address=" << ADDRESS_TO_LOGGABLE_STR(address);

    if (!device->is_gatt_service_valid)
      BTA_GATTC_ServiceSearchRequest(device->conn_id, &kCsisServiceUuid);
+2 −1
Original line number Diff line number Diff line
@@ -249,7 +249,8 @@ class CsisDevice : public GattServiceDevice {
    }

    csis_instances_.insert({handle, csis_instance});
    DLOG(INFO) << __func__ << " instance added: " << loghex(handle) << "device: " << addr;
    DLOG(INFO) << __func__ << " instance added: " << loghex(handle)
               << "device: " << ADDRESS_TO_LOGGABLE_STR(addr);
  }

  void RemoveCsisInstance(int group_id) {
+4 −3
Original line number Diff line number Diff line
@@ -702,7 +702,8 @@ void bta_dm_add_device(std::unique_ptr<tBTA_DM_API_ADD_DEVICE> msg) {
        BTM_SecAddDevice(msg->bd_addr, p_dc, msg->bd_name, nullptr, p_lc,
                         msg->key_type, msg->pin_length);
    if (!add_result) {
      LOG(ERROR) << "BTA_DM: Error adding device " << msg->bd_addr;
      LOG(ERROR) << "BTA_DM: Error adding device "
                 << ADDRESS_TO_LOGGABLE_STR(msg->bd_addr);
    }
  }
}
@@ -1522,7 +1523,7 @@ void bta_dm_queue_disc(tBTA_DM_MSG* p_data) {
  memcpy(p_pending_discovery, p_data, sizeof(tBTA_DM_API_DISCOVER));

  LOG_INFO("bta_dm_discovery: queuing service discovery to %s",
           p_pending_discovery->discover.bd_addr.ToString().c_str());
           ADDRESS_TO_LOGGABLE_CSTR(p_pending_discovery->discover.bd_addr));
  fixed_queue_enqueue(bta_dm_search_cb.pending_discovery_queue,
                      p_pending_discovery);
}
@@ -1744,7 +1745,7 @@ static void bta_dm_discover_device(const RawAddress& remote_bd_addr) {
    transport = bta_dm_search_cb.transport;
  }

  VLOG(1) << __func__ << " BDA: " << remote_bd_addr;
  VLOG(1) << __func__ << " BDA: " << ADDRESS_TO_LOGGABLE_STR(remote_bd_addr);

  bta_dm_search_cb.peer_bdaddr = remote_bd_addr;

+5 −3
Original line number Diff line number Diff line
@@ -727,7 +727,7 @@ tGATT_STATUS BTA_GATTC_DeregisterForNotifications(tGATT_IF client_if,
  tBTA_GATTC_RCB* p_clreg = bta_gattc_cl_get_regcb(client_if);
  if (p_clreg == NULL) {
    LOG(ERROR) << __func__ << " client_if=" << +client_if
               << " not registered bd_addr=" << bda;
               << " not registered bd_addr=" << ADDRESS_TO_LOGGABLE_STR(bda);
    return GATT_ILLEGAL_PARAMETER;
  }

@@ -735,13 +735,15 @@ tGATT_STATUS BTA_GATTC_DeregisterForNotifications(tGATT_IF client_if,
    if (p_clreg->notif_reg[i].in_use &&
        p_clreg->notif_reg[i].remote_bda == bda &&
        p_clreg->notif_reg[i].handle == handle) {
      VLOG(1) << __func__ << " deregistered bd_addr=" << bda;
      VLOG(1) << __func__ << " deregistered bd_addr="
              << ADDRESS_TO_LOGGABLE_STR(bda);
      memset(&p_clreg->notif_reg[i], 0, sizeof(tBTA_GATTC_NOTIF_REG));
      return GATT_SUCCESS;
    }
  }

  LOG(ERROR) << __func__ << " registration not found bd_addr=" << bda;
  LOG(ERROR) << __func__ << " registration not found bd_addr="
             << ADDRESS_TO_LOGGABLE_STR(bda);
  return GATT_ERROR;
}

+2 −2
Original line number Diff line number Diff line
@@ -405,7 +405,7 @@ BtaEnqueuedResult_t bta_gattc_enqueue(tBTA_GATTC_CLCB* p_clcb,
  LOG_INFO(
      "Already has a pending command to executer. Queuing for later %s conn "
      "id=0x%04x",
      p_clcb->bda.ToString().c_str(), p_clcb->bta_conn_id);
      ADDRESS_TO_LOGGABLE_CSTR(p_clcb->bda), p_clcb->bta_conn_id);
  p_clcb->p_q_cmd_queue.push_back(p_data);

  return ENQUEUED_FOR_LATER;
@@ -519,7 +519,7 @@ bool bta_gattc_mark_bg_conn(tGATT_IF client_if,
  if (!add) {
    LOG(ERROR) << __func__
               << " unable to find the bg connection mask for bd_addr="
               << remote_bda_ptr;
               << ADDRESS_TO_LOGGABLE_STR(remote_bda_ptr);
    return false;
  } else /* adding a new device mask */
  {
Loading