[MERGED] libosmocore[master]: osmo-auc-gen: clarify SQN output, prepare for SQN changes

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Wed Mar 15 12:46:11 UTC 2017


Harald Welte has submitted this change and it was merged.

Change subject: osmo-auc-gen: clarify SQN output, prepare for SQN changes
......................................................................


osmo-auc-gen: clarify SQN output, prepare for SQN changes

Upcoming patches will change the way SQN are incremented. Change the SQN
related output by osmo-auc-gen so that it also makes sense after these changes,
and so that its output is proven to remain unchanged for the same arguments:

Always show the SQN used for vector generation when a UMTS vector was generated.

Don't show the next SQN, it will not make sense anymore (see later patches).

The adjustments of expected output of osmo-auc-gen_test illustrates how the
output changes.

Related: OS#1968
Change-Id: I35d9c669002ff3e8570e07b444cca34ce57c3b0c
---
M tests/osmo-auc-gen/osmo-auc-gen_test.ok
M utils/osmo-auc-gen.c
2 files changed, 18 insertions(+), 16 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/tests/osmo-auc-gen/osmo-auc-gen_test.ok b/tests/osmo-auc-gen/osmo-auc-gen_test.ok
index 9c2e462..fb7998f 100644
--- a/tests/osmo-auc-gen/osmo-auc-gen_test.ok
+++ b/tests/osmo-auc-gen/osmo-auc-gen_test.ok
@@ -11,6 +11,7 @@
 RES:	f511d3a7f06e6a30
 SRES:	057fb997
 Kc:	60524000cc5e5407
+SQN:	0
 
 
 > osmo-auc-gen -3 -a milenage -r 6a61050765caa32c90371370e5d6dc2d -k 1dc4f974325cce611e54f516dc1fec56 -o 2a48162ff3edca4adf0b7b5e527d6c16 -s 1
@@ -24,6 +25,7 @@
 RES:	f511d3a7f06e6a30
 SRES:	057fb997
 Kc:	60524000cc5e5407
+SQN:	1
 
 
 > osmo-auc-gen -3 -a milenage -r 6a61050765caa32c90371370e5d6dc2d -k 1dc4f974325cce611e54f516dc1fec56 -o 2a48162ff3edca4adf0b7b5e527d6c16 -s 23
@@ -37,6 +39,7 @@
 RES:	f511d3a7f06e6a30
 SRES:	057fb997
 Kc:	60524000cc5e5407
+SQN:	23
 
 
 > osmo-auc-gen -3 -a milenage -r 1dc4f974325cce611e54f516dc1fec56 -k 2a48162ff3edca4adf0b7b5e527d6c16 -o 6a61050765caa32c90371370e5d6dc2d -s 42
@@ -50,6 +53,7 @@
 RES:	912cdfaadd7b0154
 SRES:	4c57defe
 Kc:	169d78081b24c007
+SQN:	42
 
 
 > osmo-auc-gen -3 -a milenage -r 2a48162ff3edca4adf0b7b5e527d6c16 -k 6a61050765caa32c90371370e5d6dc2d -o 1dc4f974325cce611e54f516dc1fec56 -s 99
@@ -63,6 +67,7 @@
 RES:	fd40205be2c9c7b2
 SRES:	1f89e7e9
 Kc:	d2d5361395b9b74a
+SQN:	99
 
 
 > osmo-auc-gen -3 -a milenage -r 6a61050765caa32c90371370e5d6dc2d -k 2a48162ff3edca4adf0b7b5e527d6c16 -o 1dc4f974325cce611e54f516dc1fec56 -s 281474976710655
@@ -76,6 +81,7 @@
 RES:	7c04e86a67967fcd
 SRES:	1b9297a7
 Kc:	10687b71e4eb94c5
+SQN:	281474976710655
 
 
 > osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c
@@ -89,4 +95,5 @@
 RES:	e229c19e791f2e41
 SRES:	9b36efdf
 Kc:	059a4f668f6fbe39
-AUTS success: SQN.MS = 23, generated vector with SQN = 24, next SQN = 25
+SQN:	24
+AUTS success: SQN.MS = 23
diff --git a/utils/osmo-auc-gen.c b/utils/osmo-auc-gen.c
index f0cfa79..6fa7cec 100644
--- a/utils/osmo-auc-gen.c
+++ b/utils/osmo-auc-gen.c
@@ -257,24 +257,19 @@
 
 	if (fmt_triplets_dat)
 		dump_triplets_dat(vec);
-	else
+	else {
 		dump_auth_vec(vec);
+		if (test_aud.type == OSMO_AUTH_TYPE_UMTS)
+			/* After generating, SQN is incremented, so -1 */
+			printf("SQN:\t%" PRIu64 "\n", test_aud.u.umts.sqn - 1);
+	}
 
-	/* Print SQN from AUTS. It makes sense to print actually three SQN
-	 * to clarify:
-	 * After recovering SQN.MS from AUTS, milenage_gen_vec_auts() does:
-	 *   aud->u.umts.sqn = 1 + (osmo_load64be_ext(sqn_out, 6) >> 16);
-	 * Then calls milenage_gen_vec(), which, after it is done, does:
-	 *   aud->u.umts.sqn++;
-	 */
+	/* After recovering SQN.MS from AUTS, milenage_gen_vec_auts() does
+	 * aud->u.umts.sqn++, and after vector generation milenage_gen_vec()
+	 * does another ++, so to show SQN.MS we need to -2 */
 	if (auts_is_set)
-		printf("AUTS success: SQN.MS = %" PRIu64
-		       ", generated vector with SQN = %" PRIu64
-		       ", next SQN = %" PRIu64 "\n",
-		       test_aud.u.umts.sqn - 2,
-		       test_aud.u.umts.sqn - 1,
-		       test_aud.u.umts.sqn
-		       );
+		printf("AUTS success: SQN.MS = %" PRIu64 "\n",
+		       test_aud.u.umts.sqn - 2);
 
 	exit(0);
 }

-- 
To view, visit https://gerrit.osmocom.org/2078
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I35d9c669002ff3e8570e07b444cca34ce57c3b0c
Gerrit-PatchSet: 4
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list