Module: kamailio Branch: master Commit: 6e76452c11189620663da84f879400575c673792 URL: https://github.com/kamailio/kamailio/commit/6e76452c11189620663da84f87940057...
Author: Daniel-Constantin Mierla miconda@gmail.com Committer: Daniel-Constantin Mierla miconda@gmail.com Date: 2025-02-06T08:15:58+01:00
ims_auth: amf passed as parameter to resync local auth vector
---
Modified: src/modules/ims_auth/auth_vector.c Modified: src/modules/ims_auth/auth_vector.h Modified: src/modules/ims_auth/authorize.c
---
Diff: https://github.com/kamailio/kamailio/commit/6e76452c11189620663da84f87940057... Patch: https://github.com/kamailio/kamailio/commit/6e76452c11189620663da84f87940057...
---
diff --git a/src/modules/ims_auth/auth_vector.c b/src/modules/ims_auth/auth_vector.c index c973d8acfb3..a681490f71a 100644 --- a/src/modules/ims_auth/auth_vector.c +++ b/src/modules/ims_auth/auth_vector.c @@ -80,12 +80,12 @@ auth_vector *auth_vector_make_local(uint8_t k[16], uint8_t op[16], int opIsOPc,
int auth_vector_resync_local(uint8_t sqnMSout[6], auth_vector *av, - uint8_t auts[14], uint8_t k[16], uint8_t op[16], int opIsOPc) + uint8_t auts[14], uint8_t k[16], uint8_t op[16], int opIsOPc, + uint8_t amf[2]) { uint8_t rand[16]; uint8_t op_c[16]; uint8_t ak[6]; - uint8_t amf[2]; uint8_t sqnMS[6]; uint8_t mac_s[8]; uint8_t xmac_s[8]; diff --git a/src/modules/ims_auth/auth_vector.h b/src/modules/ims_auth/auth_vector.h index 1b90cfe9f21..0b0457258b0 100644 --- a/src/modules/ims_auth/auth_vector.h +++ b/src/modules/ims_auth/auth_vector.h @@ -32,7 +32,8 @@ auth_vector *auth_vector_make_local(uint8_t k[16], uint8_t op[16], int opIsOPc, uint8_t amf[2], uint8_t sqn[6]); int auth_vector_resync_local(uint8_t sqnMSout[6], auth_vector *av, - uint8_t auts[14], uint8_t k[16], uint8_t op[16], int opIsOPc); + uint8_t auts[14], uint8_t k[16], uint8_t op[16], int opIsOPc, + uint8_t amf[2]); void sqn_increment(uint8_t sqn[6]);
#endif diff --git a/src/modules/ims_auth/authorize.c b/src/modules/ims_auth/authorize.c index 44bfbc4f91a..0d16e658893 100644 --- a/src/modules/ims_auth/authorize.c +++ b/src/modules/ims_auth/authorize.c @@ -708,10 +708,12 @@ int ims_resync_auth(struct sip_msg *msg, str *proute_name, str *prealm) int resync_result = 0; if(_ims_auth_data.flags & IMS_AUTH_FLAG_OPC_SET) { resync_result = auth_vector_resync_local(aud->sqn, av, - auts_bin, _ims_auth_data.k, _ims_auth_data.op_c, 1); + auts_bin, _ims_auth_data.k, _ims_auth_data.op_c, 1, + _ims_auth_data.amf); } else { resync_result = auth_vector_resync_local(aud->sqn, av, - auts_bin, _ims_auth_data.k, _ims_auth_data.op, 0); + auts_bin, _ims_auth_data.k, _ims_auth_data.op, 0, + _ims_auth_data.amf); }
if(resync_result != 0) {