TEMP add more logging for SecurityExceptions in PermissionChecker
Bug: 195339480 Test: build Change-Id: I3bc45878f1d4dfcc58d787a4a14ebbcf1fd5a905
This commit is contained in:
@@ -4562,8 +4562,9 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
}
|
||||
if (pkgUid != Process.INVALID_UID) {
|
||||
if (pkgUid != UserHandle.getAppId(uid)) {
|
||||
String otherUidMessage = DEBUG ? " but it is really " + pkgUid : " but it is not";
|
||||
throw new SecurityException("Specified package " + packageName + " under uid "
|
||||
//TODO 195339480: replace true with debug
|
||||
String otherUidMessage = true ? " but it is really " + pkgUid : " but it is not";
|
||||
throw new SecurityException("Specified package \"" + packageName + "\" under uid "
|
||||
+ UserHandle.getAppId(uid) + otherUidMessage);
|
||||
}
|
||||
return new PackageVerificationResult(RestrictionBypass.UNRESTRICTED,
|
||||
@@ -4618,8 +4619,9 @@ public class AppOpsService extends IAppOpsService.Stub {
|
||||
}
|
||||
|
||||
if (pkgUid != uid) {
|
||||
String otherUidMessage = DEBUG ? " but it is really " + pkgUid : " but it is not";
|
||||
throw new SecurityException("Specified package " + packageName + " under uid " + uid
|
||||
//TODO 195339480: replace true with debug
|
||||
String otherUidMessage = true ? " but it is really " + pkgUid : " but it is not";
|
||||
throw new SecurityException("Specified package \"" + packageName + "\" under uid " + uid
|
||||
+ otherUidMessage);
|
||||
}
|
||||
|
||||
|
||||
@@ -6120,9 +6120,23 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
|
||||
}
|
||||
} else {
|
||||
startedOpResult = appOpsManager.startProxyOpNoThrow(startedOp,
|
||||
resolvedAttributionSource, message, skipProxyOperation,
|
||||
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
|
||||
try {
|
||||
startedOpResult = appOpsManager.startProxyOpNoThrow(startedOp,
|
||||
resolvedAttributionSource, message, skipProxyOperation,
|
||||
proxyAttributionFlags, proxiedAttributionFlags, attributionChainId);
|
||||
} catch (SecurityException e) {
|
||||
//TODO 195339480: remove
|
||||
String msg = "Security exception for op " + startedOp + " with source "
|
||||
+ attributionSource.getUid() + ":"
|
||||
+ attributionSource.getPackageName() + ", "
|
||||
+ attributionSource.getNextUid() + ":"
|
||||
+ attributionSource.getNextPackageName();
|
||||
if (attributionSource.getNext() != null) {
|
||||
AttributionSource next = attributionSource.getNext();
|
||||
msg = msg + ", " + next.getNextPackageName() + ":" + next.getNextUid();
|
||||
}
|
||||
throw new SecurityException(msg + ":" + e.getMessage());
|
||||
}
|
||||
}
|
||||
return Math.max(checkedOpResult, startedOpResult);
|
||||
} else {
|
||||
@@ -6169,8 +6183,22 @@ public class PermissionManagerService extends IPermissionManager.Stub {
|
||||
message, skipProxyOperation);
|
||||
}
|
||||
} else {
|
||||
notedOpResult = appOpsManager.noteProxyOpNoThrow(notedOp,
|
||||
resolvedAttributionSource, message, skipProxyOperation);
|
||||
try {
|
||||
notedOpResult = appOpsManager.noteProxyOpNoThrow(notedOp,
|
||||
resolvedAttributionSource, message, skipProxyOperation);
|
||||
} catch (SecurityException e) {
|
||||
//TODO 195339480: remove
|
||||
String msg = "Security exception for op " + notedOp + " with source "
|
||||
+ attributionSource.getUid() + ":"
|
||||
+ attributionSource.getPackageName() + ", "
|
||||
+ attributionSource.getNextUid() + ":"
|
||||
+ attributionSource.getNextPackageName();
|
||||
if (attributionSource.getNext() != null) {
|
||||
AttributionSource next = attributionSource.getNext();
|
||||
msg = msg + ", " + next.getNextPackageName() + ":" + next.getNextUid();
|
||||
}
|
||||
throw new SecurityException(msg + ":" + e.getMessage());
|
||||
}
|
||||
}
|
||||
return Math.max(checkedOpResult, notedOpResult);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user