Pass server address directly to IKE.
This is a clean cherry-pick from aosp/1237528 This change updates the buildIkeSessionParams() method to use the new IKE API that allows the VPN to pass the server address, and let IKE do the DNS resolution. Bug: 149356682 Test: FrameworksNetTests passing Change-Id: Ic1077c6eb1f49bca9331e49555b3787cee02788c
This commit is contained in:
@@ -2357,10 +2357,11 @@ public class Vpn {
|
||||
|
||||
// TODO: Remove the need for adding two unused addresses with
|
||||
// IPsec tunnels.
|
||||
final InetAddress address = InetAddress.getLocalHost();
|
||||
mTunnelIface =
|
||||
mIpSecManager.createIpSecTunnelInterface(
|
||||
ikeSessionParams.getServerAddress() /* unused */,
|
||||
ikeSessionParams.getServerAddress() /* unused */,
|
||||
address /* unused */,
|
||||
address /* unused */,
|
||||
network);
|
||||
mNetd.setInterfaceUp(mTunnelIface.getInterfaceName());
|
||||
|
||||
|
||||
@@ -85,16 +85,12 @@ import java.util.List;
|
||||
public class VpnIkev2Utils {
|
||||
static IkeSessionParams buildIkeSessionParams(
|
||||
@NonNull Context context, @NonNull Ikev2VpnProfile profile, @NonNull Network network) {
|
||||
// TODO(b/149356682): Update this based on new IKE API. Only numeric addresses supported
|
||||
// until then. All others throw IAE (caught by caller).
|
||||
final InetAddress serverAddr = InetAddresses.parseNumericAddress(profile.getServerAddr());
|
||||
final IkeIdentification localId = parseIkeIdentification(profile.getUserIdentity());
|
||||
final IkeIdentification remoteId = parseIkeIdentification(profile.getServerAddr());
|
||||
|
||||
// TODO(b/149356682): Update this based on new IKE API.
|
||||
final IkeSessionParams.Builder ikeOptionsBuilder =
|
||||
new IkeSessionParams.Builder(context)
|
||||
.setServerAddress(serverAddr)
|
||||
.setServerHostname(profile.getServerAddr())
|
||||
.setNetwork(network)
|
||||
.setLocalIdentification(localId)
|
||||
.setRemoteIdentification(remoteId);
|
||||
|
||||
Reference in New Issue
Block a user