Merge changes from topic "cts-networkprovider"
* changes: Add cts test for NetworkProvider Adjust permission of NetworkProvider related API
This commit is contained in:
@@ -2093,6 +2093,20 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
||||
}
|
||||
|
||||
private void enforceNetworkFactoryOrSettingsPermission() {
|
||||
enforceAnyPermissionOf(
|
||||
android.Manifest.permission.NETWORK_SETTINGS,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
||||
}
|
||||
|
||||
private void enforceNetworkFactoryOrTestNetworksPermission() {
|
||||
enforceAnyPermissionOf(
|
||||
android.Manifest.permission.MANAGE_TEST_NETWORKS,
|
||||
android.Manifest.permission.NETWORK_FACTORY,
|
||||
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK);
|
||||
}
|
||||
|
||||
private boolean checkSettingsPermission() {
|
||||
return checkAnyPermissionOf(
|
||||
android.Manifest.permission.NETWORK_SETTINGS,
|
||||
@@ -5674,7 +5688,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
@Override
|
||||
public int registerNetworkProvider(Messenger messenger, String name) {
|
||||
enforceNetworkFactoryPermission();
|
||||
enforceNetworkFactoryOrSettingsPermission();
|
||||
NetworkProviderInfo npi = new NetworkProviderInfo(name, messenger,
|
||||
null /* asyncChannel */, nextNetworkProviderId(),
|
||||
() -> unregisterNetworkProvider(messenger));
|
||||
@@ -5684,7 +5698,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
@Override
|
||||
public void unregisterNetworkProvider(Messenger messenger) {
|
||||
enforceNetworkFactoryPermission();
|
||||
enforceNetworkFactoryOrSettingsPermission();
|
||||
mHandler.sendMessage(mHandler.obtainMessage(EVENT_UNREGISTER_NETWORK_PROVIDER, messenger));
|
||||
}
|
||||
|
||||
@@ -5704,7 +5718,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
@Override
|
||||
public void declareNetworkRequestUnfulfillable(NetworkRequest request) {
|
||||
enforceNetworkFactoryPermission();
|
||||
if (request.hasTransport(TRANSPORT_TEST)) {
|
||||
enforceNetworkFactoryOrTestNetworksPermission();
|
||||
} else {
|
||||
enforceNetworkFactoryPermission();
|
||||
}
|
||||
mHandler.post(() -> handleReleaseNetworkRequest(request, Binder.getCallingUid(), true));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user