This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Harald Welte gerrit-no-reply at lists.osmocom.orgHarald Welte has submitted this change and it was merged. Change subject: bsc: Unify encryption related test cases ...................................................................... bsc: Unify encryption related test cases Rather than having copy+pate code, parameterize it. Change-Id: Ifc554245f80b09309f2da60c9d17c289c331b22e --- M bsc/BSC_Tests.ttcn M bsc/MSC_ConnectionHandler.ttcn 2 files changed, 31 insertions(+), 56 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index 8ab77cf..b3c7c61 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1434,54 +1434,45 @@ fn.apply(id); } -private function f_tc_assignment_fr_a5_0(charstring id) runs on MSC_ConnHdlr { - g_pars := valueof(t_def_TestHdlrPars); +private function f_tc_assignment_fr_a5(charstring id) runs on MSC_ConnHdlr { var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); f_establish_fully(ass_cmd, exp_compl); - f_cipher_mode('01'O, kc); + f_cipher_mode(g_pars.encr.enc_alg, g_pars.encr.enc_key); } - testcase TC_assignment_fr_a5_0() runs on test_CT { var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + pars.encr := valueof(t_EncrParams('01'O, f_rnd_octstring(8))); f_init(1, true); f_sleep(1.0); - - vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_0)); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); vc_conn.done; } - - - -private function f_tc_assignment_fr_a5_1(charstring id) runs on MSC_ConnHdlr { - g_pars := valueof(t_def_TestHdlrPars); - - var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - - f_establish_fully(ass_cmd, exp_compl); - f_cipher_mode('02'O, kc); -} - testcase TC_assignment_fr_a5_1() runs on test_CT { var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + pars.encr := valueof(t_EncrParams('02'O, f_rnd_octstring(8))); f_init(1, true); f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); + vc_conn.done; +} +testcase TC_assignment_fr_a5_3() runs on test_CT { + var MSC_ConnHdlr vc_conn; + var TestHdlrParams pars := valueof(t_def_TestHdlrPars); + pars.encr := valueof(t_EncrParams('08'O, f_rnd_octstring(8))); - vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_1)); + f_init(1, true); + f_sleep(1.0); + vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5), pars); vc_conn.done; } @@ -1496,7 +1487,6 @@ ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); f_establish_fully(ass_cmd, exp_fail); } - testcase TC_assignment_fr_a5_1_codec_missing() runs on test_CT { var MSC_ConnHdlr vc_conn; @@ -1506,32 +1496,6 @@ vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_1_codec_missing)); vc_conn.done; } - - -private function f_tc_assignment_fr_a5_3(charstring id ) runs on MSC_ConnHdlr { - g_pars := valueof(t_def_TestHdlrPars); - var template PDU_BSSAP exp_compl := tr_BSSMAP_AssignmentComplete(omit, ?); - var BSSMAP_IE_AoIP_TransportLayerAddress tla := valueof(ts_BSSMAP_IE_AoIP_TLA4('01020304'O, 2342)); - var PDU_BSSAP ass_cmd := valueof(ts_BSSMAP_AssignmentReq(omit, tla)); - const OCT8 kc := '0001020304050607'O; - - ass_cmd.pdu.bssmap.assignmentRequest.channelType := valueof(ts_BSSMAP_IE_ChannelType); - ass_cmd.pdu.bssmap.assignmentRequest.codecList := valueof(ts_BSSMAP_IE_CodecList({ts_CodecFR})); - - f_establish_fully(ass_cmd, exp_compl); - f_cipher_mode('08'O, kc); -} - -testcase TC_assignment_fr_a5_3() runs on test_CT { - var MSC_ConnHdlr vc_conn; - - f_init(1, true); - f_sleep(1.0); - - vc_conn := f_start_handler(refers(f_tc_assignment_fr_a5_3)); - vc_conn.done; -} - private function f_tc_assignment_fr_a5_4(charstring id) runs on MSC_ConnHdlr { g_pars := valueof(t_def_TestHdlrPars); @@ -1547,7 +1511,6 @@ f_cipher_mode('10'O, kc, kc128, true); /* TODO: expect GSM0808_CAUSE_CIPHERING_ALGORITHM_NOT_SUPPORTED cause value */ } - testcase TC_assignment_fr_a5_4() runs on test_CT { var MSC_ConnHdlr vc_conn; diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn index efd68a3..c1ff963 100644 --- a/bsc/MSC_ConnectionHandler.ttcn +++ b/bsc/MSC_ConnectionHandler.ttcn @@ -346,12 +346,23 @@ } } +type record TestHdlrEncrParams { + OCT1 enc_alg, + octetstring enc_key +}; + +template (value) TestHdlrEncrParams t_EncrParams(OCT1 alg, octetstring key) := { + enc_alg := alg, + enc_key := key +} + type record TestHdlrParams { OCT1 ra, GsmFrameNumber fn, hexstring imsi, RslLinkId link_id, - BSSMAP_IE_SpeechCodecList ass_codec_list optional + BSSMAP_IE_SpeechCodecList ass_codec_list optional, + TestHdlrEncrParams encr optional }; template (value) TestHdlrParams t_def_TestHdlrPars := { @@ -359,7 +370,8 @@ fn := 23, imsi := '001019876543210'H, link_id := valueof(ts_RslLinkID_DCCH(0)), - ass_codec_list := omit + ass_codec_list := omit, + encr := omit } function f_create_chan_and_exp() runs on MSC_ConnHdlr { -- To view, visit https://gerrit.osmocom.org/8108 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ifc554245f80b09309f2da60c9d17c289c331b22e Gerrit-PatchSet: 1 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org> Gerrit-Reviewer: Jenkins Builder