From bc19c181c8c058c824e4fee907a05129e142c388 Mon Sep 17 00:00:00 2001 From: Jeff Davidson Date: Tue, 11 Nov 2014 13:20:01 -0800 Subject: [PATCH] Enforce VPN control "permission" with an actual permission. The current implementation uses a whitelist of package names. Use a system|signature permission instead of rolling our own security and add that permission to the existing set of whitelisted packages (SystemUI and VpnDialogs). In addition to being less of a security risk (using well-known methods like Context.enforceCallingPermission rather than manually querying PackageManager and checking UIDs for package names), this enables other system-privileged apps to control VPN as needed per the below bug. Bug: 18327583 Change-Id: I38617965c40d62cf1ac28e3cb382c0877fb1275d --- core/res/AndroidManifest.xml | 9 +++++++ core/res/res/values/strings.xml | 5 ++++ packages/SystemUI/AndroidManifest.xml | 1 + packages/VpnDialogs/AndroidManifest.xml | 2 ++ .../com/android/server/connectivity/Vpn.java | 27 ++----------------- 5 files changed, 19 insertions(+), 25 deletions(-) diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index b03103ed4264d..1d067c8598674 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -2406,6 +2406,15 @@ android:description="@string/permdesc_controlWifiDisplay" android:protectionLevel="signature" /> + + + + Allows the app to control low-level features of Wifi displays. + + control Virtual Private Networks + + Allows the app to control low-level features of Virtual Private Networks. + capture audio output diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index b3e60d1dae05e..5f024ac96a033 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -55,6 +55,7 @@ + diff --git a/packages/VpnDialogs/AndroidManifest.xml b/packages/VpnDialogs/AndroidManifest.xml index 03d920a4b71b8..375c5d8aeda9b 100644 --- a/packages/VpnDialogs/AndroidManifest.xml +++ b/packages/VpnDialogs/AndroidManifest.xml @@ -19,6 +19,8 @@ + +