Merge "Store IkeTunnelConnectionParams in Ikev2VpnProfile" am: bc6f905d38

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2029924

Change-Id: Id9fc2a37c1f8baff8bb93f5d0e7c315fe5ac5a70
This commit is contained in:
Lorenzo Colitti
2022-03-19 05:57:07 +00:00
committed by Automerger Merge Worker
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 { public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms(); method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
method @Nullable public android.net.ipsec.ike.IkeTunnelConnectionParams getIkeTunnelConnectionParams();
method public int getMaxMtu(); method public int getMaxMtu();
method @Nullable public String getPassword(); method @Nullable public String getPassword();
method @Nullable public byte[] getPresharedKey(); 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 boolean mIsMetered; // Defaults in builder
private final int mMaxMtu; // Defaults in builder private final int mMaxMtu; // Defaults in builder
private final boolean mIsRestrictedToTestNetworks; private final boolean mIsRestrictedToTestNetworks;
@Nullable private final IkeTunnelConnectionParams mIkeTunConnParams;
private Ikev2VpnProfile( private Ikev2VpnProfile(
int type, int type,
@@ -160,7 +161,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
int maxMtu, int maxMtu,
boolean restrictToTestNetworks, boolean restrictToTestNetworks,
boolean excludeLocalRoutes, boolean excludeLocalRoutes,
boolean requiresInternetValidation) { boolean requiresInternetValidation,
@Nullable IkeTunnelConnectionParams ikeTunConnParams) {
super(type, excludeLocalRoutes, requiresInternetValidation); super(type, excludeLocalRoutes, requiresInternetValidation);
checkNotNull(serverAddr, MISSING_PARAM_MSG_TMPL, "Server address"); checkNotNull(serverAddr, MISSING_PARAM_MSG_TMPL, "Server address");
@@ -190,6 +192,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu = maxMtu; mMaxMtu = maxMtu;
mIsRestrictedToTestNetworks = restrictToTestNetworks; mIsRestrictedToTestNetworks = restrictToTestNetworks;
mIkeTunConnParams = ikeTunConnParams;
validate(); validate();
} }
@@ -375,6 +379,12 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
return mMaxMtu; 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. * Returns whether or not this VPN profile is restricted to test networks.
* *
@@ -403,7 +413,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu, mMaxMtu,
mIsRestrictedToTestNetworks, mIsRestrictedToTestNetworks,
mExcludeLocalRoutes, mExcludeLocalRoutes,
mRequiresInternetValidation); mRequiresInternetValidation,
mIkeTunConnParams);
} }
@Override @Override
@@ -429,7 +440,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
&& mMaxMtu == other.mMaxMtu && mMaxMtu == other.mMaxMtu
&& mIsRestrictedToTestNetworks == other.mIsRestrictedToTestNetworks && mIsRestrictedToTestNetworks == other.mIsRestrictedToTestNetworks
&& mExcludeLocalRoutes == other.mExcludeLocalRoutes && 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 @NonNull
public static Ikev2VpnProfile fromVpnProfile(@NonNull VpnProfile profile) public static Ikev2VpnProfile fromVpnProfile(@NonNull VpnProfile profile)
throws GeneralSecurityException { throws GeneralSecurityException {
// TODO: Build the VpnProfile from mIkeTunConnParams if it exists.
final Builder builder = new Builder(profile.server, profile.ipsecIdentifier); final Builder builder = new Builder(profile.server, profile.ipsecIdentifier);
builder.setProxy(profile.proxy); builder.setProxy(profile.proxy);
builder.setAllowedAlgorithms(profile.getAllowedAlgorithms()); builder.setAllowedAlgorithms(profile.getAllowedAlgorithms());
@@ -788,7 +801,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
private int mMaxMtu = PlatformVpnProfile.MAX_MTU_DEFAULT; private int mMaxMtu = PlatformVpnProfile.MAX_MTU_DEFAULT;
private boolean mIsRestrictedToTestNetworks = false; private boolean mIsRestrictedToTestNetworks = false;
private boolean mExcludeLocalRoutes = 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. * 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; mServerAddr = serverAddr;
mUserIdentity = identity; mUserIdentity = identity;
mIkeTunConnParams = null;
} }
/** /**
@@ -1135,7 +1150,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
mMaxMtu, mMaxMtu,
mIsRestrictedToTestNetworks, mIsRestrictedToTestNetworks,
mExcludeLocalRoutes, mExcludeLocalRoutes,
mRequiresInternetValidation); mRequiresInternetValidation,
mIkeTunConnParams);
} }
} }
} }