Don't add LOCAL_NETWORK as forbidden capability

This causes the module to crash on rollback because the current
production code does not consider LOCAL_NETWORK to be a valid
capability.

Change-Id: Idf57d72c384b41b483098c4c302738072ebf7f90
Test: TH
Fix: 313030307
This commit is contained in:
Lorenzo Colitti
2023-12-13 01:40:20 +00:00
committed by Remi NGUYEN VAN
parent dbae5744a1
commit 22941b38f7
2 changed files with 11 additions and 1 deletions

View File

@@ -290,7 +290,10 @@ public class NetworkRequest implements Parcelable {
* Therefore these capabilities are only in NetworkRequest. * Therefore these capabilities are only in NetworkRequest.
*/ */
private static final int[] DEFAULT_FORBIDDEN_CAPABILITIES = new int[] { private static final int[] DEFAULT_FORBIDDEN_CAPABILITIES = new int[] {
NET_CAPABILITY_LOCAL_NETWORK // TODO(b/313030307): this should contain NET_CAPABILITY_LOCAL_NETWORK.
// We cannot currently add it because doing so would crash if the module rolls back,
// because JobScheduler persists NetworkRequests to disk, and existing production code
// does not consider LOCAL_NETWORK to be a valid capability.
}; };
private final NetworkCapabilities mNetworkCapabilities; private final NetworkCapabilities mNetworkCapabilities;

View File

@@ -154,6 +154,7 @@ class CSLocalAgentTests : CSTest() {
val newLnc = LocalNetworkConfig.Builder() val newLnc = LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.build()) .build())
.build() .build()
localAgent.sendLocalNetworkConfig(newLnc) localAgent.sendLocalNetworkConfig(newLnc)
@@ -196,6 +197,7 @@ class CSLocalAgentTests : CSTest() {
lp = lp("local0"), lp = lp("local0"),
lnc = FromS(LocalNetworkConfig.Builder() lnc = FromS(LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.build()) .build())
.build()), .build()),
@@ -250,6 +252,7 @@ class CSLocalAgentTests : CSTest() {
lnc = FromS(LocalNetworkConfig.Builder() lnc = FromS(LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.build()) .build())
.build()), .build()),
score = FromS(NetworkScore.Builder() score = FromS(NetworkScore.Builder()
@@ -296,6 +299,7 @@ class CSLocalAgentTests : CSTest() {
val lnc = FromS(LocalNetworkConfig.Builder() val lnc = FromS(LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.build()) .build())
.build()) .build())
val localScore = FromS(NetworkScore.Builder().build()) val localScore = FromS(NetworkScore.Builder().build())
@@ -348,6 +352,7 @@ class CSLocalAgentTests : CSTest() {
lp = lp("local0"), lp = lp("local0"),
lnc = FromS(LocalNetworkConfig.Builder() lnc = FromS(LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.build()) .build())
.build()), .build()),
@@ -377,6 +382,7 @@ class CSLocalAgentTests : CSTest() {
val lnc = FromS(LocalNetworkConfig.Builder() val lnc = FromS(LocalNetworkConfig.Builder()
.setUpstreamSelector(NetworkRequest.Builder() .setUpstreamSelector(NetworkRequest.Builder()
.addCapability(NET_CAPABILITY_DUN) .addCapability(NET_CAPABILITY_DUN)
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.build()) .build())
.build()) .build())
val localAgent = Agent(nc = nc(TRANSPORT_WIFI, NET_CAPABILITY_LOCAL_NETWORK), val localAgent = Agent(nc = nc(TRANSPORT_WIFI, NET_CAPABILITY_LOCAL_NETWORK),
@@ -504,6 +510,7 @@ class CSLocalAgentTests : CSTest() {
val lnc = FromS(LocalNetworkConfig.Builder().apply { val lnc = FromS(LocalNetworkConfig.Builder().apply {
if (haveUpstream) { if (haveUpstream) {
setUpstreamSelector(NetworkRequest.Builder() setUpstreamSelector(NetworkRequest.Builder()
.addForbiddenCapability(NET_CAPABILITY_LOCAL_NETWORK)
.addTransportType(TRANSPORT_WIFI) .addTransportType(TRANSPORT_WIFI)
.build()) .build())
} }