From ff3b3f8d9671877fb80c2820a8dbd31d63cef9dc Mon Sep 17 00:00:00 2001 From: Patrick Rohr Date: Wed, 9 Feb 2022 15:15:52 +0100 Subject: [PATCH] Allow test networks to be rate limited Test: atest FrameworksNetTests Change-Id: I7e6e84baf446ecf4b395f6a611e625871745a20e --- service/src/com/android/server/ConnectivityService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/service/src/com/android/server/ConnectivityService.java b/service/src/com/android/server/ConnectivityService.java index d6ef6df76b..008f8664a5 100644 --- a/service/src/com/android/server/ConnectivityService.java +++ b/service/src/com/android/server/ConnectivityService.java @@ -10684,8 +10684,11 @@ public class ConnectivityService extends IConnectivityManager.Stub } private boolean canNetworkBeRateLimited(@NonNull final NetworkAgentInfo networkAgent) { - if (!networkAgent.networkCapabilities.hasCapability(NET_CAPABILITY_INTERNET)) { - // rate limits only apply to networks that provide internet connectivity. + final NetworkCapabilities agentCaps = networkAgent.networkCapabilities; + // Only test networks (they cannot hold NET_CAPABILITY_INTERNET) and networks that provide + // internet connectivity can be rate limited. + if (!agentCaps.hasCapability(NET_CAPABILITY_INTERNET) && !agentCaps.hasTransport( + TRANSPORT_TEST)) { return false; }