From 4c854cfb8e21712f35da64f1493d0345742032c3 Mon Sep 17 00:00:00 2001 From: Roshan Pius Date: Fri, 14 Jun 2019 13:45:02 -0700 Subject: [PATCH] NetworkStackClient: Allow modules with network_stack uid The wifi service will start running with network_stack uid, so allow modules with the same uid to use the network stack interfaces. Note: Only modules signed with the same certificate (same as network_stack APK) can share the uid, so this is restricted to Google signed modules. Bug: 113174748 Test: Local wifi stack testing Change-Id: I83263770e5c17dd28e4423e46d82ac8067e98f3a (Cherry-picked from 51e9edae314f5ef758fff0bf42e12325f8a55362) --- services/net/java/android/net/NetworkStackClient.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/net/java/android/net/NetworkStackClient.java b/services/net/java/android/net/NetworkStackClient.java index cf52574e83e38..787fda33717a3 100644 --- a/services/net/java/android/net/NetworkStackClient.java +++ b/services/net/java/android/net/NetworkStackClient.java @@ -488,7 +488,9 @@ 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 + && caller != Process.NETWORK_STACK_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(