From 12aaf7e2ef7e5a707a23992c03b75891f667bc1c Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Fri, 8 Mar 2019 19:46:00 +0900 Subject: [PATCH] Give Telephony the permissions to access the network stack. Test: manual Change-Id: I28308f421aa955fe110b50452b115a0178b24745 --- .../src/com/android/server/util/PermissionUtil.java | 4 +++- services/net/java/android/net/NetworkStackClient.java | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java b/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java index f6eb900c49103..6fbeeadb7e727 100644 --- a/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java +++ b/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java @@ -33,7 +33,9 @@ public final class PermissionUtil { public static void checkNetworkStackCallingPermission() { // TODO: check that the calling PID is the system server. final int caller = getCallingUid(); - if (caller != Process.SYSTEM_UID && UserHandle.getAppId(caller) != Process.BLUETOOTH_UID) { + if (caller != Process.SYSTEM_UID + && UserHandle.getAppId(caller) != Process.BLUETOOTH_UID + && UserHandle.getAppId(caller) != Process.PHONE_UID) { throw new SecurityException("Invalid caller: " + caller); } } diff --git a/services/net/java/android/net/NetworkStackClient.java b/services/net/java/android/net/NetworkStackClient.java index 830dbbe8b8c0e..eed01aecf0e2a 100644 --- a/services/net/java/android/net/NetworkStackClient.java +++ b/services/net/java/android/net/NetworkStackClient.java @@ -289,7 +289,8 @@ public class NetworkStackClient { private void requestConnector(@NonNull NetworkStackCallback request) { // TODO: PID check. final int caller = Binder.getCallingUid(); - if (caller != Process.SYSTEM_UID && !UserHandle.isSameApp(caller, Process.BLUETOOTH_UID)) { + if (caller != Process.SYSTEM_UID && !UserHandle.isSameApp(caller, Process.BLUETOOTH_UID) + && !UserHandle.isSameApp(caller, Process.PHONE_UID)) { // Don't even attempt to obtain the connector and give a nice error message throw new SecurityException( "Only the system server should try to bind to the network stack.");