MM Auth test: add test to re-use existing auth

This commit is contained in:
Neels Hofmeyr 2016-03-30 11:22:26 +02:00 committed by Harald Welte
parent 4554a62c4d
commit d617c5d3ac
2 changed files with 37 additions and 0 deletions

View File

@ -242,6 +242,36 @@ static void test_auth_then_ciph2()
));
}
static void test_auth_reuse()
{
int auth_action;
struct gsm_auth_tuple atuple = {0};
struct gsm_subscriber subscr = {0};
int key_seq;
printf("\n* test_auth_reuse()\n");
/* Ki entry, auth tuple negotiated, valid+matching incoming key_seq */
test_auth_info = default_auth_info;
test_last_auth_tuple = default_auth_tuple;
test_last_auth_tuple.key_seq = key_seq = 3;
test_last_auth_tuple.use_count = 1;
test_get_authinfo_rc = 0;
test_get_lastauthtuple_rc = 0;
auth_action = auth_get_tuple_for_subscr_verbose(&atuple, &subscr,
key_seq);
OSMO_ASSERT(auth_action == AUTH_DO_CIPH);
OSMO_ASSERT(auth_tuple_is(&atuple,
"gsm_auth_tuple {\n"
" .use_count = 2\n"
" .key_seq = 3\n"
" .rand = 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 \n"
" .sres = 00 00 00 00 \n"
" .kc = 00 00 00 00 00 00 00 00 \n"
"}\n"
));
}
int main(void)
{
osmo_init_logging(&log_info);
@ -251,5 +281,6 @@ int main(void)
test_auth_not_avail();
test_auth_then_ciph1();
test_auth_then_ciph2();
test_auth_reuse();
return 0;
}

View File

@ -22,3 +22,9 @@ wrapped: db_get_authinfo_for_subscr(): rc = 0
wrapped: db_get_lastauthtuple_for_subscr(): rc = 0
wrapped: db_sync_lastauthtuple_for_subscr(): rc = 0
auth_get_tuple_for_subscr(key_seq=7) --> auth_action == AUTH_DO_AUTH_THEN_CIPH
* test_auth_reuse()
wrapped: db_get_authinfo_for_subscr(): rc = 0
wrapped: db_get_lastauthtuple_for_subscr(): rc = 0
wrapped: db_sync_lastauthtuple_for_subscr(): rc = 0
auth_get_tuple_for_subscr(key_seq=3) --> auth_action == AUTH_DO_CIPH