| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This change makes the conv_gen application more interactive
and flexible, allowing to generate not only code definitions
but also the test vectors and header files in the future.
Moreover, it becomes possible to select exact code family,
such as GSM, GMR etc.
Change-Id: I0b476b00234c17f78b41d695cf3bfd13edb64c28
|
|
|
|
|
|
|
| |
FreeBSD 11.0 uses clang version 3.8.0 which spits various warnings
during libosmocore compilation. Let's clean this up a bit.
Change-Id: Ic14572e6970bd0b8916604fabf807f1608fa07e5
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|
|
|
|
|
|
|
|
| |
This change separates the convolutional code definitions from the code
generator logic, allowing us to make further changes in more specific
way. For example, adding some new codes, you change the conv_codes.py
only because such change isn't related to the generator.
Change-Id: I3428561251b7d7a180d1e9b6fcaad50bdbbc37fa
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces the memory usage optimization, mentioned
in d2d9760c08f35a231d32f0ebeb73b2927e5573b3. The aim is to make
code generator able to detect, whether the same tables are used
by several convolutional code definitions, and prevent one from
writing these tables multiple times.
For now, the detection process isn't fully automatic, so all
shared polynomials should be placed inside the 'shared_polys'
dictionary, for example:
shared_polys = {
"xcch" : [
( G0, 1 ),
( G1, 1 ),
],
"mcs" : [
( G4, 1 ),
( G7, 1 ),
( G5, 1 ),
],
}
Change-Id: I84760f5cdfdaece376b801d2e6cb2954ee875a3b
|
|
|
|
|
|
|
|
| |
we wanted to check for !rmsg, but used to check for !msg, missing error
returns from read_record_nr().
Change-Id: I79b6a94b1aa947c8329317b0626865c3cd4159c1
Fixes: Coverity CID 57672
|
|
|
|
|
|
|
|
| |
This change finally makes the script able to be executed
in Python 3 environment. Due to new Python 3 restrictions,
the reduce() should be imported explicitly.
Change-Id: Icbc81c29f1a226aeed2c1245a5d60809fe124005
|
|
|
|
|
|
|
| |
This is mostly a code style change, but it also
increases the compatibility with Python 3.
Change-Id: I5c8271d973f766aeb9cbcab30c4eddfdab54fcbb
|
|
|
|
| |
Change-Id: Ie1452342f524a8b60f2babc07398a1d9c9e06aa3
|
|
|
|
| |
Change-Id: I3327b92715744af4ef61496ef0121555d9d24799
|
|
|
|
| |
Change-Id: I0ea7151f4e8119a8798a9e129b951559e56b0d93
|
|
|
|
|
|
|
|
|
|
|
| |
To keep the generated tables readable, line with should be limited.
So, now there are the following limitations:
- _print_term(): up to 12 numbers per line,
- _print_puncture(): up to 12 numbers per line,
- _print_x(): up to 4 blocks per line.
Change-Id: I95256c4ad402a3c088bdb6c5a5cda8b17c31881c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of generating every convolutional code into a separate
file (such as conv_xcch_gen.c, conv_cs3_gen.c), it is better to
have a single file, containing all definitions, because as many
convolutional codes we add, as many entries we will have to add
into 'src/gsm/Makefile.am'. This approach increases readability
of the Makefile.am, and also makes us able to share some data
between some convolutional code definitions.
For example: xCCH, RACH, SCH, TCH/F, both CS2 and CS3 may use
the same *_state[][2] and *_output[][2] arrays within a single
file. This optimization is currently WIP.
Change-Id: Ib4e4ee5fdde38429e68e3b2fa50ec03a18f59daa
|
|
|
|
| |
Change-Id: I8550910b9f5c16efc6f15f23c7ee52122c588752
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The script does not work with python3:
$ python3 utils/conv_gen.py
File "utils/conv_gen.py", line 124
def _print_term(self, fi, num_states, pack = False):
Second there is no 'python' on FreeBSD and one needs to select
the major version to use.
GEN conv_cs3_gen.c
GEN conv_xcch_gen.c
GEN conv_cs2_gen.c
python: not found
python: not found
python: not found
By using python2 we solve both issues. On Debian python2 is located
inside the python-minimal package.
|
| |
|
|
|
|
| |
they return an osim_file_desc, and not an osim_file, so fix the naming
|
|
|
|
| |
this is an attempt to fix the FreeBSD build
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes:
In file included from ../../../include/osmocom/core/msgb.h:25:0,
from ../../../include/osmocom/sim/sim.h:4,
from ../../../src/sim/reader_pcsc.c:30:
../../../include/osmocom/core/bits.h:6:35: fatal error: osmocom/core/bit16gen.h: No such file or directory
#include <osmocom/core/bit16gen.h>
In file included from ../../include/osmocom/core/msgb.h:25:0,
from ../../utils/osmo-sim-test.c:26:
../../include/osmocom/core/bits.h:6:35: fatal error: osmocom/core/bit16gen.h: No such file or directory
#include <osmocom/core/bit16gen.h>
|
|
|
|
|
|
|
|
| |
* PCSC is enabled by default
* --enable-pcsc is enabling it
* --disable-pcscis disabling it
* Fix the makefile of the utilities to not build pcsc and
use the right header files/libraries.
|
|
|
|
| |
if we expect rmsg to be set, we should check for it...
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the
unused all_includes variable, which is never set.
|
|
|
|
|
|
|
| |
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]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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();
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
This is a fatal error when building RPMs for OpenSUSE.
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
| |
|
|
|
|
|
|
| |
This fixes the build with -Werror-implicit-function-declaration.
taken from malformatted patch of Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When -A is used on the command line, the respective AUTS value
will be validated and the SQN of the UICC printed.
|
| |
|
| |
|
| |
|
| |
|
| |
|