Snap for 6489494 from 73817bc8997d03370d42be20dbb095cf3759d9d5 to mainline-release
Change-Id: I04ac11c5af37d8f50972dde8bbf99ac173964fc2
This commit is contained in:
@@ -5973,7 +5973,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// Start or stop DNS64 detection and 464xlat according to network state.
|
// Start or stop DNS64 detection and 464xlat according to network state.
|
||||||
networkAgent.clatd.update();
|
networkAgent.clatd.update();
|
||||||
notifyIfacesChangedForNetworkStats();
|
notifyIfacesChangedForNetworkStats();
|
||||||
networkAgent.networkMonitor().notifyLinkPropertiesChanged(newLp);
|
networkAgent.networkMonitor().notifyLinkPropertiesChanged(
|
||||||
|
new LinkProperties(newLp, true /* parcelSensitiveFields */));
|
||||||
if (networkAgent.everConnected) {
|
if (networkAgent.everConnected) {
|
||||||
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
notifyNetworkCallbacks(networkAgent, ConnectivityManager.CALLBACK_IP_CHANGED);
|
||||||
}
|
}
|
||||||
@@ -7153,7 +7154,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
networkAgent.networkMonitor().setAcceptPartialConnectivity();
|
networkAgent.networkMonitor().setAcceptPartialConnectivity();
|
||||||
}
|
}
|
||||||
networkAgent.networkMonitor().notifyNetworkConnected(
|
networkAgent.networkMonitor().notifyNetworkConnected(
|
||||||
networkAgent.linkProperties, networkAgent.networkCapabilities);
|
new LinkProperties(networkAgent.linkProperties,
|
||||||
|
true /* parcelSensitiveFields */),
|
||||||
|
networkAgent.networkCapabilities);
|
||||||
scheduleUnvalidatedPrompt(networkAgent);
|
scheduleUnvalidatedPrompt(networkAgent);
|
||||||
|
|
||||||
// Whether a particular NetworkRequest listen should cause signal strength thresholds to
|
// Whether a particular NetworkRequest listen should cause signal strength thresholds to
|
||||||
|
|||||||
@@ -547,6 +547,16 @@ public class IpSecServiceParameterizedTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyTransportModeTransform() throws Exception {
|
public void testApplyTransportModeTransform() throws Exception {
|
||||||
|
verifyApplyTransportModeTransformCommon(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testApplyTransportModeTransformReleasedSpi() throws Exception {
|
||||||
|
verifyApplyTransportModeTransformCommon(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verifyApplyTransportModeTransformCommon(
|
||||||
|
boolean closeSpiBeforeApply) throws Exception {
|
||||||
IpSecConfig ipSecConfig = new IpSecConfig();
|
IpSecConfig ipSecConfig = new IpSecConfig();
|
||||||
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
||||||
addAuthAndCryptToIpSecConfig(ipSecConfig);
|
addAuthAndCryptToIpSecConfig(ipSecConfig);
|
||||||
@@ -554,6 +564,39 @@ public class IpSecServiceParameterizedTest {
|
|||||||
IpSecTransformResponse createTransformResp =
|
IpSecTransformResponse createTransformResp =
|
||||||
mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
|
mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
|
||||||
|
|
||||||
|
if (closeSpiBeforeApply) {
|
||||||
|
mIpSecService.releaseSecurityParameterIndex(ipSecConfig.getSpiResourceId());
|
||||||
|
}
|
||||||
|
|
||||||
|
Socket socket = new Socket();
|
||||||
|
socket.bind(null);
|
||||||
|
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
|
||||||
|
|
||||||
|
int resourceId = createTransformResp.resourceId;
|
||||||
|
mIpSecService.applyTransportModeTransform(pfd, IpSecManager.DIRECTION_OUT, resourceId);
|
||||||
|
|
||||||
|
verify(mMockNetd)
|
||||||
|
.ipSecApplyTransportModeTransform(
|
||||||
|
eq(pfd),
|
||||||
|
eq(mUid),
|
||||||
|
eq(IpSecManager.DIRECTION_OUT),
|
||||||
|
anyString(),
|
||||||
|
anyString(),
|
||||||
|
eq(TEST_SPI));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testApplyTransportModeTransformWithClosedSpi() throws Exception {
|
||||||
|
IpSecConfig ipSecConfig = new IpSecConfig();
|
||||||
|
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
||||||
|
addAuthAndCryptToIpSecConfig(ipSecConfig);
|
||||||
|
|
||||||
|
IpSecTransformResponse createTransformResp =
|
||||||
|
mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
|
||||||
|
|
||||||
|
// Close SPI record
|
||||||
|
mIpSecService.releaseSecurityParameterIndex(ipSecConfig.getSpiResourceId());
|
||||||
|
|
||||||
Socket socket = new Socket();
|
Socket socket = new Socket();
|
||||||
socket.bind(null);
|
socket.bind(null);
|
||||||
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
|
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket);
|
||||||
@@ -660,6 +703,15 @@ public class IpSecServiceParameterizedTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testApplyTunnelModeTransform() throws Exception {
|
public void testApplyTunnelModeTransform() throws Exception {
|
||||||
|
verifyApplyTunnelModeTransformCommon(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testApplyTunnelModeTransformReleasedSpi() throws Exception {
|
||||||
|
verifyApplyTunnelModeTransformCommon(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void verifyApplyTunnelModeTransformCommon(boolean closeSpiBeforeApply) throws Exception {
|
||||||
IpSecConfig ipSecConfig = new IpSecConfig();
|
IpSecConfig ipSecConfig = new IpSecConfig();
|
||||||
ipSecConfig.setMode(IpSecTransform.MODE_TUNNEL);
|
ipSecConfig.setMode(IpSecTransform.MODE_TUNNEL);
|
||||||
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
||||||
@@ -670,6 +722,49 @@ public class IpSecServiceParameterizedTest {
|
|||||||
IpSecTunnelInterfaceResponse createTunnelResp =
|
IpSecTunnelInterfaceResponse createTunnelResp =
|
||||||
createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
|
createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
|
||||||
|
|
||||||
|
if (closeSpiBeforeApply) {
|
||||||
|
mIpSecService.releaseSecurityParameterIndex(ipSecConfig.getSpiResourceId());
|
||||||
|
}
|
||||||
|
|
||||||
|
int transformResourceId = createTransformResp.resourceId;
|
||||||
|
int tunnelResourceId = createTunnelResp.resourceId;
|
||||||
|
mIpSecService.applyTunnelModeTransform(tunnelResourceId, IpSecManager.DIRECTION_OUT,
|
||||||
|
transformResourceId, "blessedPackage");
|
||||||
|
|
||||||
|
for (int selAddrFamily : ADDRESS_FAMILIES) {
|
||||||
|
verify(mMockNetd)
|
||||||
|
.ipSecUpdateSecurityPolicy(
|
||||||
|
eq(mUid),
|
||||||
|
eq(selAddrFamily),
|
||||||
|
eq(IpSecManager.DIRECTION_OUT),
|
||||||
|
anyString(),
|
||||||
|
anyString(),
|
||||||
|
eq(TEST_SPI),
|
||||||
|
anyInt(), // iKey/oKey
|
||||||
|
anyInt(), // mask
|
||||||
|
eq(tunnelResourceId));
|
||||||
|
}
|
||||||
|
|
||||||
|
ipSecConfig.setXfrmInterfaceId(tunnelResourceId);
|
||||||
|
verifyTransformNetdCalledForCreatingSA(ipSecConfig, createTransformResp);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testApplyTunnelModeTransformWithClosedSpi() throws Exception {
|
||||||
|
IpSecConfig ipSecConfig = new IpSecConfig();
|
||||||
|
ipSecConfig.setMode(IpSecTransform.MODE_TUNNEL);
|
||||||
|
addDefaultSpisAndRemoteAddrToIpSecConfig(ipSecConfig);
|
||||||
|
addAuthAndCryptToIpSecConfig(ipSecConfig);
|
||||||
|
|
||||||
|
IpSecTransformResponse createTransformResp =
|
||||||
|
mIpSecService.createTransform(ipSecConfig, new Binder(), "blessedPackage");
|
||||||
|
IpSecTunnelInterfaceResponse createTunnelResp =
|
||||||
|
createAndValidateTunnel(mSourceAddr, mDestinationAddr, "blessedPackage");
|
||||||
|
|
||||||
|
// Close SPI record
|
||||||
|
mIpSecService.releaseSecurityParameterIndex(ipSecConfig.getSpiResourceId());
|
||||||
|
|
||||||
int transformResourceId = createTransformResp.resourceId;
|
int transformResourceId = createTransformResp.resourceId;
|
||||||
int tunnelResourceId = createTunnelResp.resourceId;
|
int tunnelResourceId = createTunnelResp.resourceId;
|
||||||
mIpSecService.applyTunnelModeTransform(tunnelResourceId, IpSecManager.DIRECTION_OUT,
|
mIpSecService.applyTunnelModeTransform(tunnelResourceId, IpSecManager.DIRECTION_OUT,
|
||||||
|
|||||||
Reference in New Issue
Block a user