Revert "Anonymize bt addresses in listAudioPorts"
This reverts commit 07971a32acb95fe50f5055e81ce32fb0a0cd8872.
Reason for revert: Identified as culprit culprit for b/372111389 - verified through ABTD before revert submission.
Change-Id: I1c6928b676c97f3da4879d9f7680f9aad33a7ba8
diff --git a/media/audioaidlconversion/AidlConversionCppNdk.cpp b/media/audioaidlconversion/AidlConversionCppNdk.cpp
index 890a1c7..01b6e42 100644
--- a/media/audioaidlconversion/AidlConversionCppNdk.cpp
+++ b/media/audioaidlconversion/AidlConversionCppNdk.cpp
@@ -1055,14 +1055,6 @@
return OK;
}
-namespace {
- // Use '01' for LSB bits 0 and 1 as Bluetooth MAC addresses are never multicast
- // and universaly administered
- constexpr std::array<uint8_t, 4> BTANON_PREFIX {0xFD, 0xFF, 0xFF, 0xFF};
- // Keep sync with ServiceUtilities.cpp mustAnonymizeBluetoothAddress
- constexpr const char * BTANON_PREFIX_STR = "XX:XX:XX:XX:";
-}
-
::android::status_t aidl2legacy_AudioDevice_audio_device(
const AudioDevice& aidl,
audio_devices_t* legacyType, std::string* legacyAddress) {
@@ -1077,16 +1069,8 @@
case Tag::mac: {
const std::vector<uint8_t>& mac = aidl.address.get<AudioDeviceAddress::mac>();
if (mac.size() != 6) return BAD_VALUE;
- if (std::equal(BTANON_PREFIX.begin(), BTANON_PREFIX.end(), mac.begin())) {
- // special case for anonymized mac address:
- // change anonymized bytes back from FD:FF:FF:FF: to XX:XX:XX:XX:
- snprintf(addressBuffer, AUDIO_DEVICE_MAX_ADDRESS_LEN,
- "%s%02X:%02X", BTANON_PREFIX_STR, mac[4], mac[5]);
- } else {
- snprintf(addressBuffer, AUDIO_DEVICE_MAX_ADDRESS_LEN,
- "%02X:%02X:%02X:%02X:%02X:%02X",
- mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
- }
+ snprintf(addressBuffer, AUDIO_DEVICE_MAX_ADDRESS_LEN, "%02X:%02X:%02X:%02X:%02X:%02X",
+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
} break;
case Tag::ipv4: {
const std::vector<uint8_t>& ipv4 = aidl.address.get<AudioDeviceAddress::ipv4>();
@@ -1148,20 +1132,8 @@
switch (suggestDeviceAddressTag(aidl.type)) {
case Tag::mac: {
std::vector<uint8_t> mac(6);
- int status;
- // special case for anonymized mac address:
- // change anonymized bytes so that they can be scanned as HEX bytes
- if (legacyAddress.starts_with(BTANON_PREFIX_STR)) {
- std::copy(BTANON_PREFIX.begin(), BTANON_PREFIX.end(), mac.begin());
- LOG_ALWAYS_FATAL_IF(legacyAddress.length() <= strlen(BTANON_PREFIX_STR));
- status = sscanf(legacyAddress.c_str() + strlen(BTANON_PREFIX_STR),
- "%hhX:%hhX",
- &mac[4], &mac[5]);
- status += 4;
- } else {
- status = sscanf(legacyAddress.c_str(), "%hhX:%hhX:%hhX:%hhX:%hhX:%hhX",
- &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
- }
+ int status = sscanf(legacyAddress.c_str(), "%hhX:%hhX:%hhX:%hhX:%hhX:%hhX",
+ &mac[0], &mac[1], &mac[2], &mac[3], &mac[4], &mac[5]);
if (status != mac.size()) {
ALOGE("%s: malformed MAC address: \"%s\"", __func__, legacyAddress.c_str());
return unexpected(BAD_VALUE);