Merge "Add three new IKE options in IkeSessionParamsUtils"
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 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<>();
|
||||
|
||||
static {
|
||||
@@ -80,6 +87,9 @@ public final class IkeSessionParamsUtils {
|
||||
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_MOBIKE);
|
||||
IKE_OPTIONS.add(IkeSessionParams.IKE_OPTION_FORCE_PORT_4500);
|
||||
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. */
|
||||
|
||||
@@ -134,13 +134,33 @@ public class IkeSessionParamsUtilsTest {
|
||||
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
|
||||
public void testEncodeDecodeParamsWithIkeOptions() throws Exception {
|
||||
final IkeSessionParams params =
|
||||
createBuilderMinimum()
|
||||
createBuilderMinimumWithEap()
|
||||
.addIkeOption(IkeSessionParams.IKE_OPTION_ACCEPT_ANY_REMOTE_ID)
|
||||
.addIkeOption(IkeSessionParams.IKE_OPTION_EAP_ONLY_AUTH)
|
||||
.addIkeOption(IkeSessionParams.IKE_OPTION_MOBIKE)
|
||||
.addIkeOption(IkeSessionParams.IKE_OPTION_FORCE_PORT_4500)
|
||||
.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();
|
||||
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
||||
}
|
||||
@@ -176,19 +196,7 @@ public class IkeSessionParamsUtilsTest {
|
||||
|
||||
@Test
|
||||
public void testEncodeRecodeParamsWithEapAuth() 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();
|
||||
|
||||
final IkeSessionParams params =
|
||||
createBuilderMinimum().setAuthEap(serverCaCert, eapConfig).build();
|
||||
final IkeSessionParams params = createBuilderMinimumWithEap().build();
|
||||
verifyPersistableBundleEncodeDecodeIsLossless(params);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user