summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoushik Dutta <koushd@gmail.com>2013-03-30 16:24:58 -0700
committerKoushik Dutta <koushd@gmail.com>2013-03-30 16:25:12 -0700
commit0deb0104eea19085bc68b42f128b3e9792564abe (patch)
treeca07c702f540de8c7d3519dec234495f875d559d
parent54a5d859de90e2e1e218fa35c1e2f62c76c25ef8 (diff)
downloadpackages_apps_Settings-0deb0104eea19085bc68b42f128b3e9792564abe.tar.gz
packages_apps_Settings-0deb0104eea19085bc68b42f128b3e9792564abe.tar.bz2
packages_apps_Settings-0deb0104eea19085bc68b42f128b3e9792564abe.zip
SECURITY FIX: Fix package uids being reused between uninstall and reinstall of different packages.
Policies for older packages were being granted to the newly installed package that got the recyled uid. Change-Id: I6c74cf6762e8da10e09d5cf5d94e9f826e47f24d
-rw-r--r--AndroidManifest.xml15
-rw-r--r--src/com/android/settings/cyanogenmod/superuser/PackageChangeReceiver.java4
2 files changed, 19 insertions, 0 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 976bc6b1d..6d5ce9616 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -136,6 +136,21 @@
android:name=".cyanogenmod.superuser.SuReceiver"
android:permission="android.permission.REPORT_SUPERUSER" />
+ <receiver
+ android:name=".cyanogenmod.superuser.PackageChangeReceiver" >
+ <intent-filter>
+ <action android:name="android.intent.action.PACKAGE_ADDED" />
+ <data android:scheme="package" />
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.BOOT_COMPLETED" />
+ <data android:scheme="package" />
+ </intent-filter>
+ <intent-filter>
+ <action android:name="android.intent.action.PACKAGE_REMOVED" />
+ <data android:scheme="package" />
+ </intent-filter>
+ </receiver>
<!-- Settings -->
diff --git a/src/com/android/settings/cyanogenmod/superuser/PackageChangeReceiver.java b/src/com/android/settings/cyanogenmod/superuser/PackageChangeReceiver.java
new file mode 100644
index 000000000..aa36acb7f
--- /dev/null
+++ b/src/com/android/settings/cyanogenmod/superuser/PackageChangeReceiver.java
@@ -0,0 +1,4 @@
+package com.android.settings.cyanogenmod.superuser;
+
+public class PackageChangeReceiver extends com.koushikdutta.superuser.PackageChangeReceiver {
+} \ No newline at end of file