summaryrefslogtreecommitdiff
path: root/services/java
diff options
context:
space:
mode:
author rich cannings <richc@google.com> 2012-08-27 14:44:16 -0700
committer rich cannings <richc@google.com> 2012-08-28 14:00:46 -0700
commit7e67151b912622f8a279ab1523a9bcf26ebaff3d (patch)
tree04e046f659971b2c62115755be7265b8fe0b5521 /services/java
parentac137b3211818f9e72f9ffbaf541ad8a1ef27eb1 (diff)
Add permission checks for Verification API calls
Ensure that only applications with android.Manifest.permission.PACKAGE_VERIFICATION_AGENT can call application verification APIs, like PackageManager.verifyPendingInstall and PackageManager.extendVerificationTimeout Bug: 7049083 Change-Id: I5fc28b37e864d67cd319a1ed9d03a90dd15ad052
Diffstat (limited to 'services/java')
-rw-r--r--services/java/com/android/server/pm/PackageManagerService.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index b84e25a6b26d..74b02bc7648e 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -5531,6 +5531,10 @@ public class PackageManagerService extends IPackageManager.Stub {
@Override
public void verifyPendingInstall(int id, int verificationCode) throws RemoteException {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
+ "Only package verification agents can verify applications");
+
final Message msg = mHandler.obtainMessage(PACKAGE_VERIFIED);
final PackageVerificationResponse response = new PackageVerificationResponse(
verificationCode, Binder.getCallingUid());
@@ -5542,6 +5546,10 @@ public class PackageManagerService extends IPackageManager.Stub {
@Override
public void extendVerificationTimeout(int id, int verificationCodeAtTimeout,
long millisecondsToDelay) {
+ mContext.enforceCallingOrSelfPermission(
+ android.Manifest.permission.PACKAGE_VERIFICATION_AGENT,
+ "Only package verification agents can extend verification timeouts");
+
final PackageVerificationState state = mPendingVerification.get(id);
final PackageVerificationResponse response = new PackageVerificationResponse(
verificationCodeAtTimeout, Binder.getCallingUid());