OSDN Git Service

Save off the seinfo value with packages.list.
authorRobert Craig <rpcraig@tycho.ncsc.mil>
Tue, 26 Mar 2013 12:21:37 +0000 (08:21 -0400)
committerRobert Craig <rpcraig@tycho.ncsc.mil>
Tue, 26 Mar 2013 12:45:28 +0000 (08:45 -0400)
Patch adds the seinfo label per package to the file.
This is of particular interest to the run-as program
which uses the seinfo tag to correctly label the
app security context before running the shell.

Change-Id: I9d7ea47c920b1bc09a19008345ed7fd0aa426e87
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
services/java/com/android/server/pm/Settings.java
services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java

index a472247..b744bc3 100644 (file)
@@ -1359,6 +1359,7 @@ final class Settings {
                     // userId     - application-specific user id
                     // debugFlag  - 0 or 1 if the package is debuggable.
                     // dataPath   - path to package's data path
+                    // seinfo     - seinfo label for the app (assigned at install time)
                     //
                     // NOTE: We prefer not to expose all ApplicationInfo flags for now.
                     //
@@ -1372,6 +1373,8 @@ final class Settings {
                     sb.append((int)ai.uid);
                     sb.append(isDebug ? " 1 " : " 0 ");
                     sb.append(dataPath);
+                    sb.append(" ");
+                    sb.append(ai.seinfo);
                     sb.append("\n");
                     str.write(sb.toString().getBytes());
                 }
index 0f531b7..3cf48a0 100644 (file)
@@ -111,9 +111,9 @@ public class PackageManagerSettingsTests extends AndroidTestCase {
 
     private void writePackagesList() {
         writeFile(new File(getContext().getFilesDir(), "system/packages.list"),
-                ( "com.google.app1 11000 0 /data/data/com.google.app1"
-                + "com.google.app2 11001 0 /data/data/com.google.app2"
-                + "com.android.app3 11030 0 /data/data/com.android.app3")
+                ( "com.google.app1 11000 0 /data/data/com.google.app1 seinfo1"
+                + "com.google.app2 11001 0 /data/data/com.google.app2 seinfo2"
+                + "com.android.app3 11030 0 /data/data/com.android.app3 seinfo3")
                 .getBytes());
     }