summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Brian Carlstrom <bdc@google.com> 2011-04-08 15:40:06 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-04-08 15:40:06 -0700
commit8d387d6cadf847bfa0ecfcd1fb5f1a752dc0290a (patch)
tree0be1e343805149945b8fab4bef88c1ed24d575a6
parentd5226cff8d4f7e323c73c287f3eb5e01cc7e5790 (diff)
parent8c2a1a90a81f04573bfa578eab32f5fd4a30eafb (diff)
Merge "Add keychain user with special keystore access permissions"
-rw-r--r--cmds/keystore/keystore.c1
-rw-r--r--core/java/android/os/Process.java6
-rw-r--r--services/java/com/android/server/pm/PackageManagerService.java5
3 files changed, 12 insertions, 0 deletions
diff --git a/cmds/keystore/keystore.c b/cmds/keystore/keystore.c
index afa64f8c9d12..e34053be2c51 100644
--- a/cmds/keystore/keystore.c
+++ b/cmds/keystore/keystore.c
@@ -493,6 +493,7 @@ static struct user {
{AID_VPN, AID_SYSTEM, GET},
{AID_WIFI, AID_SYSTEM, GET},
{AID_ROOT, AID_SYSTEM, GET},
+ {AID_KEYCHAIN, AID_SYSTEM, TEST | GET | SAW},
{~0, ~0, TEST | GET | INSERT | DELETE | EXIST | SAW},
};
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index c8cb1dee20f1..7151ac262d64 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -92,6 +92,12 @@ public class Process {
public static final int SDCARD_RW_GID = 1015;
/**
+ * Defines the UID for the KeyChain service.
+ * @hide
+ */
+ public static final int KEYCHAIN_UID = 1020;
+
+ /**
* Defines the UID/GID for the NFC service process.
* @hide
*/
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 669e060a1540..a9d49b45c47e 100644
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -153,6 +153,7 @@ public class PackageManagerService extends IPackageManager.Stub {
private static final int RADIO_UID = Process.PHONE_UID;
private static final int LOG_UID = Process.LOG_UID;
private static final int NFC_UID = Process.NFC_UID;
+ private static final int KEYCHAIN_UID = Process.KEYCHAIN_UID;
static final int FIRST_APPLICATION_UID =
Process.FIRST_APPLICATION_UID;
static final int MAX_APPLICATION_UIDS = 1000;
@@ -751,6 +752,10 @@ public class PackageManagerService extends IPackageManager.Stub {
MULTIPLE_APPLICATION_UIDS
? NFC_UID : FIRST_APPLICATION_UID,
ApplicationInfo.FLAG_SYSTEM);
+ mSettings.addSharedUserLPw("android.uid.keychain",
+ MULTIPLE_APPLICATION_UIDS
+ ? KEYCHAIN_UID : FIRST_APPLICATION_UID,
+ ApplicationInfo.FLAG_SYSTEM);
String separateProcesses = SystemProperties.get("debug.separate_processes");
if (separateProcesses != null && separateProcesses.length() > 0) {