From a2ea68df28eda252455b95a36321707a56142373 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. CP of https://r.android.com/2101472 Bug: 229419469 Test: atest FrameworksNetTests Change-Id: I91e987d6b943a3c5986ab88553a6eef0d479b079 Merged-In: 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 47c42fb4ab..7ee4031c85 100644 --- a/tests/unit/java/com/android/server/ConnectivityServiceTest.java +++ b/tests/unit/java/com/android/server/ConnectivityServiceTest.java @@ -15458,7 +15458,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 @@ -15482,12 +15482,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<>(); @@ -15517,7 +15517,7 @@ public class ConnectivityServiceTest { } /* Test setting UIDs is rejected when expected */ - if (TRANSPORT_ETHERNET == transportUnderTest) { + if (forAutomotive) { mockHasSystemFeature(PackageManager.FEATURE_AUTOMOTIVE, false); }