From de3a2452a02f8d2b6458cfef73c9bb3f0dede026 Mon Sep 17 00:00:00 2001 From: paulhu Date: Tue, 14 May 2019 14:17:44 +0800 Subject: [PATCH] Fix captive portal app can be launched w/o MAINLINE_NETWORK_STACK permission Caller should get SecurityException if called ConnectivityManager#startCaptivePortalApp() w/o MAINLINE_NETWORK_STACK permission. But now it will not get any exception and can launch captive portal app successfully. Bug: 132662433 Test: atest android.net.cts.ConnectivityManagerTest#testStartCaptivePortalApp w and w/o MAINLINE_NETWORK_STACK permission Test: atest FrameworksNetTests NetworkStackTests Change-Id: I61be1b0647f4165665a2d4166311adeac956e0d4 --- services/core/java/com/android/server/ConnectivityService.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 562199aa77..b3b5e45496 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3495,7 +3495,8 @@ public class ConnectivityService extends IConnectivityManager.Stub */ @Override public void startCaptivePortalAppInternal(Network network, Bundle appExtras) { - mContext.checkCallingOrSelfPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK); + mContext.enforceCallingOrSelfPermission(NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, + "ConnectivityService"); final Intent appIntent = new Intent(ConnectivityManager.ACTION_CAPTIVE_PORTAL_SIGN_IN); appIntent.putExtras(appExtras);