MM Auth: introduce AUTH_ERROR constant.

Instead of using hardcoded -1 for errors, include -1 in the enum auth_action
type; apply its use.

In the mm_auth test, the string output changes from '(internal error)' to
'AUTH_ERROR', since now the proper enum value is used in auth_action_names[].
This commit is contained in:
Neels Hofmeyr 2016-03-30 11:22:27 +02:00 committed by Harald Welte
parent d617c5d3ac
commit f9b212fabd
4 changed files with 6 additions and 5 deletions

View File

@ -7,6 +7,7 @@ struct gsm_auth_tuple;
struct gsm_subscriber;
enum auth_action {
AUTH_ERROR = -1, /* Internal error */
AUTH_NOT_AVAIL = 0, /* No auth tuple available */
AUTH_DO_AUTH_THEN_CIPH = 1, /* Firsth authenticate, then cipher */
AUTH_DO_CIPH = 2, /* Only ciphering */

View File

@ -33,7 +33,7 @@
const struct value_string auth_action_names[] = {
#define AUTH_ACTION_STR(X) { X, #X }
{ -1, "(internal error)" }, /* soon to be fixed with an enum val */
AUTH_ACTION_STR(AUTH_ERROR),
AUTH_ACTION_STR(AUTH_NOT_AVAIL),
AUTH_ACTION_STR(AUTH_DO_AUTH_THEN_CIPH),
AUTH_ACTION_STR(AUTH_DO_CIPH),
@ -93,7 +93,7 @@ int auth_get_tuple_for_subscr(struct gsm_auth_tuple *atuple,
if (rc < 0) {
LOGP(DMM, LOGL_NOTICE,
"No retrievable Ki for subscriber, skipping auth\n");
return rc == -ENOENT ? AUTH_NOT_AVAIL : -1;
return rc == -ENOENT ? AUTH_NOT_AVAIL : AUTH_ERROR;
}
/* If possible, re-use the last tuple and skip auth */
@ -114,7 +114,7 @@ int auth_get_tuple_for_subscr(struct gsm_auth_tuple *atuple,
if (RAND_bytes(atuple->rand, sizeof(atuple->rand)) != 1) {
LOGP(DMM, LOGL_NOTICE, "RAND_bytes failed, can't generate new auth tuple\n");
return -1;
return AUTH_ERROR;
}
switch (ainfo.auth_algo) {

View File

@ -141,7 +141,7 @@ static void test_error()
test_get_authinfo_rc = -EIO;
auth_action = auth_get_tuple_for_subscr_verbose(&atuple, &subscr,
key_seq);
OSMO_ASSERT(auth_action == -1);
OSMO_ASSERT(auth_action == AUTH_ERROR);
}
static void test_auth_not_avail()

View File

@ -1,7 +1,7 @@
* test_error()
wrapped: db_get_authinfo_for_subscr(): rc = -5
auth_get_tuple_for_subscr(key_seq=0) --> auth_action == (internal error)
auth_get_tuple_for_subscr(key_seq=0) --> auth_action == AUTH_ERROR
* test_auth_not_avail()
wrapped: db_get_authinfo_for_subscr(): rc = -2