From 35ca2e77686bbe370eb3fadb62fde787af7b7bc7 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Tue, 7 Jul 2015 12:28:13 -0700 Subject: [PATCH] Legacy VPN calls to require a userID This way, system applications with INTERACT_ACROSS_USERS permission will be able to fetch the information they need. Pre-requisite for bug 21499103 Change-Id: I7e759d5039ae6e85abc6435049016b1dcaabc834 --- core/java/android/net/IConnectivityManager.aidl | 2 +- .../core/java/com/android/server/ConnectivityService.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl index 29557bb661..58035a2a39 100644 --- a/core/java/android/net/IConnectivityManager.aidl +++ b/core/java/android/net/IConnectivityManager.aidl @@ -114,7 +114,7 @@ interface IConnectivityManager void startLegacyVpn(in VpnProfile profile); - LegacyVpnInfo getLegacyVpnInfo(); + LegacyVpnInfo getLegacyVpnInfo(int userId); VpnInfo[] getAllVpnInfo(); diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 7f124dc254..5044ba9ee9 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -3112,11 +3112,11 @@ public class ConnectivityService extends IConnectivityManager.Stub * are checked in Vpn class. */ @Override - public LegacyVpnInfo getLegacyVpnInfo() { + public LegacyVpnInfo getLegacyVpnInfo(int userId) { + enforceCrossUserPermission(userId); throwIfLockdownEnabled(); - int user = UserHandle.getUserId(Binder.getCallingUid()); synchronized(mVpns) { - return mVpns.get(user).getLegacyVpnInfo(); + return mVpns.get(userId).getLegacyVpnInfo(); } }