Merge "Store IkeTunnelConnectionParams in Ikev2VpnProfile"

This commit is contained in:
Lorenzo Colitti
2022-03-19 05:34:30 +00:00
committed by Gerrit Code Review
2 changed files with 22 additions and 5 deletions

View File

@@ -25209,6 +25209,7 @@ package android.net {
public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
method @Nullable public android.net.ipsec.ike.IkeTunnelConnectionParams getIkeTunnelConnectionParams();
method public int getMaxMtu();
method @Nullable public String getPassword();
method @Nullable public byte[] getPresharedKey();

View File

@@ -142,6 +142,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
private final boolean mIsMetered; // Defaults in builder
private final int mMaxMtu; // Defaults in builder
private final boolean mIsRestrictedToTestNetworks;
@Nullable private final IkeTunnelConnectionParams mIkeTunConnParams;
private Ikev2VpnProfile(
int type,
@@ -160,7 +161,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
int maxMtu,
boolean restrictToTestNetworks,
boolean excludeLocalRoutes,
boolean requiresInternetValidation) {
boolean requiresInternetValidation,
@Nullable IkeTunnelConnectionParams ikeTunConnParams) {
super(type, excludeLocalRoutes, requiresInternetValidation);
checkNotNull(serverAddr, MISSING_PARAM_MSG_TMPL, "Server address");
@@ -190,6 +192,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu = maxMtu;
mIsRestrictedToTestNetworks = restrictToTestNetworks;
mIkeTunConnParams = ikeTunConnParams;
validate();
}
@@ -375,6 +379,12 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
return mMaxMtu;
}
/** Retrieves the ikeTunnelConnectionParams contains IKEv2 configurations, if any was set. */
@Nullable
public IkeTunnelConnectionParams getIkeTunnelConnectionParams() {
return mIkeTunConnParams;
}
/**
* Returns whether or not this VPN profile is restricted to test networks.
*
@@ -403,7 +413,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu,
mIsRestrictedToTestNetworks,
mExcludeLocalRoutes,
mRequiresInternetValidation);
mRequiresInternetValidation,
mIkeTunConnParams);
}
@Override
@@ -429,7 +440,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
&& mMaxMtu == other.mMaxMtu
&& mIsRestrictedToTestNetworks == other.mIsRestrictedToTestNetworks
&& mExcludeLocalRoutes == other.mExcludeLocalRoutes
&& mRequiresInternetValidation == other.mRequiresInternetValidation;
&& mRequiresInternetValidation == other.mRequiresInternetValidation
&& Objects.equals(mIkeTunConnParams, other.mIkeTunConnParams);
}
/**
@@ -504,6 +516,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
@NonNull
public static Ikev2VpnProfile fromVpnProfile(@NonNull VpnProfile profile)
throws GeneralSecurityException {
// TODO: Build the VpnProfile from mIkeTunConnParams if it exists.
final Builder builder = new Builder(profile.server, profile.ipsecIdentifier);
builder.setProxy(profile.proxy);
builder.setAllowedAlgorithms(profile.getAllowedAlgorithms());
@@ -788,7 +801,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
private int mMaxMtu = PlatformVpnProfile.MAX_MTU_DEFAULT;
private boolean mIsRestrictedToTestNetworks = false;
private boolean mExcludeLocalRoutes = false;
@Nullable private IkeTunnelConnectionParams mIkeTunConnParams;
@Nullable private final IkeTunnelConnectionParams mIkeTunConnParams;
/**
* Creates a new builder with the basic parameters of an IKEv2/IPsec VPN.
@@ -803,6 +816,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mServerAddr = serverAddr;
mUserIdentity = identity;
mIkeTunConnParams = null;
}
/**
@@ -1135,7 +1150,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu,
mIsRestrictedToTestNetworks,
mExcludeLocalRoutes,
mRequiresInternetValidation);
mRequiresInternetValidation,
mIkeTunConnParams);
}
}
}