mirror of https://gerrit.osmocom.org/libosmocore
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
This commit is contained in:
parent
3cb08277f1
commit
b1af6ef164
|
@ -7,3 +7,6 @@ Requested --ind 32 is too large for IND bitlen of 5
|
||||||
expecting error:
|
expecting error:
|
||||||
> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind 42
|
> 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
|
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
|
||||||
|
|
|
@ -140,6 +140,76 @@ Kc: 059a4f668f6fbe39
|
||||||
SQN: 63
|
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:
|
expecting error:
|
||||||
> osmo-auc-gen -3 -a milenage -r 39fa2f4e3d523d8619a73b4f65c3e14d -k EB215756028D60E3275E613320AEC880 -o FB2A3D1B360F599ABAB99DB8669F8308 -A 979498b1f72d3e28c59fa2e72f9c --ind -1
|
> 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
|
osmo-auc-gen (C) 2011-2012 by Harald Welte
|
||||||
|
@ -159,3 +229,10 @@ expecting error:
|
||||||
osmo-auc-gen (C) 2011-2012 by Harald Welte
|
osmo-auc-gen (C) 2011-2012 by Harald Welte
|
||||||
This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY
|
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
|
||||||
|
|
||||||
|
|
|
@ -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 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 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)
|
# 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 -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 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 42
|
||||||
|
|
||||||
|
invoke_err -3 -a milenage -r $rand -k $k -o $opc -A $auts --ind-len 0 --ind 1
|
||||||
|
|
|
@ -81,6 +81,7 @@ static void help()
|
||||||
"-f --amf\tSpecify AMF (only for 3G)\n"
|
"-f --amf\tSpecify AMF (only for 3G)\n"
|
||||||
"-s --sqn\tSpecify SQN (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"
|
"-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"
|
"-A --auts\tSpecify AUTS (only for 3G)\n"
|
||||||
"-r --rand\tSpecify random value\n"
|
"-r --rand\tSpecify random value\n"
|
||||||
"-I --ipsec\tOutput in triplets.dat format for strongswan\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' },
|
{ "amf", 1, 0, 'f' },
|
||||||
{ "sqn", 1, 0, 's' },
|
{ "sqn", 1, 0, 's' },
|
||||||
{ "ind", 1, 0, 'i' },
|
{ "ind", 1, 0, 'i' },
|
||||||
|
{ "ind-len", 1, 0, 'l' },
|
||||||
{ "rand", 1, 0, 'r' },
|
{ "rand", 1, 0, 'r' },
|
||||||
{ "auts", 1, 0, 'A' },
|
{ "auts", 1, 0, 'A' },
|
||||||
{ "help", 0, 0, 'h' },
|
{ "help", 0, 0, 'h' },
|
||||||
|
@ -130,7 +132,7 @@ int main(int argc, char **argv)
|
||||||
|
|
||||||
rc = 0;
|
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);
|
&option_index);
|
||||||
|
|
||||||
if (c == -1)
|
if (c == -1)
|
||||||
|
@ -214,6 +216,13 @@ int main(int argc, char **argv)
|
||||||
ind = atoi(optarg);
|
ind = atoi(optarg);
|
||||||
ind_is_set = 1;
|
ind_is_set = 1;
|
||||||
break;
|
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':
|
case 'r':
|
||||||
rc = osmo_hexparse(optarg, _rand, sizeof(_rand));
|
rc = osmo_hexparse(optarg, _rand, sizeof(_rand));
|
||||||
rand_is_set = 1;
|
rand_is_set = 1;
|
||||||
|
|
Loading…
Reference in New Issue