neels has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36460?usp=email )


Change subject: msc: expand TC_lu_tmsi_noauth_notmsi
......................................................................

msc: expand TC_lu_tmsi_noauth_notmsi

>From running this test repeatedly, I noticed that osmo-msc's new patch
to avoid storing a TMSI may also trigger more evil twin situations in
the VLR as described in OS#4721.

Always run this test twice, to probe for the evil twin problem.

This test will pass from osmo-msc patch
Ifdabe0b65bffafbf7b8e5cc10e2d225d1ed1cecd on.

Depends: osmo-msc Ifdabe0b65bffafbf7b8e5cc10e2d225d1ed1cecd
Related: SYS#6860 OS#4721
Change-Id: I5e596597add7d585efd27c850067b8d7ba34ecc0
---
M msc/MSC_Tests.ttcn
1 file changed, 44 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/60/36460/1

diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 1275656..0d89a26 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -7318,6 +7318,17 @@
        f_ran_register_imsi(g_pars.imsi, omit);
        f_vty_transceive(MSCVTY, "subscriber imsi " & hex2str(g_pars.imsi) & " 
paging");
        f_expect_paging(by_tmsi := false);
+
+       /* Respond to paging, to clean up internal paging state for this 
subscriber, so we can get a clean second run
+        * out of this test code. Don't use the TMSI in the paging response. */
+       f_cl3_or_initial_ue(valueof(ts_PAG_RESP(ts_MI_IMSI_LV(pars.imsi))));
+       f_mm_common();
+       /* The paging was by VTY, so nothing happens, just a release. */
+       f_expect_clear();
+
+       /* Clean up ttcn state for the second test run to work out. */
+       f_unregister_gsup_imsi(hex2str(pars.imsi));
+       f_ran_unregister_imsi(pars.imsi);
 }
 testcase TC_lu_tmsi_noauth_notmsi() runs on MTC_CT {
        var BSC_ConnHdlrPars pars;
@@ -7330,6 +7341,19 @@
        pars.mm_info := false;
        vc_conn := 
f_start_handler_with_pars(refers(f_tc_lu_tmsi_noauth_notmsi), pars);
        vc_conn.done;
+
+       /* Now run the same test *again*, to test against an evil twin VLR 
entry:
+        * A vlr_subscr with the correct IMSI is now present in the VLR.
+        * We again ask for a LU with the 0x0bad TMSI. The VLR will initially 
create another vlr_subsrc(TMSI=0x0bad).
+        * When it learns the IMSI via ID Request, it needs to realize that 
this IMSI is already present on the first
+        * vsub, and sort out the VLR record so that only one entry for this 
IMSI exists.
+        */
+       pars := f_init_pars(101);
+       pars.net.expect_tmsi := false;
+       pars.tmsi := '0badbad0'O;
+       pars.mm_info := false;
+       vc_conn := 
f_start_handler_with_pars(refers(f_tc_lu_tmsi_noauth_notmsi), pars);
+       vc_conn.done;
 }

 control {

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36460?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I5e596597add7d585efd27c850067b8d7ba34ecc0
Gerrit-Change-Number: 36460
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofm...@sysmocom.de>
Gerrit-MessageType: newchange

Reply via email to