Merge "Scrub TelephonyRegistry of package names on user builds" into rvc-dev

This commit is contained in:
TreeHugger Robot
2020-03-09 17:32:10 +00:00
committed by Android (Google) Code Review

View File

@@ -167,14 +167,13 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
@Override @Override
public String toString() { public String toString() {
return "{callingPackage=" + callingPackage + " binder=" + binder return "{callingPackage=" + pii(callingPackage) + " callerUid=" + callerUid + " binder="
+ " callback=" + callback + binder + " callback=" + callback
+ " onSubscriptionsChangedListenererCallback=" + " onSubscriptionsChangedListenererCallback="
+ onSubscriptionsChangedListenerCallback + onSubscriptionsChangedListenerCallback
+ " onOpportunisticSubscriptionsChangedListenererCallback=" + " onOpportunisticSubscriptionsChangedListenererCallback="
+ onOpportunisticSubscriptionsChangedListenerCallback + onOpportunisticSubscriptionsChangedListenerCallback + " subId=" + subId
+ " callerUid=" + callerUid + " subId=" + subId + " phoneId=" + phoneId + " phoneId=" + phoneId + " events=" + Integer.toHexString(events) + "}";
+ " events=" + Integer.toHexString(events) + "}";
} }
} }
@@ -598,9 +597,9 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
int callerUserId = UserHandle.getCallingUserId(); int callerUserId = UserHandle.getCallingUserId();
mAppOps.checkPackage(Binder.getCallingUid(), callingPackage); mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
if (VDBG) { if (VDBG) {
log("listen oscl: E pkg=" + callingPackage + " myUserId=" + UserHandle.myUserId() log("listen oscl: E pkg=" + pii(callingPackage) + " uid=" + Binder.getCallingUid()
+ " callerUserId=" + callerUserId + " callback=" + callback + " myUserId=" + UserHandle.myUserId() + " callerUserId=" + callerUserId
+ " callback.asBinder=" + callback.asBinder()); + " callback=" + callback + " callback.asBinder=" + callback.asBinder());
} }
synchronized (mRecords) { synchronized (mRecords) {
@@ -652,9 +651,9 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
int callerUserId = UserHandle.getCallingUserId(); int callerUserId = UserHandle.getCallingUserId();
mAppOps.checkPackage(Binder.getCallingUid(), callingPackage); mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
if (VDBG) { if (VDBG) {
log("listen ooscl: E pkg=" + callingPackage + " myUserId=" + UserHandle.myUserId() log("listen ooscl: E pkg=" + pii(callingPackage) + " uid=" + Binder.getCallingUid()
+ " callerUserId=" + callerUserId + " callback=" + callback + " myUserId=" + UserHandle.myUserId() + " callerUserId=" + callerUserId
+ " callback.asBinder=" + callback.asBinder()); + " callback=" + callback + " callback.asBinder=" + callback.asBinder());
} }
synchronized (mRecords) { synchronized (mRecords) {
@@ -769,9 +768,9 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
IPhoneStateListener callback, int events, boolean notifyNow, int subId) { IPhoneStateListener callback, int events, boolean notifyNow, int subId) {
int callerUserId = UserHandle.getCallingUserId(); int callerUserId = UserHandle.getCallingUserId();
mAppOps.checkPackage(Binder.getCallingUid(), callingPackage); mAppOps.checkPackage(Binder.getCallingUid(), callingPackage);
String str = "listen: E pkg=" + callingPackage + " events=0x" + Integer.toHexString(events) String str = "listen: E pkg=" + pii(callingPackage) + " uid=" + Binder.getCallingUid()
+ " notifyNow=" + notifyNow + " subId=" + subId + " myUserId=" + " events=0x" + Integer.toHexString(events) + " notifyNow=" + notifyNow + " subId="
+ UserHandle.myUserId() + " callerUserId=" + callerUserId; + subId + " myUserId=" + UserHandle.myUserId() + " callerUserId=" + callerUserId;
mListenLog.log(str); mListenLog.log(str);
if (VDBG) { if (VDBG) {
log(str); log(str);
@@ -2957,4 +2956,14 @@ public class TelephonyRegistry extends ITelephonyRegistry.Stub {
if (info == null) return INVALID_SIM_SLOT_INDEX; if (info == null) return INVALID_SIM_SLOT_INDEX;
return info.getSimSlotIndex(); return info.getSimSlotIndex();
} }
/**
* On certain build types, we should redact information by default. UID information will be
* preserved in the same log line, so no debugging capability is lost in full bug reports.
* However, privacy-constrained bug report types (e.g. connectivity) cannot display raw
* package names on user builds as it's considered an information leak.
*/
private static String pii(String packageName) {
return Build.IS_DEBUGGABLE ? packageName : "***";
}
} }