From 45e778d397a525956e377567d5f9af6318a5343e Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Tue, 14 Mar 2017 02:53:56 +0100 Subject: milenage_test: enhance to verify new SQN increments After the legacy mode incrementing with ind_bitlen == 0 is through, do another AUTS run with sensible ind_bitlen and ind, and then two more normal vector generations to verify proper SQN increments. Related: OS#1968 Change-Id: Id6947899ff7b1c82b939f969e163e51ce282bce2 --- tests/auth/milenage_test.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'tests/auth/milenage_test.c') diff --git a/tests/auth/milenage_test.c b/tests/auth/milenage_test.c index 7aada36b..b4c2c79b 100644 --- a/tests/auth/milenage_test.c +++ b/tests/auth/milenage_test.c @@ -104,6 +104,34 @@ int main(int argc, char **argv) test_aud.u.umts.sqn); } + /* Now test SQN incrementing scheme using SEQ and IND parts: + * with ind_bitlen == 5 and ind == 10, the next SQN after 31 is + * 32 + 10 == 42. */ + test_aud.u.umts.ind_bitlen = 5; + test_aud.u.umts.ind = 10; + rc = osmo_auth_gen_vec_auts(vec, &test_aud, auts, _rand, _rand); + if (rc < 0) + printf("AUTS failed\n"); + else + printf("AUTS success: tuple generated with SQN = %" PRIu64 "\n", + test_aud.u.umts.sqn); + + /* And the one after that is 64 + 10 == 74 */ + rc = osmo_auth_gen_vec(vec, &test_aud, _rand); + if (rc < 0) + printf("generating vector failed\n"); + else + printf("tuple generated with SQN = %" PRIu64 "\n", + test_aud.u.umts.sqn); + + /* And the one after *that* is 96 + 10 == 106 */ + rc = osmo_auth_gen_vec(vec, &test_aud, _rand); + if (rc < 0) + printf("generating vector failed\n"); + else + printf("tuple generated with SQN = %" PRIu64 "\n", + test_aud.u.umts.sqn); + opc_test(&test_aud); exit(0); -- cgit v1.2.3