Updating Eth Service to use Eth Network Permission

Updating Ethernet Service network management APIs to
require the manage ethernet networks permission.

Bug: 210485380
Test: atest EthernetServiceTests
Change-Id: Ibc9b2930fc0069efd7c6f4b833aba7d6c8e93311
This commit is contained in:
James Mattis
2022-01-28 19:46:40 -08:00
parent 5aa01c3196
commit a2c204259d
3 changed files with 42 additions and 3 deletions

View File

@@ -208,6 +208,12 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {
pw.decreaseIndent();
}
private void enforceNetworkManagementPermission() {
mContext.enforceCallingOrSelfPermission(
android.Manifest.permission.MANAGE_ETHERNET_NETWORKS,
"EthernetServiceImpl");
}
/**
* Validate the state of ethernet for APIs tied to network management.
*
@@ -216,12 +222,12 @@ public class EthernetServiceImpl extends IEthernetManager.Stub {
*/
private void validateNetworkManagementState(@NonNull final String iface,
final @NonNull String methodName) {
enforceAutomotiveDevice(methodName);
enforceNetworkManagementPermission();
logIfEthernetNotStarted();
// TODO: add permission check here for MANAGE_INTERNAL_NETWORKS when it's available.
Objects.requireNonNull(iface, "Pass a non-null iface.");
Objects.requireNonNull(methodName, "Pass a non-null methodName.");
enforceAutomotiveDevice(methodName);
enforceInterfaceIsTracked(iface);
}