aboutsummaryrefslogtreecommitdiffstats
path: root/src/hlr_vty_subscr.c
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2017-11-23 15:25:30 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-11-29 16:22:29 +0000
commitbd1dca0859dc9e3653c75af13501e59a587975ef (patch)
tree996c817c9f1dbcb94fe0919d6362ed67a7b6ed88 /src/hlr_vty_subscr.c
parent33eeeef9dcfb3103ddbbac756088825d38ce5f53 (diff)
db_get_auth_data / db_get_auc: clarify return values
Differentiate between "IMSI unknown" and "IMSI has no auth data": in case of known IMSI lacking auth data, return -ENOKEY instead of -ENOENT. Fix API doc comments to reflect what the functions actually return, on top of adding the -ENOKEY detail. Adjust db_test expectations from -ENOENT to -ENOKEY where appropriate. Adjust VTY and CTRL command rc evaluation. A subsequent patch will use these return values to log details on each of these situations. Change-Id: Icf6304d23585f2ed45e050fa27c787f2d66fd3f7
Diffstat (limited to 'src/hlr_vty_subscr.c')
-rw-r--r--src/hlr_vty_subscr.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/hlr_vty_subscr.c b/src/hlr_vty_subscr.c
index 0a9ba76..5a300a7 100644
--- a/src/hlr_vty_subscr.c
+++ b/src/hlr_vty_subscr.c
@@ -72,14 +72,17 @@ static void subscr_dump_full_vty(struct vty *vty, struct hlr_subscriber *subscr)
OSMO_ASSERT(g_hlr);
rc = db_get_auth_data(g_hlr->dbc, subscr->imsi, &aud2g, &aud3g, NULL);
- if (rc) {
- if (rc == -ENOENT) {
- aud2g.algo = OSMO_AUTH_ALG_NONE;
- aud3g.algo = OSMO_AUTH_ALG_NONE;
- } else {
- vty_out(vty, "%% Error retrieving data from database (%d)%s", rc, VTY_NEWLINE);
- return;
- }
+ switch (rc) {
+ case 0:
+ break;
+ case -ENOENT:
+ case -ENOKEY:
+ aud2g.algo = OSMO_AUTH_ALG_NONE;
+ aud3g.algo = OSMO_AUTH_ALG_NONE;
+ break;
+ default:
+ vty_out(vty, "%% Error retrieving data from database (%d)%s", rc, VTY_NEWLINE);
+ return;
}
if (aud2g.type != OSMO_AUTH_TYPE_NONE && aud2g.type != OSMO_AUTH_TYPE_GSM) {