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:
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user