From d42209db964de5597b0846cf8175cee6001ec8d7 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Mon, 28 Dec 2015 15:11:58 -0800 Subject: Add a TETHER_PRIVILEGED permission and use it where needed. BUG: 26247383 Change-Id: I73f7227d77926faa9081e83eccb83c8ddee33e08 --- api/system-current.txt | 1 + core/java/android/net/ConnectivityManager.java | 9 ++++----- core/res/AndroidManifest.xml | 6 ++++++ core/tests/ConnectivityManagerTest/AndroidManifest.xml | 1 + packages/SystemUI/AndroidManifest.xml | 1 + 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/api/system-current.txt b/api/system-current.txt index 29905169b0da..6ab8d082d4a0 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -215,6 +215,7 @@ package android { field public static final java.lang.String STATUS_BAR = "android.permission.STATUS_BAR"; field public static final java.lang.String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES"; field public static final java.lang.String SYSTEM_ALERT_WINDOW = "android.permission.SYSTEM_ALERT_WINDOW"; + field public static final java.lang.String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED"; field public static final java.lang.String TRANSMIT_IR = "android.permission.TRANSMIT_IR"; field public static final java.lang.String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE"; field public static final java.lang.String UNINSTALL_SHORTCUT = "com.android.launcher.permission.UNINSTALL_SHORTCUT"; diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 515e9a27eefc..cabc6fabc355 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -23,7 +23,6 @@ import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; -import android.net.NetworkUtils; import android.os.Binder; import android.os.Build.VERSION_CODES; import android.os.Handler; @@ -46,11 +45,11 @@ import com.android.internal.telephony.ITelephony; import com.android.internal.telephony.PhoneConstants; import com.android.internal.util.Protocol; +import libcore.net.event.NetworkEventDispatcher; + import java.net.InetAddress; -import java.util.concurrent.atomic.AtomicInteger; import java.util.HashMap; - -import libcore.net.event.NetworkEventDispatcher; +import java.util.concurrent.atomic.AtomicInteger; /** * Class that answers queries about the state of network connectivity. It also @@ -1611,7 +1610,7 @@ public class ConnectivityManager { // Have a provisioning app - must only let system apps (which check this app) // turn on tethering context.enforceCallingOrSelfPermission( - android.Manifest.permission.CONNECTIVITY_INTERNAL, "ConnectivityService"); + android.Manifest.permission.TETHER_PRIVILEGED, "ConnectivityService"); } else { int uid = Binder.getCallingUid(); Settings.checkAndNoteWriteSettingsOperation(context, uid, Settings diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 1090f90fbbef..d81cb29d67e7 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -1052,6 +1052,12 @@ + + + diff --git a/core/tests/ConnectivityManagerTest/AndroidManifest.xml b/core/tests/ConnectivityManagerTest/AndroidManifest.xml index 6bd8f6ebcfa2..a391e1feb28f 100644 --- a/core/tests/ConnectivityManagerTest/AndroidManifest.xml +++ b/core/tests/ConnectivityManagerTest/AndroidManifest.xml @@ -75,6 +75,7 @@ + diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml index 9546c8dba734..66a333657074 100644 --- a/packages/SystemUI/AndroidManifest.xml +++ b/packages/SystemUI/AndroidManifest.xml @@ -58,6 +58,7 @@ + -- cgit v1.2.3-59-g8ed1b