summaryrefslogtreecommitdiffstats
path: root/utils/osmo-auc-gen.c
Commit message (Collapse)AuthorAgeFilesLines
* osmo-auc-gen: cmdline help: list algorithms; error messagesNeels Hofmeyr2017-02-061-1/+10
| | | | | | | | | | | | In the -h help output, list the names of available algorithms. In case of option parsing failure, also print help() (so that e.g. for a typo in the algorithm, the list of algorithms is printed along with the error message). If there are -2/-3 or -a missing, show an error message that explains this. Change-Id: I76732b28d7a553a6293d1707fe398d28b5ef4886
* osmo-auc-gen: cosmetic: clarify output upon AUTSNeels Hofmeyr2017-02-041-1/+14
| | | | | | | | | | | | | | | | | | | | | When calculating a re-sync vector using AUTS, osmo-gen-vec used to print SQN.MS + 2, the new SQN after vector generation, labeled 'SEQ.MS'. Firstly, s/SEQ/SQN. Secondly, print SQN.MS as umts.sqn - 2, which is the actual SQN recovered from the AUTS. As explained in the comment, SQN.MS + 1 is used to generate the vector, and then umts.sqn is increased a second time to indicate the next SQN. With AUTS calculated from SQN.MS == 23, the output was: AUTS success: SEQ.MS = 25 Output now: AUTS success: SQN.MS = 23, generated vector with SQN = 24, next SQN = 25 Change-Id: I881bbe8246a5e7d3a5065b4b5b533255723b1a9e
* GSUP, OAP, osmo-gen-vec: fix AUTS length to 14, not 16Neels Hofmeyr2017-02-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | GSUP transmits AUTS for UMTS authentication procedures, and OAP uses the same procedures to authenticate. osmo-gen-vec is a utility program that passes AUTS to our osmo_auth_gen_vec_auts() API. According to 3GPP 33.102 6.3.3, AUTS = SQN^AK || MAC-S, which are 6 || 8 == 14 bytes. This is confirmed by 24.008 9.2.3a where the TLV has 16 bytes, TL = 2 and AUTS being the V = 14. It is not harmful for milenage_gen_vec_auts() to pass two more AUTS bytes. But writing 16 bytes to a GSUP struct is a potential problem when passing in a 14 byte long AUTS buffer to the GSUP API, which then reads past the AUTS buffer. The API implies the length, so far to be 16, so passing in a 14 byte buffer to GSUP would require copying to a larger buffer first. Fix this by using a length of 14 for AUTS everywhere instead. This constitues an ABI breakage, we may handle it as a "fix before an official release", otherwise we need a version bump. The OAP protocol document has also been updated, needs an update in the osmo-gsm-manuals as well. Change-Id: If25b173d9ec57ea4c504d860954912b7d82af455
* osmo-auc-gen: Print hex values without intermittent spacesHarald Welte2016-06-011-7/+7
| | | | | | | | | | | | | | | | When generating some authentication vectors using the osmo-auc-gen utility, it used to print values like this: AUTN: f7 55 bc 47 de d0 00 00 f9 ed 4b 3f 6c 2a 97 6f which is quite difficult to copy+paste on the terminal. Now it generates the following format: Change-Id: I2805615e0c2087ca632e0658b37a9e06929620b6 AUTN: f755bc47ded00000f9ed4b3f6c2a976f Reviewed-on: https://gerrit.osmocom.org/164 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
* osmo-auc-gen: '-a' is already the algorithm. Fix the helpHolger Hans Peter Freyther2015-05-261-1/+1
|
* utils: resolve compiler warnings on implicit declarationsJan Engelhardt2014-10-031-0/+1
| | | | | | | CC osmo-auc-gen.o osmo-auc-gen.c: In function 'main': osmo-auc-gen.c:216:3: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
* osmo-auc-gen: Fix compiler warnings about aliasingHolger Hans Peter Freyther2014-06-221-4/+7
| | | | | | | | | | | | | | | | | | | I ran "./utils/osmo-auc-gen -2 -a COMP128v1" and verified that the RAND doen't look empty Fixes: osmo-auc-gen.c: In function ‘main’: osmo-auc-gen.c:219:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)&_rand[0] = rand(); ^ osmo-auc-gen.c:220:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[4]) = rand(); ^ osmo-auc-gen.c:221:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[8]) = rand(); ^ osmo-auc-gen.c:222:3: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] *(uint32_t *)(&_rand[12]) = rand();
* utils: Fix compiler warnings n the osmo-auc-gen utilityHolger Hans Peter Freyther2013-07-141-1/+3
| | | | | | | osmo-auc-gen.c:217:3: warning: implicit declaration of function ‘time’ [-Wimplicit-function-declaration] osmo-auc-gen.c:249:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘uint64_t’ [-Wformat] Fixes: Coverity CID 1040668
* Add missing includes to timer_test.c and osmo-auc-gen.cHarald Welte2012-08-021-0/+1
| | | | | | This fixes the build with -Werror-implicit-function-declaration. taken from malformatted patch of Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
* osmo-auc-gen: Add "-I" mode for generating triplets.dat for strongswanHarald Welte2012-06-271-3/+23
| | | | | | If you want to use eap-sim-file with strongswan, you need a triplets.dat file in a specific format. osmo-auc-gen can now generate the respective format automatically.
* osmo-auc-gen: Add mode for verifying user-supplied AUTSHarald Welte2012-03-221-14/+25
| | | | | When -A is used on the command line, the respective AUTS value will be validated and the SQN of the UICC printed.
* update copyright noticeHarald Welte2012-03-211-2/+2
|
* osmo-auc-gen: Add -O to the getop line to make it workHolger Hans Peter Freyther2012-03-211-1/+1
|
* auth_milenage/osmo-auc-gen: compute OPC in case only OP is knownHarald Welte2012-03-211-0/+12
|
* osmo-auc-gen: Introduce a small cmdline help/referenceHarald Welte2012-03-211-1/+26
|
* auth_core: don't use anonymous unions to make certain gcc versions happyHarald Welte2011-12-071-10/+10
|
* add 'osmo-auc-gen' tool that can be used to generate auth vectorsHarald Welte2011-12-071-0/+183
Thsi tool usses libosmocore in order to generate 2G and 3G authentication vectors from private key material, exactly like an AuC would produce them in a real network.