aboutsummaryrefslogtreecommitdiffstats
path: root/src/libvlr/vlr_auth_fsm.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2017-10-29 02:11:18 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2017-10-31 02:02:43 +0100
commit33f534136cfa7126e9c36bcacbb4c10a8ea7a2d0 (patch)
tree8c8521cb9eabe6d670235494f41996ac20ad9aab /src/libvlr/vlr_auth_fsm.c
parent96748ca790e18cb6f488d203fa223a74aa0cc56b (diff)
cosmetic: vlr: rename auth_tuple_max_use_count to _reuse_
The name auth_tuple_max_use_count suggests that if I want to use each auth tuple exactly once, I need to set it to 1. Curiously, so far you need to set to intended uses - 1. Reflect this in its name by renaming to auth_tuple_max_reuse_count. I first considered to not rename but change the if-conditions so that == 1 means each tuple is used once, and upon struct vlr allocation, set the default to 1. That would also logically entail that setting to 0 means to re-use vectors infinitely often, like now a value < 0 does. That means, when allocating a vlr struct zeroed out, we would by default have the most dangerous/unsafe configuration. It's no problem to set a default to 1 upon allocation, but by renaming the variable instead, we get safer alloc-zero behavior and don't need to change any conditionals in the code (even though the patch ends up considerably larger from all the renaming). Change-Id: I0b036cae1536d5d6fb2304f837ed1a6c3713be55
Diffstat (limited to 'src/libvlr/vlr_auth_fsm.c')
-rw-r--r--src/libvlr/vlr_auth_fsm.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/libvlr/vlr_auth_fsm.c b/src/libvlr/vlr_auth_fsm.c
index 1c9e19137..f07e60fdb 100644
--- a/src/libvlr/vlr_auth_fsm.c
+++ b/src/libvlr/vlr_auth_fsm.c
@@ -59,7 +59,7 @@ struct auth_fsm_priv {
bool is_utran;
bool auth_requested;
- int auth_tuple_max_use_count; /* see vlr->cfg instead */
+ int auth_tuple_max_reuse_count; /* see vlr->cfg instead */
};
/***********************************************************************
@@ -69,13 +69,13 @@ struct auth_fsm_priv {
/* Always use either vlr_subscr_get_auth_tuple() or vlr_subscr_has_auth_tuple()
* instead, to ensure proper use count.
* Return an auth tuple with the lowest use_count among the auth tuples. If
- * max_use_count >= 0, return NULL if all available auth tuples have a use
- * count > max_use_count. If max_use_count is negative, return a currently
+ * max_reuse_count >= 0, return NULL if all available auth tuples have a use
+ * count > max_reuse_count. If max_reuse_count is negative, return a currently
* least used auth tuple without enforcing a maximum use count. If there are
* no auth tuples, return NULL.
*/
static struct gsm_auth_tuple *
-_vlr_subscr_next_auth_tuple(struct vlr_subscr *vsub, int max_use_count)
+_vlr_subscr_next_auth_tuple(struct vlr_subscr *vsub, int max_reuse_count)
{
unsigned int count;
unsigned int idx;
@@ -104,7 +104,7 @@ _vlr_subscr_next_auth_tuple(struct vlr_subscr *vsub, int max_use_count)
at = &vsub->auth_tuples[idx];
}
- if (!at || (max_use_count >= 0 && at->use_count > max_use_count))
+ if (!at || (max_reuse_count >= 0 && at->use_count > max_reuse_count))
return NULL;
return at;
@@ -112,21 +112,21 @@ _vlr_subscr_next_auth_tuple(struct vlr_subscr *vsub, int max_use_count)
/* Return an auth tuple and increment its use count. */
static struct gsm_auth_tuple *
-vlr_subscr_get_auth_tuple(struct vlr_subscr *vsub, int max_use_count)
+vlr_subscr_get_auth_tuple(struct vlr_subscr *vsub, int max_reuse_count)
{
struct gsm_auth_tuple *at = _vlr_subscr_next_auth_tuple(vsub,
- max_use_count);
+ max_reuse_count);
if (!at)
return NULL;
at->use_count++;
return at;
}
-/* Return whether an auth tuple with the given max_use_count is available. */
+/* Return whether an auth tuple with a matching use_count is available. */
static bool vlr_subscr_has_auth_tuple(struct vlr_subscr *vsub,
- int max_use_count)
+ int max_reuse_count)
{
- return _vlr_subscr_next_auth_tuple(vsub, max_use_count) != NULL;
+ return _vlr_subscr_next_auth_tuple(vsub, max_reuse_count) != NULL;
}
static bool check_auth_resp(struct vlr_subscr *vsub, bool is_r99,
@@ -250,7 +250,7 @@ static int _vlr_subscr_authenticate(struct osmo_fsm_inst *fi)
struct gsm_auth_tuple *at;
/* Caller ensures we have vectors available */
- at = vlr_subscr_get_auth_tuple(vsub, afp->auth_tuple_max_use_count);
+ at = vlr_subscr_get_auth_tuple(vsub, afp->auth_tuple_max_reuse_count);
if (!at) {
LOGPFSML(fi, LOGL_ERROR, "A previous check ensured that an"
" auth tuple was available, but now there is in fact"
@@ -284,12 +284,12 @@ static void auth_fsm_needs_auth(struct osmo_fsm_inst *fi, uint32_t event, void *
OSMO_ASSERT(event == VLR_AUTH_E_START);
- /* Start off with the default max_use_count, possibly change that if we
+ /* Start off with the default max_reuse_count, possibly change that if we
* need to re-use an old tuple. */
- afp->auth_tuple_max_use_count = vsub->vlr->cfg.auth_tuple_max_use_count;
+ afp->auth_tuple_max_reuse_count = vsub->vlr->cfg.auth_tuple_max_reuse_count;
/* Check if we have vectors available */
- if (!vlr_subscr_has_auth_tuple(vsub, afp->auth_tuple_max_use_count)) {
+ if (!vlr_subscr_has_auth_tuple(vsub, afp->auth_tuple_max_reuse_count)) {
/* Obtain_Authentication_Sets_VLR */
vlr_subscr_req_sai(vsub, NULL, NULL);
osmo_fsm_inst_state_chg(fi, VLR_SUB_AS_NEEDS_AUTH_WAIT_AI,
@@ -323,9 +323,9 @@ static void auth_fsm_wait_ai(struct osmo_fsm_inst *fi, uint32_t event,
|| (event == VLR_AUTH_E_HLR_SAI_ABORT)) {
if (vsub->vlr->cfg.auth_reuse_old_sets_on_error
&& vlr_subscr_has_auth_tuple(vsub, -1)) {
- /* To re-use an old tuple, disable the max_use_count
+ /* To re-use an old tuple, disable the max_reuse_count
* constraint. */
- afp->auth_tuple_max_use_count = -1;
+ afp->auth_tuple_max_reuse_count = -1;
goto pass;
}
/* result = procedure error */