[PATCH] libosmocore[master]: osmo-auc-gen: umts: add --ind-len arg

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/.

Neels Hofmeyr gerrit-no-reply at lists.osmocom.org
Sat Aug 26 21:33:11 UTC 2017


Review at  https://gerrit.osmocom.org/3701

osmo-auc-gen: umts: add --ind-len arg

osmo-auc-gen so far does not allow indicating the IND bit length of SQN. A
default of 5 serves most practical cases, nevertheless we should allow passing
arbitrary IND lengths.

Enhance the test suite to test --ind-len.

Related: OS#2465
Change-Id: Ia1d8b6a823ffc92290b3e39e4e4665aeff80ccc0
---
M tests/osmo-auc-gen/osmo-auc-gen_test.err
M tests/osmo-auc-gen/osmo-auc-gen_test.ok
M tests/osmo-auc-gen/osmo-auc-gen_test.sh
M utils/osmo-auc-gen.c
4 files changed, 98 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/3701/1

diff --git a/tests/osmo-auc-gen/osmo-auc-gen_test.err b/tests/osmo-auc-gen/osmo-auc-gen_test.err
index 46ecf2e..d9b5485 100644
--- a/tests/osmo-auc-gen/osmo-auc-gen_test.err
+++ b/tests/osmo-auc-gen/osmo-auc-gen_test.err
@@ -7,3 +7,6 @@
 expecting error:
 > osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind 42
 Requested --ind 42 is too large for IND bitlen of 5
+expecting error:
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 0 --ind 1
+Requested --ind 1 is too large for IND bitlen of 0
diff --git a/tests/osmo-auc-gen/osmo-auc-gen_test.ok b/tests/osmo-auc-gen/osmo-auc-gen_test.ok
index 278c88f..f833760 100644
--- a/tests/osmo-auc-gen/osmo-auc-gen_test.ok
+++ b/tests/osmo-auc-gen/osmo-auc-gen_test.ok
@@ -140,6 +140,76 @@
 SQN:	63
 
 
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 0
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
+RAND:	39fa2f4e3d523d8619a73b4f65c3e14d
+AUTN:	8704f5ba55eb0000d7fc4f7f19cfc180
+IK:	27497388b6cb044648f396aa155b95ef
+CK:	f64735036e5871319c679f4742a75ea1
+RES:	e229c19e791f2e41
+SRES:	9b36efdf
+Kc:	059a4f668f6fbe39
+SQN:	24
+
+
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 1
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
+RAND:	39fa2f4e3d523d8619a73b4f65c3e14d
+AUTN:	8704f5ba55eb0000d7fc4f7f19cfc180
+IK:	27497388b6cb044648f396aa155b95ef
+CK:	f64735036e5871319c679f4742a75ea1
+RES:	e229c19e791f2e41
+SRES:	9b36efdf
+Kc:	059a4f668f6fbe39
+SQN:	24
+
+
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 1 --ind 1
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
+RAND:	39fa2f4e3d523d8619a73b4f65c3e14d
+AUTN:	8704f5ba55ea0000aab06de3fd6c01af
+IK:	27497388b6cb044648f396aa155b95ef
+CK:	f64735036e5871319c679f4742a75ea1
+RES:	e229c19e791f2e41
+SRES:	9b36efdf
+Kc:	059a4f668f6fbe39
+SQN:	25
+
+
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 8
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
+RAND:	39fa2f4e3d523d8619a73b4f65c3e14d
+AUTN:	8704f5ba54f30000cbba2fbba3c5e242
+IK:	27497388b6cb044648f396aa155b95ef
+CK:	f64735036e5871319c679f4742a75ea1
+RES:	e229c19e791f2e41
+SRES:	9b36efdf
+Kc:	059a4f668f6fbe39
+SQN:	256
+
+
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 8 --ind 1
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
+RAND:	39fa2f4e3d523d8619a73b4f65c3e14d
+AUTN:	8704f5ba54f200008f8e14579da5ecbb
+IK:	27497388b6cb044648f396aa155b95ef
+CK:	f64735036e5871319c679f4742a75ea1
+RES:	e229c19e791f2e41
+SRES:	9b36efdf
+Kc:	059a4f668f6fbe39
+SQN:	257
+
+
 expecting error:
 > osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind -1
 osmo-auc-gen (C) 2011-2012 by Harald Welte
@@ -159,3 +229,10 @@
 osmo-auc-gen (C) 2011-2012 by Harald Welte
 This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
 
+
+
+expecting error:
+> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind-len 0 --ind 1
+osmo-auc-gen (C) 2011-2012 by Harald Welte
+This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
+
diff --git a/tests/osmo-auc-gen/osmo-auc-gen_test.sh b/tests/osmo-auc-gen/osmo-auc-gen_test.sh
index f7fc87d..55b0757 100755
--- a/tests/osmo-auc-gen/osmo-auc-gen_test.sh
+++ b/tests/osmo-auc-gen/osmo-auc-gen_test.sh
@@ -48,7 +48,15 @@
 invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind 23
 invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind 31
 
+invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 0
+invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 1
+invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 1 --ind 1
+invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 8
+invoke -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 8 --ind 1
+
 # expect error: IND is too large for IND-bitlen of 5 (max 31)
 invoke_err -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind -1
 invoke_err -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind 32
 invoke_err -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind 42
+
+invoke_err -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 0 --ind 1
diff --git a/utils/osmo-auc-gen.c b/utils/osmo-auc-gen.c
index 4f36dee..6e38b52 100644
--- a/utils/osmo-auc-gen.c
+++ b/utils/osmo-auc-gen.c
@@ -81,6 +81,7 @@
 		"-f  --amf\tSpecify AMF (only for 3G)\n"
 		"-s  --sqn\tSpecify SQN (only for 3G)\n"
 		"-i  --ind\tSpecify IND slot for new SQN after AUTS (only for 3G)\n"
+		"-l  --ind-len\tSpecify IND bit length (default=5) (only for 3G)\n"
 		"-A  --auts\tSpecify AUTS (only for 3G)\n"
 		"-r  --rand\tSpecify random value\n"
 		"-I  --ipsec\tOutput in triplets.dat format for strongswan\n");
@@ -122,6 +123,7 @@
 			{ "amf", 1, 0, 'f' },
 			{ "sqn", 1, 0, 's' },
 			{ "ind", 1, 0, 'i' },
+			{ "ind-len", 1, 0, 'l' },
 			{ "rand", 1, 0, 'r' },
 			{ "auts", 1, 0, 'A' },
 			{ "help", 0, 0, 'h' },
@@ -130,7 +132,7 @@
 
 		rc = 0;
 
-		c = getopt_long(argc, argv, "23a:k:o:f:s:i:r:hO:A:I", long_options,
+		c = getopt_long(argc, argv, "23a:k:o:f:s:i:l:r:hO:A:I", long_options,
 				&option_index);
 
 		if (c == -1)
@@ -214,6 +216,13 @@
 			ind = atoi(optarg);
 			ind_is_set = 1;
 			break;
+		case 'l':
+			if (test_aud.type != OSMO_AUTH_TYPE_UMTS) {
+				fprintf(stderr, "Only UMTS has IND bitlen\n");
+				exit(2);
+			}
+			test_aud.u.umts.ind_bitlen = atoi(optarg);
+			break;
 		case 'r':
 			rc = osmo_hexparse(optarg, _rand, sizeof(_rand));
 			rand_is_set = 1;

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia1d8b6a823ffc92290b3e39e4e4665aeff80ccc0
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>



More information about the gerrit-log mailing list