aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2018-03-01 18:09:45 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-03-02 00:35:25 +0100
commit29b8da00116a897d2aea9bfe989766e1f67adc45 (patch)
tree3e97688f8789c6b9f9d44a1334be9f403dfc8b29
parent9adaa70e7826e045c0169106fc0cabce8ad6120c (diff)
msc: add TC_lu_imsi_auth_tmsi_encr_3_1_no_cm
This is a variation on TC_lu_imsi_auth_tmsi_encr_3_1 that "indicates" inability of A5/3 by completely omitting a Classmark2. Add flag send_cm_update to f_tc_lu_imsi_auth_tmsi_encr_3_1() so that we can easily omit the classmark update. Set this flag to true in existing TC_lu_imsi_auth_tmsi_encr_3_1, and add pass false from the new test. Change-Id: I903136d5acbd88f2e0e26fee22e3878258e04786
-rw-r--r--msc/MSC_Tests.ttcn21
1 files changed, 19 insertions, 2 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 517afe03..daadc2bb 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -1444,7 +1444,11 @@ private function f_tc_lu_imsi_auth_tmsi_encr_3_1(charstring id, BSC_ConnHdlrPars
var PDU_ML3_MS_NW l3_lu := f_build_lu_imsi(g_pars.imsi);
f_create_gsup_expect(hex2str(g_pars.imsi));
f_bssap_compl_l3(l3_lu);
- BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
+ if (pars.send_early_cm) {
+ BSSAP.send(ts_BSSMAP_ClassmarkUpd(g_pars.cm2, g_pars.cm3));
+ } else {
+ pars.cm1.esind := '0'B;
+ }
f_mm_auth();
alt {
[] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_LU_Rej)) { }
@@ -1465,7 +1469,19 @@ testcase TC_lu_imsi_auth_tmsi_encr_3_1() runs on MTC_CT {
f_vty_config(MSCVTY, "network", "authentication required");
f_vty_config(MSCVTY, "network", "encryption a5 3");
- vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_3_1), 36);
+ vc_conn := f_start_handler(refers(f_tc_lu_imsi_auth_tmsi_encr_3_1), 360);
+ vc_conn.done;
+}
+testcase TC_lu_imsi_auth_tmsi_encr_3_1_no_cm() runs on MTC_CT {
+ var BSC_ConnHdlrPars pars;
+ var BSC_ConnHdlr vc_conn;
+ f_init();
+ f_vty_config(MSCVTY, "network", "authentication required");
+ f_vty_config(MSCVTY, "network", "encryption a5 3");
+
+ pars := f_init_pars(361);
+ pars.send_early_cm := false;
+ vc_conn := f_start_handler_with_pars(refers(f_tc_lu_imsi_auth_tmsi_encr_3_1), pars);
vc_conn.done;
}
@@ -1624,6 +1640,7 @@ control {
execute( TC_lu_imsi_auth_tmsi_encr_1_13() );
execute( TC_lu_imsi_auth_tmsi_encr_3_13() );
execute( TC_lu_imsi_auth_tmsi_encr_3_1() );
+ execute( TC_lu_imsi_auth_tmsi_encr_3_1_no_cm() );
execute( TC_lu_imsi_auth_tmsi_encr_13_2() );
execute( TC_lu_imsi_auth_tmsi_encr_013_2() );