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:
|
||||
> 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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue