diff options
author | Kenny Root <kroot@google.com> | 2014-05-08 13:28:39 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2014-05-30 12:33:04 -0700 |
commit | 38a956408f45c9a7cbb48b79c67257b9207fda30 (patch) | |
tree | d566944b8158d22d278b65174c409f4202cd4d53 | |
parent | ddceb3264ca51c2e46a449264f5bc451705eb990 (diff) | |
download | android_packages_apps_CertInstaller-38a956408f45c9a7cbb48b79c67257b9207fda30.tar.gz android_packages_apps_CertInstaller-38a956408f45c9a7cbb48b79c67257b9207fda30.tar.bz2 android_packages_apps_CertInstaller-38a956408f45c9a7cbb48b79c67257b9207fda30.zip |
Check component class instead of action
Ensure the called intent was filtered for permission by
ActivityManagerService by checking the ComponentName instead of the
action.
Bug: 14441285
Change-Id: I3a848ef2375ddfa7c9b35389524419993a6b3693
-rw-r--r-- | src/com/android/certinstaller/CertInstallerMain.java | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/com/android/certinstaller/CertInstallerMain.java b/src/com/android/certinstaller/CertInstallerMain.java index c83e99f..9adeb7c 100644 --- a/src/com/android/certinstaller/CertInstallerMain.java +++ b/src/com/android/certinstaller/CertInstallerMain.java @@ -42,6 +42,8 @@ public class CertInstallerMain extends PreferenceActivity { private static final int REQUEST_INSTALL = 1; private static final int REQUEST_OPEN_DOCUMENT = 2; + private static final String INSTALL_CERT_AS_USER_CLASS = ".InstallCertAsUser"; + private static final String[] ACCEPT_MIME_TYPES = { "application/x-pkcs12", "application/x-x509-ca-cert", @@ -70,7 +72,9 @@ public class CertInstallerMain extends PreferenceActivity { * caller got here any other way, remove the extra that we allow in * that INSTALL_AS_USER path. */ - if (bundle != null && !Credentials.INSTALL_AS_USER_ACTION.equals(action)) { + String calledClass = intent.getComponent().getClassName(); + String installAsUserClassName = getPackageName() + INSTALL_CERT_AS_USER_CLASS; + if (bundle != null && !installAsUserClassName.equals(calledClass)) { bundle.remove(Credentials.EXTRA_INSTALL_AS_UID); } |