Merge "Add three new IKE options in IkeSessionParamsUtils" am: 15f9600eb6
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2185043 Change-Id: I2e06b16c22fc5cd57e6ffc21c212c3e808a8c822 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -72,6 +72,13 @@ public final class IkeSessionParamsUtils {
|
|||||||
private static final String NATT_KEEPALIVE_DELAY_SEC_KEY = "NATT_KEEPALIVE_DELAY_SEC_KEY";
|
private static final String NATT_KEEPALIVE_DELAY_SEC_KEY = "NATT_KEEPALIVE_DELAY_SEC_KEY";
|
||||||
private static final String IKE_OPTIONS_KEY = "IKE_OPTIONS_KEY";
|
private static final String IKE_OPTIONS_KEY = "IKE_OPTIONS_KEY";
|
||||||
|
|
||||||
|
// TODO: Use the IKE API when they are exposed
|
||||||
|
@VisibleForTesting(visibility = Visibility.PRIVATE)
|
||||||
|
public static final int IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION = 6;
|
||||||
|
|
||||||
|
@VisibleForTesting(visibility = Visibility.PRIVATE)
|
||||||
|
public static final int IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES = 7;
|
||||||
|
|
||||||
private static final Set<Integer> IKE_OPTIONS = new ArraySet<>();
|
private static final Set<Integer> IKE_OPTIONS = new ArraySet<>();
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@@ -80,6 +87,9 @@ public final class IkeSessionParamsUtils {
|
|||||||
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_MOBIKE);
|
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_MOBIKE);
|
||||||
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_FORCE_PORT_4500);
|
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_FORCE_PORT_4500);
|
||||||
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_INITIAL_CONTACT);
|
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_INITIAL_CONTACT);
|
||||||
|
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_REKEY_MOBILITY);
|
||||||
|
IKE_OPTIONS.add(IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION);
|
||||||
|
IKE_OPTIONS.add(IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Serializes an IkeSessionParams to a PersistableBundle. */
|
/** Serializes an IkeSessionParams to a PersistableBundle. */
|
||||||
|
|||||||
@@ -134,13 +134,33 @@ public class IkeSessionParamsUtilsTest {
|
|||||||
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static IkeSessionParams.Builder createBuilderMinimumWithEap() throws Exception {
|
||||||
|
final X509Certificate serverCaCert = createCertFromPemFile("self-signed-ca.pem");
|
||||||
|
|
||||||
|
final byte[] eapId = "test@android.net".getBytes(StandardCharsets.US_ASCII);
|
||||||
|
final int subId = 1;
|
||||||
|
final EapSessionConfig eapConfig =
|
||||||
|
new EapSessionConfig.Builder()
|
||||||
|
.setEapIdentity(eapId)
|
||||||
|
.setEapSimConfig(subId, APPTYPE_USIM)
|
||||||
|
.setEapAkaConfig(subId, APPTYPE_USIM)
|
||||||
|
.build();
|
||||||
|
return createBuilderMinimum().setAuthEap(serverCaCert, eapConfig);
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEncodeDecodeParamsWithIkeOptions() throws Exception {
|
public void testEncodeDecodeParamsWithIkeOptions() throws Exception {
|
||||||
final IkeSessionParams params =
|
final IkeSessionParams params =
|
||||||
createBuilderMinimum()
|
createBuilderMinimumWithEap()
|
||||||
.addIkeOption(IkeSessionParams.IKE_OPTION_ACCEPT_ANY_REMOTE_ID)
|
.addIkeOption(IkeSessionParams.IKE_OPTION_ACCEPT_ANY_REMOTE_ID)
|
||||||
|
.addIkeOption(IkeSessionParams.IKE_OPTION_EAP_ONLY_AUTH)
|
||||||
.addIkeOption(IkeSessionParams.IKE_OPTION_MOBIKE)
|
.addIkeOption(IkeSessionParams.IKE_OPTION_MOBIKE)
|
||||||
|
.addIkeOption(IkeSessionParams.IKE_OPTION_FORCE_PORT_4500)
|
||||||
.addIkeOption(IkeSessionParams.IKE_OPTION_INITIAL_CONTACT)
|
.addIkeOption(IkeSessionParams.IKE_OPTION_INITIAL_CONTACT)
|
||||||
|
.addIkeOption(IkeSessionParams.IKE_OPTION_REKEY_MOBILITY)
|
||||||
|
.addIkeOption(
|
||||||
|
IkeSessionParamsUtils.IKE_OPTION_AUTOMATIC_ADDRESS_FAMILY_SELECTION)
|
||||||
|
.addIkeOption(IkeSessionParamsUtils.IKE_OPTION_AUTOMATIC_NATT_KEEPALIVES)
|
||||||
.build();
|
.build();
|
||||||
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
||||||
}
|
}
|
||||||
@@ -176,19 +196,7 @@ public class IkeSessionParamsUtilsTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testEncodeRecodeParamsWithEapAuth() throws Exception {
|
public void testEncodeRecodeParamsWithEapAuth() throws Exception {
|
||||||
final X509Certificate serverCaCert = createCertFromPemFile("self-signed-ca.pem");
|
final IkeSessionParams params = createBuilderMinimumWithEap().build();
|
||||||
|
|
||||||
final byte[] eapId = "test@android.net".getBytes(StandardCharsets.US_ASCII);
|
|
||||||
final int subId = 1;
|
|
||||||
final EapSessionConfig eapConfig =
|
|
||||||
new EapSessionConfig.Builder()
|
|
||||||
.setEapIdentity(eapId)
|
|
||||||
.setEapSimConfig(subId, APPTYPE_USIM)
|
|
||||||
.setEapAkaConfig(subId, APPTYPE_USIM)
|
|
||||||
.build();
|
|
||||||
|
|
||||||
final IkeSessionParams params =
|
|
||||||
createBuilderMinimum().setAuthEap(serverCaCert, eapConfig).build();
|
|
||||||
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user