Allow the bluetooth UID to register network factories.
This ensures that bluetooth can register bluetooth tethering NetworkAgents without having to make NETWORK_FACTORY a privileged or role permission. Test: m Bug: 221949454 Change-Id: I24a5da444b10dde740c1e449c8630de56946d4e1
This commit is contained in:
@@ -2864,12 +2864,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
}
|
||||
|
||||
private void enforceNetworkFactoryPermission() {
|
||||
// TODO: Check for the BLUETOOTH_STACK permission once that is in the API surface.
|
||||
if (getCallingUid() == Process.BLUETOOTH_UID) return;
|
||||
enforceAnyPermissionOf(
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
||||
}
|
||||
|
||||
private void enforceNetworkFactoryOrSettingsPermission() {
|
||||
// TODO: Check for the BLUETOOTH_STACK permission once that is in the API surface.
|
||||
if (getCallingUid() == Process.BLUETOOTH_UID) return;
|
||||
enforceAnyPermissionOf(
|
||||
android.Manifest.permission.NETWORK_SETTINGS,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
@@ -2877,6 +2881,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
}
|
||||
|
||||
private void enforceNetworkFactoryOrTestNetworksPermission() {
|
||||
// TODO: Check for the BLUETOOTH_STACK permission once that is in the API surface.
|
||||
if (getCallingUid() == Process.BLUETOOTH_UID) return;
|
||||
enforceAnyPermissionOf(
|
||||
android.Manifest.permission.MANAGE_TEST_NETWORKS,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
@@ -2889,7 +2895,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|| PERMISSION_GRANTED == mContext.checkPermission(
|
||||
android.Manifest.permission.NETWORK_SETTINGS, pid, uid)
|
||||
|| PERMISSION_GRANTED == mContext.checkPermission(
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, pid, uid);
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, pid, uid)
|
||||
|| uid == Process.BLUETOOTH_UID;
|
||||
}
|
||||
|
||||
private boolean checkSettingsPermission() {
|
||||
|
||||
Reference in New Issue
Block a user