From 4eff0efb57ce4d33d87a57d6102907ebac8748cd Mon Sep 17 00:00:00 2001 From: James Mattis Date: Wed, 18 May 2022 22:14:16 -0700 Subject: [PATCH] Changing automotive ethernet allowed UIDs check Updating the automotive allowed UIDs check to only work if the capabilities have a single transport equal to ethernet. Bug: 229419469 Test: atest FrameworksNetTests Change-Id: I91e987d6b943a3c5986ab88553a6eef0d479b079 --- .../com/android/server/connectivity/NetworkAgentInfo.java | 2 +- .../java/com/android/server/ConnectivityServiceTest.java | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/service/src/com/android/server/connectivity/NetworkAgentInfo.java b/service/src/com/android/server/connectivity/NetworkAgentInfo.java index 466e7b1e2b..b40b6e0f5e 100644 --- a/service/src/com/android/server/connectivity/NetworkAgentInfo.java +++ b/service/src/com/android/server/connectivity/NetworkAgentInfo.java @@ -1256,7 +1256,7 @@ public class NetworkAgentInfo implements Comparable, NetworkRa if (nc.hasTransport(TRANSPORT_TEST)) return true; // Factories that make ethernet networks can allow UIDs for automotive devices. - if (nc.hasTransport(TRANSPORT_ETHERNET) && hasAutomotiveFeature) { + if (nc.hasSingleTransport(TRANSPORT_ETHERNET) && hasAutomotiveFeature) { return true; } diff --git a/tests/unit/java/com/android/server/ConnectivityServiceTest.java b/tests/unit/java/com/android/server/ConnectivityServiceTest.java index 6294bff7cd..f6ccd8aa93 100644 --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -15536,7 +15536,7 @@ public class ConnectivityServiceTest { mEthernetNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_ETHERNET, new LinkProperties(), agentNetCaps.build()); - validateAllowedUids(mEthernetNetworkAgent, TRANSPORT_ETHERNET, agentNetCaps); + validateAllowedUids(mEthernetNetworkAgent, TRANSPORT_ETHERNET, agentNetCaps, true); } @Test @@ -15560,12 +15560,12 @@ public class ConnectivityServiceTest { mCellNetworkAgent = new TestNetworkAgentWrapper(TRANSPORT_CELLULAR, new LinkProperties(), agentNetCaps.build()); - validateAllowedUids(mCellNetworkAgent, TRANSPORT_CELLULAR, agentNetCaps); + validateAllowedUids(mCellNetworkAgent, TRANSPORT_CELLULAR, agentNetCaps, false); } private void validateAllowedUids(final TestNetworkAgentWrapper testAgent, @NetworkCapabilities.Transport final int transportUnderTest, - final NetworkCapabilities.Builder ncb) throws Exception { + final NetworkCapabilities.Builder ncb, final boolean forAutomotive) throws Exception { final ArraySet serviceUidSet = new ArraySet<>(); serviceUidSet.add(TEST_PACKAGE_UID); final ArraySet nonServiceUidSet = new ArraySet<>(); @@ -15595,7 +15595,7 @@ public class ConnectivityServiceTest { } /* Test setting UIDs is rejected when expected */ - if (TRANSPORT_ETHERNET == transportUnderTest) { + if (forAutomotive) { mockHasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE, false); }