summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/osmo-auc-gen/osmo-auc-gen_test.err3
-rw-r--r--tests/osmo-auc-gen/osmo-auc-gen_test.ok77
-rwxr-xr-xtests/osmo-auc-gen/osmo-auc-gen_test.sh8
-rw-r--r--utils/osmo-auc-gen.c11
4 files changed, 98 insertions, 1 deletions
diff --git a/tests/osmo-auc-gen/osmo-auc-gen_test.err b/tests/osmo-auc-gen/osmo-auc-gen_test.err
index 46ecf2ef..d9b54850 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 @@ Requested --ind 32 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 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 278c88f4..f833760d 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 @@ Kc: 059a4f668f6fbe39
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 @@ expecting error:
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 f7fc87da..55b0757a 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 5
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 4f36dee5..6e38b520 100644
--- a/utils/osmo-auc-gen.c
+++ b/utils/osmo-auc-gen.c
@@ -81,6 +81,7 @@ static void help()
"-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 @@ int main(int argc, char **argv)
{ "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 @@ int main(int argc, char **argv)
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 @@ int main(int argc, char **argv)
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;