DO NOT MERGE fix some linkproperties configs missing
In handleUpdateLinkProperties(), it will always assign newLp
to nai first. Then, the copied newLp would add some configurations
ex: private dns/clatd. This updated newLp wouldn't be assigned back to
nai when linkproperties is not changed.
Bug: 113637648
Test: - build, flash, booted
- atest FrameworksNetTests
- run CtsNetTestCases
Change-Id: I9e25e46718e076d4afa784ee5e1d3abbe0f11911
This commit is contained in:
@@ -4731,11 +4731,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
} else {
|
} else {
|
||||||
updateProxy(newLp, oldLp, networkAgent);
|
updateProxy(newLp, oldLp, networkAgent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
synchronized (networkAgent) {
|
||||||
|
networkAgent.linkProperties = newLp;
|
||||||
|
}
|
||||||
// TODO - move this check to cover the whole function
|
// TODO - move this check to cover the whole function
|
||||||
if (!Objects.equals(newLp, oldLp)) {
|
if (!Objects.equals(newLp, oldLp)) {
|
||||||
synchronized (networkAgent) {
|
|
||||||
networkAgent.linkProperties = newLp;
|
|
||||||
}
|
|
||||||
notifyIfacesChangedForNetworkStats();
|
notifyIfacesChangedForNetworkStats();
|
||||||
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4024,6 +4024,14 @@ public class ConnectivityServiceTest {
|
|||||||
cellNetworkCallback.assertNoCallback();
|
cellNetworkCallback.assertNoCallback();
|
||||||
assertTrue(((LinkProperties)cbi.arg).isPrivateDnsActive());
|
assertTrue(((LinkProperties)cbi.arg).isPrivateDnsActive());
|
||||||
assertEquals("strict.example.com", ((LinkProperties)cbi.arg).getPrivateDnsServerName());
|
assertEquals("strict.example.com", ((LinkProperties)cbi.arg).getPrivateDnsServerName());
|
||||||
|
|
||||||
|
// Send the same LinkProperties and expect getting the same result including private dns.
|
||||||
|
// b/118518971
|
||||||
|
LinkProperties oldLp = (LinkProperties) cbi.arg;
|
||||||
|
mCellNetworkAgent.sendLinkProperties(cellLp);
|
||||||
|
waitForIdle();
|
||||||
|
LinkProperties newLp = mCm.getLinkProperties(cbi.network);
|
||||||
|
assertEquals(oldLp, newLp);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
Reference in New Issue
Block a user