aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-15 00:37:29 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-15 03:38:45 +0100
commitd846ae8978b1f18bae6fee486b9ae53e7ac3689f (patch)
tree86c8cb986bb6a4b2ab2caa70097ae5f4116684f7 /tests
parent7f39468c75605077f8811557c9da6791fcbdbfe5 (diff)
auc tests: adjust cosmetically to prepare for SQN changes
The current auc tests test a lot with SQN == 0. An upcoming change in the SQN algorithms from libosmocore [1] will require us to pass desired_sqn - 1, because the tuple generation will increment the SQN before calculating. Later on [2] we will also want to employ ind_bits and ind in the test. In order to have some room in the number range, cosmetically adjust the current SQN tested for from 0 to 32, changing the generated AUTN. The upcoming adjustment to the new situation will then be able to show that only the SQN values before and after vector generation change while the auth tuples as well as the SQNs used for generation remain the same (without having to trick around with wrapping SQN past its maximum value). Note that the TS 55.205 test sets include neither SQN nor AUTN. While AUTN changes with changing SQN, all the other values are invariant of the SQN used. So we can simply choose a different SQN and ignore the difference in the AUTN. [1] change-id Iadf43f21e0605e9e85f7e8026c40985f7ceff1a3 "store last sqn" [2] change-id Ibc97e1736a797ffcbf8c1f7d41c5c4518f4e41bf "fix SQN increment" Related: OS#1969 Change-Id: I45d1866cde1b3e777460df76100af2fe4767c678
Diffstat (limited to 'tests')
-rw-r--r--tests/auc/Makefile.am4
-rw-r--r--tests/auc/auc_test.c36
-rw-r--r--tests/auc/auc_test.err34
-rw-r--r--tests/auc/auc_ts_55_205_test_sets.err133
-rw-r--r--tests/auc/gen_ts_55_205_test_sets/func_template.c4
5 files changed, 118 insertions, 93 deletions
diff --git a/tests/auc/Makefile.am b/tests/auc/Makefile.am
index b3c20f2..88532bf 100644
--- a/tests/auc/Makefile.am
+++ b/tests/auc/Makefile.am
@@ -53,3 +53,7 @@ auc_ts_55_205_test_sets_LDADD = \
auc_ts_55_205_test_sets.c: $(top_srcdir)/tests/auc/gen_ts_55_205_test_sets/*
$(top_srcdir)/tests/auc/gen_ts_55_205_test_sets/pdftxt_2_c.py > $@
+.PHONY: update_exp
+update_exp:
+ $(builddir)/auc_test >"$(srcdir)/auc_test.ok" 2>"$(srcdir)/auc_test.err"
+ $(builddir)/auc_ts_55_205_test_sets >"$(srcdir)/auc_ts_55_205_test_sets.ok" 2>"$(srcdir)/auc_ts_55_205_test_sets.err"
diff --git a/tests/auc/auc_test.c b/tests/auc/auc_test.c
index 16c87f7..e507c29 100644
--- a/tests/auc/auc_test.c
+++ b/tests/auc/auc_test.c
@@ -194,6 +194,7 @@ static void test_gen_vectors_2g_plus_3g(void)
aud3g = (struct osmo_sub_auth_data){
.type = OSMO_AUTH_TYPE_UMTS,
.algo = OSMO_AUTH_ALG_MILENAGE,
+ .u.umts.sqn = 32,
};
osmo_hexparse("EB215756028D60E3275E613320AEC880",
@@ -203,13 +204,14 @@ static void test_gen_vectors_2g_plus_3g(void)
next_rand("39fa2f4e3d523d8619a73b4f65c3e14d", true);
vec = (struct osmo_auth_vector){ {0} };
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
VERBOSE_ASSERT(rc, == 1, "%d");
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
VEC_IS(&vec,
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
- " autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
+ " autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
" ck: f64735036e5871319c679f4742a75ea1\n"
" ik: 27497388b6cb044648f396aa155b95ef\n"
" res: e229c19e791f2e410000000000000000\n"
@@ -219,19 +221,17 @@ static void test_gen_vectors_2g_plus_3g(void)
" auth_types: 03000000\n"
);
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
-
/* even though vec is not zero-initialized, it should produce the same
* result with the same sequence nr */
- aud3g.u.umts.sqn = 0;
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ aud3g.u.umts.sqn = 32;
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
VERBOSE_ASSERT(rc, == 1, "%d");
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
VEC_IS(&vec,
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
- " autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
+ " autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
" ck: f64735036e5871319c679f4742a75ea1\n"
" ik: 27497388b6cb044648f396aa155b95ef\n"
" res: e229c19e791f2e410000000000000000\n"
@@ -301,6 +301,7 @@ static void test_gen_vectors_3g_only(void)
aud3g = (struct osmo_sub_auth_data){
.type = OSMO_AUTH_TYPE_UMTS,
.algo = OSMO_AUTH_ALG_MILENAGE,
+ .u.umts.sqn = 32,
};
osmo_hexparse("EB215756028D60E3275E613320AEC880",
@@ -310,13 +311,14 @@ static void test_gen_vectors_3g_only(void)
next_rand("39fa2f4e3d523d8619a73b4f65c3e14d", true);
vec = (struct osmo_auth_vector){ {0} };
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
VERBOSE_ASSERT(rc, == 1, "%d");
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
VEC_IS(&vec,
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
- " autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
+ " autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
" ck: f64735036e5871319c679f4742a75ea1\n"
" ik: 27497388b6cb044648f396aa155b95ef\n"
" res: e229c19e791f2e410000000000000000\n"
@@ -336,19 +338,17 @@ static void test_gen_vectors_3g_only(void)
* hence expecting kc: 059a4f668f6fbe39
*/
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
-
/* even though vec is not zero-initialized, it should produce the same
* result with the same sequence nr */
- aud3g.u.umts.sqn = 0;
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ aud3g.u.umts.sqn = 32;
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
VERBOSE_ASSERT(rc, == 1, "%d");
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 1, "%"PRIu64);
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
VEC_IS(&vec,
" rand: 39fa2f4e3d523d8619a73b4f65c3e14d\n"
- " autn: 8704f5ba55f30000d2ee44b22c8ea919\n"
+ " autn: 8704f5ba55d30000541dde77ea5b1d8c\n"
" ck: f64735036e5871319c679f4742a75ea1\n"
" ik: 27497388b6cb044648f396aa155b95ef\n"
" res: e229c19e791f2e410000000000000000\n"
@@ -361,8 +361,8 @@ static void test_gen_vectors_3g_only(void)
fprintf(stderr, "- test AUTS resync\n");
vec = (struct osmo_auth_vector){};
- aud3g.u.umts.sqn = 0;
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ aud3g.u.umts.sqn = 32;
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
/* The AUTN sent was 8704f5ba55f30000d2ee44b22c8ea919
* with the first 6 bytes being SQN ^ AK.
diff --git a/tests/auc/auc_test.err b/tests/auc/auc_test.err
index aff96c9..51f176c 100644
--- a/tests/auc/auc_test.err
+++ b/tests/auc/auc_test.err
@@ -22,14 +22,14 @@ vector matches expectations
===== test_gen_vectors_2g_plus_3g
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G + separate 2G
DAUC 3G: k = eb215756028d60e3275e613320aec880
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
DAUC 2G: ki = eb215756028d60e3275e613320aec880
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
DAUC vector [0]: res = e229c19e791f2e410000000000000000
@@ -39,16 +39,16 @@ DAUC vector [0]: kc = 241a5b16aeb8e400
DAUC vector [0]: sres = 429d5b27
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
-aud3g.u.umts.sqn == 1
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G + separate 2G
DAUC 3G: k = eb215756028d60e3275e613320aec880
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
DAUC 2G: ki = eb215756028d60e3275e613320aec880
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
DAUC vector [0]: res = e229c19e791f2e410000000000000000
@@ -58,19 +58,19 @@ DAUC vector [0]: kc = 241a5b16aeb8e400
DAUC vector [0]: sres = 429d5b27
DAUC vector [0]: auth_types = 0x3
rc == 1
-aud3g.u.umts.sqn == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_gen_vectors_2g_plus_3g: SUCCESS
===== test_gen_vectors_3g_only
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = eb215756028d60e3275e613320aec880
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
DAUC vector [0]: res = e229c19e791f2e410000000000000000
@@ -79,15 +79,15 @@ DAUC vector [0]: kc = 059a4f668f6fbe39
DAUC vector [0]: sres = 9b36efdf
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
-aud3g.u.umts.sqn == 1
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = eb215756028d60e3275e613320aec880
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
DAUC vector [0]: rand = 39fa2f4e3d523d8619a73b4f65c3e14d
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 8704f5ba55f30000d2ee44b22c8ea919
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 8704f5ba55d30000541dde77ea5b1d8c
DAUC vector [0]: ck = f64735036e5871319c679f4742a75ea1
DAUC vector [0]: ik = 27497388b6cb044648f396aa155b95ef
DAUC vector [0]: res = e229c19e791f2e410000000000000000
@@ -96,10 +96,10 @@ DAUC vector [0]: kc = 059a4f668f6fbe39
DAUC vector [0]: sres = 9b36efdf
DAUC vector [0]: auth_types = 0x3
rc == 1
-aud3g.u.umts.sqn == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
- test AUTS resync
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys), with AUTS resync
DAUC 3G: k = eb215756028d60e3275e613320aec880
DAUC 3G: opc = fb2a3d1b360f599abab99db8669f8308
diff --git a/tests/auc/auc_ts_55_205_test_sets.err b/tests/auc/auc_ts_55_205_test_sets.err
index 8bedf46..9a9aaf5 100644
--- a/tests/auc/auc_ts_55_205_test_sets.err
+++ b/tests/auc/auc_ts_55_205_test_sets.err
@@ -1,12 +1,12 @@
===== test_set_1
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 465b5ce8b199b49faa5f0a2ee238a6bc
DAUC 3G: opc = cd63cb71954a9f4e48a5994e37a02baf
DAUC vector [0]: rand = 23553cbe9637a89d218ae64dae47bf35
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = aa689c64837000000eed35e2ae9e21c0
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = aa689c64835000002bb2bf2f1faba139
DAUC vector [0]: ck = b40ba9a3c58b2a05bbf0d987b21bf8cb
DAUC vector [0]: ik = f769bcd751044604127672711c6d3441
DAUC vector [0]: res = a54211d5e3ba50bf0000000000000000
@@ -15,18 +15,19 @@ DAUC vector [0]: kc = eae4be823af9a08b
DAUC vector [0]: sres = 46f8416a
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_1: SUCCESS
===== test_set_2
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = fec86ba6eb707ed08905757b1bb44b8f
DAUC 3G: opc = 1006020f0a478bf6b699f15c062e42b3
DAUC vector [0]: rand = 9f7c8d021accf4db213ccff0c7f71a6a
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 33484dc2136b00009abcd7740cfa799c
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 33484dc2134b000091ec125f4840ed64
DAUC vector [0]: ck = 5dbdbb2954e8f3cde665b046179a5098
DAUC vector [0]: ik = 59a92d3b476a0443487055cf88b2307b
DAUC vector [0]: res = 8011c48c0c214ed20000000000000000
@@ -35,18 +36,19 @@ DAUC vector [0]: kc = aa01739b8caa976d
DAUC vector [0]: sres = 8c308a5e
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_2: SUCCESS
===== test_set_3
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 9e5944aea94b81165c82fbf9f32db751
DAUC 3G: opc = a64a507ae1a2a98bb88eb4210135dc87
DAUC vector [0]: rand = ce83dbc54ac0274a157c17f80d017bd6
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = f0b9c08ad02e00001b5ca3e1240212be
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = f0b9c08ad00e00005da4ccbbdfa29310
DAUC vector [0]: ck = e203edb3971574f5a94b0d61b816345d
DAUC vector [0]: ik = 0c4524adeac041c4dd830d20854fc46b
DAUC vector [0]: res = f365cd683cd92e960000000000000000
@@ -55,18 +57,19 @@ DAUC vector [0]: kc = 9a8ec95f408cc507
DAUC vector [0]: sres = cfbce3fe
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_3: SUCCESS
===== test_set_4
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 4ab1deb05ca6ceb051fc98e77d026a84
DAUC 3G: opc = dcf07cbd51855290b92a07a9891e523e
DAUC vector [0]: rand = 74b0cd6031a1c8339b2b6ce2b8c4a186
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 31e11a6091180000f55f5c8adb793014
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 31e11a60913800006a7003718d5d82e5
DAUC vector [0]: ck = 7657766b373d1c2138f307e3de9242f9
DAUC vector [0]: ik = 1c42e960d89b8fa99f2744e0708ccb53
DAUC vector [0]: res = 5860fc1bce351e7e0000000000000000
@@ -75,18 +78,19 @@ DAUC vector [0]: kc = cdc1dc0841b81a22
DAUC vector [0]: sres = 9655e265
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_4: SUCCESS
===== test_set_5
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 6c38a116ac280c454f59332ee35c8c4f
DAUC 3G: opc = 3803ef5363b947c6aaa225e58fae3934
DAUC vector [0]: rand = ee6466bc96202c5a557abbeff8babf63
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 45b0f69ab06c0000a161b2de788f3b3f
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 45b0f69ab04c000053f2a822f2b3e824
DAUC vector [0]: ck = 3f8c7587fe8e4b233af676aede30ba3b
DAUC vector [0]: ik = a7466cc1e6b2a1337d49d3b66e95d7b4
DAUC vector [0]: res = 16c8233f05a0ac280000000000000000
@@ -95,18 +99,19 @@ DAUC vector [0]: kc = df75bc5ea899879f
DAUC vector [0]: sres = 13688f17
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_5: SUCCESS
===== test_set_6
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 2d609d4db0ac5bf0d2c0de267014de0d
DAUC 3G: opc = c35a0ab0bcbfc9252caff15f24efbde0
DAUC vector [0]: rand = 194aa756013896b74b4a2a3b0af4539e
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 7e6455f34cf3000040dc9568192ab1c0
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 7e6455f34cd300004a2a9f2f3a529b8c
DAUC vector [0]: ck = 4cd0846020f8fa0731dd47cbdc6be411
DAUC vector [0]: ik = 88ab80a415f15c73711254a1d388f696
DAUC vector [0]: res = 8c25a16cd918a1df0000000000000000
@@ -115,18 +120,19 @@ DAUC vector [0]: kc = 84b417ae3aeab4f3
DAUC vector [0]: sres = 553d00b3
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_6: SUCCESS
===== test_set_7
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = a530a7fe428fad1082c45eddfce13884
DAUC 3G: opc = 27953e49bc8af6dcc6e730eb80286be3
DAUC vector [0]: rand = 3a4c2b3245c50eb5c71d08639395764d
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 88196c47986f000075c2ba7455852c2a
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 88196c47984f00000a50c5f4056ccb68
DAUC vector [0]: ck = 10f05bab75a99a5fbb98a9c287679c3b
DAUC vector [0]: ik = f9ec0865eb32f22369cade40c59c3a44
DAUC vector [0]: res = a63241e1ffc3e5ab0000000000000000
@@ -135,18 +141,19 @@ DAUC vector [0]: kc = 3b4e244cdc60ce03
DAUC vector [0]: sres = 59f1a44a
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_7: SUCCESS
===== test_set_8
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = d9151cf04896e25830bf2e08267b8360
DAUC 3G: opc = c4c93effe8a08138c203d4c27ce4e3d9
DAUC vector [0]: rand = f761e5e93d603feb730e27556cb8a2ca
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 82a0f5287a71000023563512500d75d9
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 82a0f5287a5100006d6c0ff132426479
DAUC vector [0]: ck = 71236b7129f9b22ab77ea7a54c96da22
DAUC vector [0]: ik = 90527ebaa5588968db41727325a04d9e
DAUC vector [0]: res = 4a90b2171ac83a760000000000000000
@@ -155,18 +162,19 @@ DAUC vector [0]: kc = 8d4ec01de597acfe
DAUC vector [0]: sres = 50588861
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_8: SUCCESS
===== test_set_9
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = a0e2971b6822e8d354a18cc235624ecb
DAUC 3G: opc = 82a26f22bba9e9488f949a10d98e9cc4
DAUC vector [0]: rand = 08eff828b13fdb562722c65c7f30a9b2
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = a2f858aa9e5d0000bdd79d9f7c269d1c
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = a2f858aa9e7d00001c14f5fcd445bc46
DAUC vector [0]: ck = 08cef6d004ec61471a3c3cda048137fa
DAUC vector [0]: ik = ed0318ca5deb9206272f6e8fa64ba411
DAUC vector [0]: res = 4bc2212d8624910a0000000000000000
@@ -175,18 +183,19 @@ DAUC vector [0]: kc = d8debc4ffbcd60aa
DAUC vector [0]: sres = cde6b027
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_9: SUCCESS
===== test_set_10
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 0da6f7ba86d5eac8a19cf563ac58642d
DAUC 3G: opc = 0db1071f8767562ca43a0a64c41e8d08
DAUC vector [0]: rand = 679ac4dbacd7d233ff9d6806f4149ce3
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 4c539a26e1fa000059e7ec99b51f33f3
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 4c539a26e1da000071cc0b769fd1aa96
DAUC vector [0]: ck = 69b1cae7c7429d975e245cacb05a517c
DAUC vector [0]: ik = 74f24e8c26df58e1b38d7dcd4f1b7fbd
DAUC vector [0]: res = 6fc30fee6d1235230000000000000000
@@ -195,18 +204,19 @@ DAUC vector [0]: kc = f0eaa50a1edcebb7
DAUC vector [0]: sres = 02d13acd
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_10: SUCCESS
===== test_set_11
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 77b45843c88e58c10d202684515ed430
DAUC 3G: opc = d483afae562409a326b5bb0b20c4d762
DAUC vector [0]: rand = 4c47eb3076dc55fe5106cb2034b8cd78
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 30ff25cdadf600003991f8e7e72a5948
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 30ff25cdadd60000e08a00f7ed54d6fe
DAUC vector [0]: ck = 908c43f0569cb8f74bc971e706c36c5f
DAUC vector [0]: ik = c251df0d888dd9329bcf46655b226e40
DAUC vector [0]: res = aefa357beac2a87a0000000000000000
@@ -215,18 +225,19 @@ DAUC vector [0]: kc = 82dbab7f83f063da
DAUC vector [0]: sres = 44389d01
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_11: SUCCESS
===== test_set_12
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 729b17729270dd87ccdf1bfe29b4e9bb
DAUC 3G: opc = 228c2f2f06ac3268a9e616ee16db4ba1
DAUC vector [0]: rand = 311c4c929744d675b720f3b7e9b1cbd0
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 5380d158cfe30000fd10b1f261e825c3
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 5380d158cfc30000f4e1436e9f67e4b2
DAUC vector [0]: ck = 44c0f23c5493cfd241e48f197e1d1012
DAUC vector [0]: ik = 0c9fb81613884c2535dd0eabf3b440d8
DAUC vector [0]: res = 98dbbd099b3b408d0000000000000000
@@ -235,18 +246,19 @@ DAUC vector [0]: kc = 3c66cb98cab2d33d
DAUC vector [0]: sres = 03e0fd84
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_12: SUCCESS
===== test_set_13
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = d32dd23e89dc662354ca12eb79dd32fa
DAUC 3G: opc = d22a4b4180a5325708a5ff70d9f67ec7
DAUC vector [0]: rand = cf7d0ab1d94306950bf12018fbd46887
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 217af49272ad0000cc1d4642c4476641
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 217af492728d00003bd338249751de80
DAUC vector [0]: ck = 5af86b80edb70df5292cc1121cbad50c
DAUC vector [0]: ik = 7f4d6ae7440e18789a8b75ad3f42f03a
DAUC vector [0]: res = af4a411e1139f2c20000000000000000
@@ -255,18 +267,19 @@ DAUC vector [0]: kc = 9612b5d88a4130bb
DAUC vector [0]: sres = be73b3dc
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_13: SUCCESS
===== test_set_14
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = af7c65e1927221de591187a2c5987a53
DAUC 3G: opc = a4cf5c8155c08a7eff418e5443b98e55
DAUC vector [0]: rand = 1f0f8578464fd59b64bed2d09436b57a
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 837fd7b744190000e4ae3648e1c7770b
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 837fd7b744390000557a836fd534e542
DAUC vector [0]: ck = 3f8c3f3ccf7625bf77fc94bcfd22fd26
DAUC vector [0]: ik = abcbae8fd46115e9961a55d0da5f2078
DAUC vector [0]: res = 7bffa5c2f41fbc050000000000000000
@@ -275,18 +288,19 @@ DAUC vector [0]: kc = 75a150df3c6aed08
DAUC vector [0]: sres = 8fe019c7
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_14: SUCCESS
===== test_set_15
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 5bd7ecd3d3127a41d12539bed4e7cf71
DAUC 3G: opc = 76089d3c0ff3efdc6e36721d4fceb747
DAUC vector [0]: rand = 59b75f14251c75031d0bcbac1c2c04c7
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 5be11495525d00008538a96619c04b01
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 5be11495527d0000298064f82a439924
DAUC vector [0]: ck = d42b2d615e49a03ac275a5aef97af892
DAUC vector [0]: ik = 0b3f8d024fe6bfafaa982b8f82e319c2
DAUC vector [0]: res = 7e3f44c7591f6f450000000000000000
@@ -295,18 +309,19 @@ DAUC vector [0]: kc = b7f92e426a36fec5
DAUC vector [0]: sres = 27202b82
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_15: SUCCESS
===== test_set_16
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 6cd1c6ceb1e01e14f1b82316a90b7f3d
DAUC 3G: opc = a219dc37f1dc7d66738b5843c799f206
DAUC vector [0]: rand = f69b78f300a0568bce9f0cb93c4be4c9
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 1c408a858b3e0000956596c6cd632f0f
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 1c408a858b1e0000e6e96310f83b5689
DAUC vector [0]: ck = 6edaf99e5bd9f85d5f36d91c1272fb4b
DAUC vector [0]: ik = d61c853c280dd9c46f297baec386de17
DAUC vector [0]: res = 70f6bdb9ad21525f0000000000000000
@@ -315,18 +330,19 @@ DAUC vector [0]: kc = 88d9de10a22004c5
DAUC vector [0]: sres = ddd7efe6
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_16: SUCCESS
===== test_set_17
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = b73a90cbcf3afb622dba83c58a8415df
DAUC 3G: opc = df0c67868fa25f748b7044c6e7c245b8
DAUC vector [0]: rand = b120f1c1a0102a2f507dd543de68281f
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = aefdaa5ddd9900003bf0fbdbbc9d8ecc
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = aefdaa5dddb90000c4741d698b7a7ed3
DAUC vector [0]: ck = 66195dbed0313274c5ca7766615fa25e
DAUC vector [0]: ik = 66bec707eb2afc476d7408a8f2927b36
DAUC vector [0]: res = 479dd25c20792d630000000000000000
@@ -335,18 +351,19 @@ DAUC vector [0]: kc = a819e577a8d6175b
DAUC vector [0]: sres = 67e4ff3f
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_17: SUCCESS
===== test_set_18
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 5122250214c33e723a5dd523fc145fc0
DAUC 3G: opc = 981d464c7c52eb6e5036234984ad0bcf
DAUC vector [0]: rand = 81e92b6c0ee0e12ebceba8d92a99dfa5
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = ada15aeb7bb80000f141568691cccaec
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = ada15aeb7b980000a99729b59d5688b2
DAUC vector [0]: ck = 5349fbe098649f948f5d2e973a81c00f
DAUC vector [0]: ik = 9744871ad32bf9bbd1dd5ce54e3e2e5a
DAUC vector [0]: res = 28d7b0f2a2ec3de50000000000000000
@@ -355,18 +372,19 @@ DAUC vector [0]: kc = 9a8d0e883ff0887a
DAUC vector [0]: sres = 8a3b8d17
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_18: SUCCESS
===== test_set_19
-aud3g.u.umts.sqn == 0
+aud3g.u.umts.sqn == 32
DAUC Computing 1 auth vector: 3G only (2G derived from 3G keys)
DAUC 3G: k = 90dca4eda45b53cf0f12d7c9c3bc6a89
DAUC 3G: opc = cb9cccc4b9258e6dca4760379fb82581
DAUC vector [0]: rand = 9fddc72092c6ad036b6e464789315b78
-DAUC vector [0]: sqn = 0
-DAUC vector [0]: autn = 83cfd54db9130000eb5e0ab0a7c030e6
+DAUC vector [0]: sqn = 32
+DAUC vector [0]: autn = 83cfd54db9330000695685b2b9214472
DAUC vector [0]: ck = b5f2da03883b69f96bf52e029ed9ac45
DAUC vector [0]: ik = b4721368bc16ea67875c5598688bb0ef
DAUC vector [0]: res = a95100e2760952cd0000000000000000
@@ -375,6 +393,7 @@ DAUC vector [0]: kc = ed29b2f1c27f9f34
DAUC vector [0]: sres = df58522f
DAUC vector [0]: auth_types = 0x3
rc == 1
+aud3g.u.umts.sqn == 33
vector matches expectations
===== test_set_19: SUCCESS
diff --git a/tests/auc/gen_ts_55_205_test_sets/func_template.c b/tests/auc/gen_ts_55_205_test_sets/func_template.c
index 36926eb..83c5826 100644
--- a/tests/auc/gen_ts_55_205_test_sets/func_template.c
+++ b/tests/auc/gen_ts_55_205_test_sets/func_template.c
@@ -36,6 +36,7 @@ static void {func_name}(void)
aud3g = (struct osmo_sub_auth_data){{
.type = OSMO_AUTH_TYPE_UMTS,
.algo = OSMO_AUTH_ALG_MILENAGE,
+ .u.umts.sqn = 32,
}};
osmo_hexparse("{Ki}",
@@ -47,9 +48,10 @@ static void {func_name}(void)
fake_rand, sizeof(fake_rand));
vec = (struct osmo_auth_vector){{ {{0}} }};
- VERBOSE_ASSERT(aud3g.u.umts.sqn, == 0, "%"PRIu64);
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 32, "%"PRIu64);
rc = auc_compute_vectors(&vec, 1, &aud2g, &aud3g, NULL, NULL);
VERBOSE_ASSERT(rc, == 1, "%d");
+ VERBOSE_ASSERT(aud3g.u.umts.sqn, == 33, "%"PRIu64);
VEC_IS(&vec,
" rand: {RAND}\n"