msc: f_auth3g_kc(): take vec as argument, drop "runs on"

It is more elegant to have one arg and not require a "runs on".

Related: SYS#5324
Change-Id: Iec21710edaa6ad3d20e23c7ee055909c642e8220
This commit is contained in:
Neels Hofmeyr 2021-06-23 23:24:09 +02:00
parent 2822d07ab2
commit 0d6fd3eff2
1 changed files with 5 additions and 4 deletions

View File

@ -435,7 +435,7 @@ var GSUP_IE auth_tuple;
g_pars.vec.autn,
g_pars.vec.res));
GSUP.send(ts_GSUP_SAI_RES(g_pars.imsi, auth_tuple));
g_pars.vec.kc := f_auth3g_kc();
g_pars.vec.kc := f_auth3g_kc(g_pars.vec);
} else {
g_pars.vec := f_gen_auth_vec_2g();
auth_tuple := valueof(ts_GSUP_IE_AuthTuple2G(g_pars.vec.rand,
@ -548,11 +548,12 @@ function f_expect_common_id() runs on BSC_ConnHdlr
}
}
function f_auth3g_kc() runs on BSC_ConnHdlr return OCT8 {
/* For UMTS AKA on GERAN, calculate the specific kc from the UMTS AKA ck and ik vectors. */
function f_auth3g_kc(AuthVector vec) return OCT8 {
var integer i;
var octetstring res := g_pars.vec.ck[0] xor4b g_pars.vec.ck[0 + 8] xor4b g_pars.vec.ik[0] xor4b g_pars.vec.ik[0 + 8];
var octetstring res := vec.ck[0] xor4b vec.ck[0 + 8] xor4b vec.ik[0] xor4b vec.ik[0 + 8];
for (i := 1; i < 8; i := i + 1) {
var octetstring a := g_pars.vec.ck[i] xor4b g_pars.vec.ck[i + 8] xor4b g_pars.vec.ik[i] xor4b g_pars.vec.ik[i + 8];
var octetstring a := vec.ck[i] xor4b vec.ck[i + 8] xor4b vec.ik[i] xor4b vec.ik[i + 8];
res := res & a;
}