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
diff --git a/tests/db/db_test.c b/tests/db/db_test.c
index 23b84cc..1a5d7e0 100644
--- a/tests/db/db_test.c
+++ b/tests/db/db_test.c
@@ -464,7 +464,7 @@
 	ASSERT_SEL(imsi, imsi0, 0);
 
 	id = g_subscr.id;
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 
 	comment("Set auth data, 2G only");
@@ -500,7 +500,7 @@
 	ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
 		mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)),
 		0);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	/* Removing nothing results in -ENOENT */
 	ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
@@ -515,7 +515,7 @@
 	ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
 		mk_aud_2g(OSMO_AUTH_ALG_NONE, "f000000000000f00000000000f000000")),
 		0);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 
 	comment("Set auth data, 3G only");
@@ -562,7 +562,7 @@
 	ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
 		mk_aud_3g(OSMO_AUTH_ALG_NONE, NULL, false, NULL, 0)),
 		0);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	/* Removing nothing results in -ENOENT */
 	ASSERT_RC(db_subscr_update_aud_by_id(dbc, id,
@@ -581,7 +581,7 @@
 			  "asdfasdfasd", false,
 			  "asdfasdfasdf", 99999)),
 		0);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 
 	comment("Set auth data, 2G and 3G");
@@ -669,7 +669,7 @@
 	/* For this test to work, we want to get the same subscriber ID back,
 	 * and make sure there are no auth data leftovers for this ID. */
 	OSMO_ASSERT(id == g_subscr.id);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	ASSERT_RC(db_subscr_delete_by_id(dbc, id), 0);
 	ASSERT_SEL(imsi, imsi0, -ENOENT);
@@ -697,15 +697,15 @@
 	ASSERT_SEL(imsi, imsi0, 0);
 
 	id = g_subscr.id;
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	comment("Set SQN, but no 3G auth data present");
 
 	ASSERT_RC(db_update_sqn(dbc, id, 123), -ENOENT);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	ASSERT_RC(db_update_sqn(dbc, id, 543), -ENOENT);
-	ASSERT_SEL_AUD(imsi0, -ENOENT, id);
+	ASSERT_SEL_AUD(imsi0, -ENOKEY, id);
 
 	comment("Set auth 3G data");
 
diff --git a/tests/db/db_test.err b/tests/db/db_test.err
index f7acfec..c5e5bac 100644
--- a/tests/db/db_test.err
+++ b/tests/db/db_test.err
@@ -726,7 +726,7 @@
   .imsi = '123456789000000',
 }
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -799,7 +799,7 @@
 
 db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, NULL)) --> 0
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -820,7 +820,7 @@
 
 db_subscr_update_aud_by_id(dbc, id, mk_aud_2g(OSMO_AUTH_ALG_NONE, "f000000000000f00000000000f000000")) --> 0
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -912,7 +912,7 @@
 
 db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_NONE, NULL, false, NULL, 0)) --> 0
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -937,7 +937,7 @@
 
 db_subscr_update_aud_by_id(dbc, id, mk_aud_3g(OSMO_AUTH_ALG_NONE, "asdfasdfasd", false, "asdfasdfasdf", 99999)) --> 0
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -1174,7 +1174,7 @@
   .imsi = '123456789000000',
 }
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -1214,7 +1214,7 @@
   .imsi = '123456789000000',
 }
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -1225,7 +1225,7 @@
 db_update_sqn(dbc, id, 123) --> -ENOENT
 DAUC Cannot update SQN for subscriber ID=1: no auc_3g entry for such subscriber
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data
 
@@ -1233,7 +1233,7 @@
 db_update_sqn(dbc, id, 543) --> -ENOENT
 DAUC Cannot update SQN for subscriber ID=1: no auc_3g entry for such subscriber
 
-db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -2
+db_get_auth_data(dbc, imsi0, &g_aud2g, &g_aud3g, &g_id) --> -126
 DAUC IMSI='123456789000000': No 2G Auth Data
 DAUC IMSI='123456789000000': No 3G Auth Data