diff options
author | Ivan Kutepov <its.kutepov@gmail.com> | 2018-01-13 21:59:59 +0300 |
---|---|---|
committer | Andreas Blaesius <skate4life@gmx.de> | 2018-01-14 13:04:53 +0100 |
commit | 3ca7066a2e35d53bcb15d27df469deca64d5b04f (patch) | |
tree | e796941d7a95b7609a03af48753426a250a5afc2 | |
parent | 8662bd23b735c00a021217bd1f549b53ad426477 (diff) | |
download | frameworks_base-3ca7066a2e35d53bcb15d27df469deca64d5b04f.tar.gz frameworks_base-3ca7066a2e35d53bcb15d27df469deca64d5b04f.tar.bz2 frameworks_base-3ca7066a2e35d53bcb15d27df469deca64d5b04f.zip |
Fix wrong backport of commit dba1bb0
* https://android.googlesource.com/platform/frameworks/base/+/dba1bb07e04b51b1bd0a1251711781e731ce9524
Change-Id: I9fc02e5ac66c17bb0562f1e2577da8ac774d7f2d
-rw-r--r-- | services/core/java/com/android/server/accounts/AccountManagerService.java | 4 | ||||
-rwxr-xr-x | services/core/java/com/android/server/am/ActivityManagerService.java | 13 |
2 files changed, 4 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/accounts/AccountManagerService.java b/services/core/java/com/android/server/accounts/AccountManagerService.java index 537fe2dc55a..e493daed177 100644 --- a/services/core/java/com/android/server/accounts/AccountManagerService.java +++ b/services/core/java/com/android/server/accounts/AccountManagerService.java @@ -2006,6 +2006,10 @@ public class AccountManagerService Intent intent = result.getParcelable(AccountManager.KEY_INTENT); if (intent != null && notifyOnAuthFailure && !customTokens) { + intent.setFlags(intent.getFlags() & ~(Intent.FLAG_GRANT_READ_URI_PERMISSION + | Intent.FLAG_GRANT_WRITE_URI_PERMISSION + | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION + | Intent.FLAG_GRANT_PREFIX_URI_PERMISSION)); doNotification(mAccounts, account, result.getString(AccountManager.KEY_AUTH_FAILED_MESSAGE), intent, accounts.userId); diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 5ba0b728665..6c076d06f21 100755 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -7701,19 +7701,6 @@ public final class ActivityManagerService extends ActivityManagerNative return -1; } - // Bail early if system is trying to hand out permissions directly; it - // must always grant permissions on behalf of someone explicit. - final int callingAppId = UserHandle.getAppId(callingUid); - if ((callingAppId == Process.SYSTEM_UID) || (callingAppId == Process.ROOT_UID)) { - if ("com.android.settings.files".equals(grantUri.uri.getAuthority())) { - // Exempted authority for cropping user photos in Settings app - } else { - Slog.w(TAG, "For security reasons, the system cannot issue a Uri permission" - + " grant to " + grantUri + "; use startActivityAsCaller() instead"); - return -1; - } - } - final String authority = grantUri.uri.getAuthority(); final ProviderInfo pi = getProviderInfoLocked(authority, grantUri.sourceUserId); if (pi == null) { |