mirror of https://gerrit.osmocom.org/libosmocore
osmo_auth*: fix ordering of function args
milenage_gen_vec() has parameter ordering of (..., auts, rand_auts, rand). osmo_auth_gen_vec_auts() has (..., rand_auts, auts, rand), but actually feeds args in the same order, so that its rand_auts becomes auts, and its auts becomes rand_auts. Interestingly enough, API user osmo-gen-vec.c also adheres to this misordering and in turn passes auts for osmo_auth_gen_vec_auts()'s rand_auts and vice versa, so that it matches milenage_gen_vec(). So both the implementation (milenage_*) and the API user use the same ordering, just osmo_auth_gen_vec_auts() and osmo_auth_impl{ .gen_vec_auts() } in-between have the argument names swapped. Any current user of this API would need to adhere to this swapping or will not get successful AUTS resolution to a SQN. So the least impact fix is to rename the args without any actual functional change. So swap the names rand_auts and auts for osmo_auth_gen_vec_auts() and osmo_auth_impl{ .gen_vec_auts() }. (Also adjust API doc ordering) Change-Id: I0dcbd49759fc32d3b8974102dbd1d6703364ebf4
This commit is contained in:
parent
18d65be080
commit
03ab9a6500
|
@ -74,7 +74,7 @@ struct osmo_auth_impl {
|
|||
/* \brief callback for generationg auth vectors + re-sync */
|
||||
int (*gen_vec_auts)(struct osmo_auth_vector *vec,
|
||||
struct osmo_sub_auth_data *aud,
|
||||
const uint8_t *rand_auts, const uint8_t *auts,
|
||||
const uint8_t *auts, const uint8_t *rand_auts,
|
||||
const uint8_t *_rand);
|
||||
};
|
||||
|
||||
|
@ -83,7 +83,7 @@ int osmo_auth_gen_vec(struct osmo_auth_vector *vec,
|
|||
|
||||
int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec,
|
||||
struct osmo_sub_auth_data *aud,
|
||||
const uint8_t *rand_auts, const uint8_t *auts,
|
||||
const uint8_t *auts, const uint8_t *rand_auts,
|
||||
const uint8_t *_rand);
|
||||
|
||||
int osmo_auth_register(struct osmo_auth_impl *impl);
|
||||
|
|
|
@ -170,8 +170,8 @@ int osmo_auth_gen_vec(struct osmo_auth_vector *vec,
|
|||
/*! \brief Generate authentication vector and re-sync sequence
|
||||
* \param[out] vec Generated authentication vector
|
||||
* \param[in] aud Subscriber-specific key material
|
||||
* \param[in] rand_auts RAND value sent by the SIM/MS
|
||||
* \param[in] auts AUTS value sent by the SIM/MS
|
||||
* \param[in] rand_auts RAND value sent by the SIM/MS
|
||||
* \param[in] _rand Random challenge to be used to generate vector
|
||||
* \returns 0 on success, negative error on failure
|
||||
*
|
||||
|
@ -184,7 +184,7 @@ int osmo_auth_gen_vec(struct osmo_auth_vector *vec,
|
|||
*/
|
||||
int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec,
|
||||
struct osmo_sub_auth_data *aud,
|
||||
const uint8_t *rand_auts, const uint8_t *auts,
|
||||
const uint8_t *auts, const uint8_t *rand_auts,
|
||||
const uint8_t *_rand)
|
||||
{
|
||||
struct osmo_auth_impl *impl = selected_auths[aud->algo];
|
||||
|
@ -192,7 +192,7 @@ int osmo_auth_gen_vec_auts(struct osmo_auth_vector *vec,
|
|||
if (!impl || !impl->gen_vec_auts)
|
||||
return -ENOENT;
|
||||
|
||||
return impl->gen_vec_auts(vec, aud, rand_auts, auts, _rand);
|
||||
return impl->gen_vec_auts(vec, aud, auts, rand_auts, _rand);
|
||||
}
|
||||
|
||||
static const struct value_string auth_alg_vals[] = {
|
||||
|
|
Loading…
Reference in New Issue