add msc_vlr tests for UMTS without ciphering
Following I04ecd7a3b1cc603b2e3feb630e8c7c93fc36ccd7, have tests for UMTS authentication both for cases with and without encryption. - Rename test_umts_authen_utran to test_umts_auth_ciph_utran() (uses encryption). - Again add test_umts_authen_utran() not using encryption. - Likewise with test_umts_authen_resync_utran(). Some permutations are still missing, like UMTS AKA on GERAN with encryption enabled; not bothering at the moment. Related: OS#2783 Change-Id: I54227f1f08c38c0bf69b9c48924669c4829b04b9
This commit is contained in:
parent
a4d7a76816
commit
14c34d8bec
|
@ -122,23 +122,30 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
|
||||||
VERBOSE_ASSERT(auth_request_sent, == true, "%d");
|
VERBOSE_ASSERT(auth_request_sent, == true, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
|
|
||||||
if (via_ran == OSMO_RAT_GERAN_A) {
|
if (net->a5_encryption_mask > 0x1) {
|
||||||
btw("MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");
|
/* Encryption enabled */
|
||||||
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
if (via_ran == OSMO_RAT_GERAN_A) {
|
||||||
ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");
|
btw("Test code not implemented");
|
||||||
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
OSMO_ASSERT(false);
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
} else {
|
||||||
} else {
|
/* On UTRAN */
|
||||||
/* On UTRAN */
|
btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
||||||
btw("MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
expect_security_mode_ctrl(NULL, "27497388b6cb044648f396aa155b95ef");
|
||||||
expect_security_mode_ctrl(NULL, "27497388b6cb044648f396aa155b95ef");
|
ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");
|
||||||
ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");
|
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
||||||
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
|
||||||
|
|
||||||
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");
|
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");
|
||||||
|
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
||||||
|
ms_sends_security_mode_complete();
|
||||||
|
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
||||||
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* Encryption disabled */
|
||||||
|
btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");
|
||||||
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
||||||
ms_sends_security_mode_complete();
|
ms_sends_msg("0554" "e229c19e" "2104" "791f2e41");
|
||||||
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
}
|
}
|
||||||
|
@ -190,22 +197,29 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
|
||||||
EXPECT_ACCEPTED(false);
|
EXPECT_ACCEPTED(false);
|
||||||
thwart_rx_non_initial_requests();
|
thwart_rx_non_initial_requests();
|
||||||
|
|
||||||
if (via_ran == OSMO_RAT_GERAN_A) {
|
if (net->a5_encryption_mask > 0x1) {
|
||||||
btw("MS sends Authen Response, VLR accepts with a CM Service Accept");
|
/* Encryption enabled */
|
||||||
|
if (via_ran == OSMO_RAT_GERAN_A) {
|
||||||
|
btw("Test code not implemented");
|
||||||
|
OSMO_ASSERT(false);
|
||||||
|
} else {
|
||||||
|
/* On UTRAN */
|
||||||
|
btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
||||||
|
expect_security_mode_ctrl(NULL, "1159ec926a50e98c034a6b7d7c9f418d");
|
||||||
|
ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */
|
||||||
|
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
||||||
|
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
|
||||||
|
|
||||||
|
btw("MS sends SecurityModeControl acceptance, VLR accepts; above Ciphering is an implicit CM Service Accept");
|
||||||
|
ms_sends_security_mode_complete();
|
||||||
|
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* Encryption disabled */
|
||||||
|
btw("Encryption disabled. MS sends Authen Response, VLR accepts with a CM Service Accept");
|
||||||
gsup_expect_tx(NULL);
|
gsup_expect_tx(NULL);
|
||||||
ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */
|
ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */
|
||||||
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
|
VERBOSE_ASSERT(cm_service_result_sent, == RES_ACCEPT, "%d");
|
||||||
} else {
|
|
||||||
/* On UTRAN */
|
|
||||||
btw("MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
|
||||||
expect_security_mode_ctrl(NULL, "1159ec926a50e98c034a6b7d7c9f418d");
|
|
||||||
ms_sends_msg("0554" "7db47cf7" "2104" "f81e4dc7"); /* 2nd vector's res, s.a. */
|
|
||||||
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
|
||||||
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
|
|
||||||
|
|
||||||
btw("MS sends SecurityModeControl acceptance, VLR accepts; above Ciphering is an implicit CM Service Accept");
|
|
||||||
ms_sends_security_mode_complete();
|
|
||||||
VERBOSE_ASSERT(cm_service_result_sent, == RES_NONE, "%d");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Release connection */
|
/* Release connection */
|
||||||
|
@ -251,21 +265,28 @@ static void _test_umts_authen(enum osmo_rat_type via_ran)
|
||||||
EXPECT_ACCEPTED(false);
|
EXPECT_ACCEPTED(false);
|
||||||
thwart_rx_non_initial_requests();
|
thwart_rx_non_initial_requests();
|
||||||
|
|
||||||
if (via_ran == OSMO_RAT_GERAN_A) {
|
if (net->a5_encryption_mask > 0x1) {
|
||||||
btw("MS sends Authen Response, VLR accepts and sends pending SMS");
|
/* Encryption enabled */
|
||||||
|
if (via_ran == OSMO_RAT_GERAN_A) {
|
||||||
|
btw("Test code not implemented");
|
||||||
|
OSMO_ASSERT(false);
|
||||||
|
} else {
|
||||||
|
/* On UTRAN */
|
||||||
|
btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
||||||
|
expect_security_mode_ctrl(NULL, "eb50e770ddcc3060101d2f43b6c2b884");
|
||||||
|
ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */
|
||||||
|
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
||||||
|
|
||||||
|
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends SMS");
|
||||||
|
dtap_expect_tx(sms);
|
||||||
|
ms_sends_security_mode_complete();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* Encryption disabled */
|
||||||
|
btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends pending SMS");
|
||||||
dtap_expect_tx(sms);
|
dtap_expect_tx(sms);
|
||||||
ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */
|
ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */
|
||||||
VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");
|
VERBOSE_ASSERT(dtap_tx_confirmed, == true, "%d");
|
||||||
} else {
|
|
||||||
/* On UTRAN */
|
|
||||||
btw("MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
|
||||||
expect_security_mode_ctrl(NULL, "eb50e770ddcc3060101d2f43b6c2b884");
|
|
||||||
ms_sends_msg("0554" "706f9967" "2104" "19ba609c"); /* 3nd vector's res, s.a. */
|
|
||||||
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
|
||||||
|
|
||||||
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends SMS");
|
|
||||||
dtap_expect_tx(sms);
|
|
||||||
ms_sends_security_mode_complete();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
btw("SMS was delivered, no requests pending for subscr");
|
btw("SMS was delivered, no requests pending for subscr");
|
||||||
|
@ -313,6 +334,15 @@ static void test_umts_authen_geran()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_umts_authen_utran()
|
static void test_umts_authen_utran()
|
||||||
|
{
|
||||||
|
comment_start();
|
||||||
|
/* A5/0 = no encryption; so far the A5 setting also triggers UTRAN encryption */
|
||||||
|
net->a5_encryption_mask = A5_0;
|
||||||
|
_test_umts_authen(OSMO_RAT_UTRAN_IU);
|
||||||
|
comment_end();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_umts_auth_ciph_utran()
|
||||||
{
|
{
|
||||||
comment_start();
|
comment_start();
|
||||||
/* A5/0 + A5/3 = encryption enabled; so far the A5 setting also triggers UTRAN encryption */
|
/* A5/0 + A5/3 = encryption enabled; so far the A5 setting also triggers UTRAN encryption */
|
||||||
|
@ -489,23 +519,30 @@ static void _test_umts_authen_resync(enum osmo_rat_type via_ran)
|
||||||
VERBOSE_ASSERT(auth_request_sent, == true, "%d");
|
VERBOSE_ASSERT(auth_request_sent, == true, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
|
|
||||||
if (via_ran == OSMO_RAT_GERAN_A) {
|
if (net->a5_encryption_mask > 0x1) {
|
||||||
btw("MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");
|
/* Encryption enabled */
|
||||||
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
if (via_ran == OSMO_RAT_GERAN_A) {
|
||||||
ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");
|
btw("Test code not implemented");
|
||||||
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
OSMO_ASSERT(false);
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
} else {
|
||||||
} else {
|
/* On UTRAN */
|
||||||
/* On UTRAN */
|
btw("Encryption enabled. MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
||||||
btw("MS sends Authen Response, VLR accepts and sends SecurityModeControl");
|
expect_security_mode_ctrl(NULL, "8a90c769b7272f3bb7a1c1fbb1ea9349");
|
||||||
expect_security_mode_ctrl(NULL, "8a90c769b7272f3bb7a1c1fbb1ea9349");
|
ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");
|
||||||
ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");
|
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
||||||
VERBOSE_ASSERT(security_mode_ctrl_sent, == true, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
|
||||||
|
|
||||||
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");
|
btw("MS sends SecurityModeControl acceptance, VLR accepts and sends GSUP LU Req to HLR");
|
||||||
|
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
||||||
|
ms_sends_security_mode_complete();
|
||||||
|
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
||||||
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* Encryption disabled */
|
||||||
|
btw("Encryption disabled. MS sends Authen Response, VLR accepts and sends GSUP LU Req to HLR");
|
||||||
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
gsup_expect_tx("04010809710000000156f0280102" VLR_TO_HLR);
|
||||||
ms_sends_security_mode_complete();
|
ms_sends_msg("0554" "1df5f0b4" "2104" "f22b696e");
|
||||||
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
VERBOSE_ASSERT(gsup_tx_confirmed, == true, "%d");
|
||||||
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
VERBOSE_ASSERT(lu_result_sent, == RES_NONE, "%d");
|
||||||
}
|
}
|
||||||
|
@ -555,6 +592,15 @@ static void test_umts_authen_resync_geran()
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_umts_authen_resync_utran()
|
static void test_umts_authen_resync_utran()
|
||||||
|
{
|
||||||
|
comment_start();
|
||||||
|
/* A5/0 = no encryption; so far the A5 setting also triggers UTRAN encryption */
|
||||||
|
net->a5_encryption_mask = A5_0;
|
||||||
|
_test_umts_authen_resync(OSMO_RAT_UTRAN_IU);
|
||||||
|
comment_end();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void test_umts_auth_ciph_resync_utran()
|
||||||
{
|
{
|
||||||
comment_start();
|
comment_start();
|
||||||
/* A5/0 + A5/3 = encryption enabled; so far the A5 setting also triggers UTRAN encryption */
|
/* A5/0 + A5/3 = encryption enabled; so far the A5 setting also triggers UTRAN encryption */
|
||||||
|
@ -884,8 +930,10 @@ static void test_umts_authen_only_sres_utran()
|
||||||
msc_vlr_test_func_t msc_vlr_tests[] = {
|
msc_vlr_test_func_t msc_vlr_tests[] = {
|
||||||
test_umts_authen_geran,
|
test_umts_authen_geran,
|
||||||
test_umts_authen_utran,
|
test_umts_authen_utran,
|
||||||
|
test_umts_auth_ciph_utran,
|
||||||
test_umts_authen_resync_geran,
|
test_umts_authen_resync_geran,
|
||||||
test_umts_authen_resync_utran,
|
test_umts_authen_resync_utran,
|
||||||
|
test_umts_auth_ciph_resync_utran,
|
||||||
test_umts_authen_too_short_res_geran,
|
test_umts_authen_too_short_res_geran,
|
||||||
test_umts_authen_too_short_res_utran,
|
test_umts_authen_too_short_res_utran,
|
||||||
test_umts_authen_too_long_res_geran,
|
test_umts_authen_too_long_res_geran,
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue