summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Revert "gsm48: move to hex TMSI representation"Holger Freyther2016-05-201-1/+2
| | | | | | | | | | | | | | | | | This is a "flag" day change. Old OpenBSC break with new libosmocore because suddenly there is the 0x in front. I am afraid we need to find a better solution here. I think we will need to create a gsm48_mi_to_string variant that takes a mode parameter to enable the TMSI mode and deprecate the old method. Right now we should not break old versions of OpenBSC. This reverts commit 78ad042f94afd5bf7de477ae634e9d2fdd9c9dc4. Change-Id: I2f61e626f2f9088b492e1b643c3dcc9bce77d52b Reviewed-on: https://gerrit.osmocom.org/86 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* Fix build for OSXArran Cudbard-Bell2016-05-202-1/+24
| | | | | | | Change-Id: I580a500edcf4812e570be586890abef746083a8c Reviewed-on: https://gerrit.osmocom.org/74 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* gsm48: move to hex TMSI representationVadim Yanitskiy2016-05-201-2/+1
| | | | | | | | | | | | | Previously, we traditionally displayed a TMSI in its integer representation, which is quite unusual in the telecom world. A TMSI is normally printed as a series of 8 hex digits. Review at https://gerrit.osmocom.org/57/ Change-Id: Ifd25365bfa3b4ee95b16979740c3229948ce17f2 Reviewed-on: https://gerrit.osmocom.org/57 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org> Reviewed-by: Holger Freyther <holger@freyther.de>
* add .gitreviewAlexander Couzens2016-05-191-0/+3
| | | | | | | | | | | A gitreview file is required to use git review. More information about git review https://www.mediawiki.org/wiki/Gerrit/git-review Change-Id: I95235dddf60670c38a5a7a726c2a77f09d03c303 Reviewed-on: https://gerrit.osmocom.org/69 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* Ignore config.cacheArran Cudbard-Bell2016-05-191-0/+1
| | | | | | | Change-Id: Ida2294e490eb5eec515aa00742fb6cfc29b11b48 Reviewed-on: https://gerrit.osmocom.org/83 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* Add function to make Uplink MeasurementMax2016-05-173-0/+26
| | | | | | | | | | | It assembles RSL Uplink Measurement IE according to 3GPP TS 08.58 §9.3.25. The function is based on lchan_build_rsl_ul_meas() from OsmoBTS but optionally includes DTX information. Change-Id: Ib37107bcc9909e5105ea711de42d3fb1db7e8d9e Reviewed-on: https://gerrit.osmocom.org/44 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
* Set DTX in Cell OptionsMax2016-05-123-2/+61
| | | | | | | | | | | | * rename field of struct gsm48_cell_options to better match the spec * add comments with spec references * add function for setting DTX in cell options struct * add necessary enum type Change-Id: I5a8924f57669c951b2e51b663d95f1d360062a54 Reviewed-on: https://gerrit.osmocom.org/39 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
* logging: Use __BASE_FILE__ instead of __FILE__Harald Welte2016-05-122-5/+5
| | | | | | | | | | | | | | Apparently __FILE__ expands to nasty '../../..' paths when BUILDDIR != SRCDIR. This in turn leads to ugly log lines like: <0000> ../../../../osmo-bts/src/common/rsl.c:1642 (bts=0,trx=0,ts=0,ss=0) Handing RLL msg UNIT_DATA_IND from LAPDm to MEAS REP Where we certainly wouldn't want the "../../../../osmo-bts" part. Change-Id: If6d2de33c3b6bb2943954bbd81eff261dc279d58 Reviewed-on: https://gerrit.osmocom.org/38 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
* debian: Fix packaging by requiring python-minimalHolger Hans Peter Freyther2016-05-101-1/+1
| | | | | | | | | | | We require the python2 binary to generate code. In Debian this is provided by python-minimal. Add it to the build-depends to fix building packages. Change-Id: Iaa26f4331966d015b193d2ab1e34621b1e319ef1 Reviewed-on: https://gerrit.osmocom.org/37 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* api doc: auth_core.c: add \returns, cosmeticNeels Hofmeyr2016-05-101-2/+9
| | | | | | | | | | | | | | | Add various missing \returns doxygen entries. In osmo_auth_3g_from_2g(), also adjust two comment-closing instances to match common style and add a period to end a sentence. (The recent addition of osmo_auth_3g_from_2g() raised my attention, and I added more return value docs while at it.) Change-Id: Iea71eb666bc061acb6b14215f398bd38d17b3ad3 Reviewed-on: https://gerrit.osmocom.org/33 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
* add doc/*.tag to .gitignoreHarald Welte2016-05-061-0/+1
|
* GSUP: Add support for RAND in SendAuthInfo.reqHarald Welte2016-05-062-1/+13
| | | | | | In the autentication re-sync case, we need not only the AUTS from the MS/UE, but also the RAND that we sent as part of the failed authentication challenge.
* GSUP: Add OSMO_GSUP_CN_DOMAIN_IE to differentiate CS and PS planeHarald Welte2016-05-062-0/+16
| | | | | We're starting to use GSUP for circuit-switched (CS) plane, so we need to differentiate the two planes somehow from each other.
* import gprs_gsup_message.[ch] from openbsc as gsup.[ch]Harald Welte2016-05-0610-4/+908
| | | | | | | Move those routines from OpenBSC to libosmogsm, so they can be re-used from other programs. I think it was a mistake to add them only inside the openbsc repository in the first place. We need to pay more attention to this in the future.
* Import osmo_{encode,decode}_big_endian() from openbscHarald Welte2016-05-052-0/+66
|
* tlv: Import osmo_shift_* and osmo_match_shift_* from openbscHarald Welte2016-05-057-2/+451
| | | | | These routines have nothing to do with specifically the BSC, so import them to the TLV parser we keep in libosmogsm.
* Update doxygen annotations in libosmocoreHarald Welte2016-05-0527-186/+374
| | | | | This adds and improves doxygen API descriptions all over libosmocore, reducing the 'white spots' that don't have any documentation.
* add new header file for TS 23.003Harald Welte2016-05-052-0/+24
|
* import gsm_04_08_gprs.[ch] from openbsc.gitHarald Welte2016-05-055-1/+546
| | | | | | The definitions in this header file (and associated strings in the c file) are generic about the GPRS Layer3 signalling protocols, and thus should be part of the library.
* Add log_fini() function to release all memory allocated by logging frameworkHarald Welte2016-05-052-0/+16
| | | | | This is e.g. quite useful to call at the end of test code, in order to show that all memory allocated actually is released before exit().
* auth_core: Add osmo_auth_3g_from_2g() to compute CK+IK from KcHarald Welte2016-05-052-0/+42
| | | | | This function performs the C5+C4 conversion to derive UMTS key material from a 2G-only subscriber.
* conv_gen: Use python2 to execute the scriptHolger Hans Peter Freyther2016-04-292-2/+2
| | | | | | | | | | | | | | | | | | | | | 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.
* add two missing files (gsm0503.h / conv_gen.py) to previous commitHarald Welte2016-04-292-0/+568
|
* Add code generator for convolutional codesMax Suraev msuraev@sysmocom.de2016-04-297-195/+113
| | | | | | | | | | | | | | | | Add python utility to generate .c code with convolutional encoder/decoder based on polynomial description of the code. If argument given it'll be interpreted as intended output directory, otherwise current working directory is used. Codes for *CCH, CS2/3 and TCH/AFS are generated. Corresponding manual implementations are removed from tests. This introduce build-time dependency on python. The main work for this patch was generously contributed by Sylvain Munaut. Fixes: OS#1629
* milenage/aes: Address undefined behavior on bitshiftHolger Hans Peter Freyther2016-04-241-1/+1
| | | | | | | | | | | | | | | | | Extend the u8 to u32 before going to shift it. Fixes: milenage/aes-internal.c:799:4: runtime error: left shift of 128 by 24 places cannot be represented in type 'int' #0 0x7f84e9fe86a2 in rijndaelKeySetupEnc (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xfa6a2) #1 0x7f84e9febad8 in aes_encrypt_init (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xfdad8) #2 0x7f84e9fe7d14 in aes_128_encrypt_block (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xf9d14) #3 0x7f84e9febe7d in milenage_f1 (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xfde7d) #4 0x7f84e9fee2ce in milenage_generate (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0x1002ce) #5 0x7f84e9fe76d7 in milenage_gen_vec (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xf96d7) #6 0x7f84e9fe6c08 in osmo_auth_gen_vec (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/src/gsm/.libs/libosmogsm.so.5+0xf8c08) #7 0x401441 in main (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/tests/auth/.libs/lt-milenage_test+0x401441) #8 0x7f84e8e33a3f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x20a3f) #9 0x400e58 in _start (/home/builder/jenkins/workspace/Osmocom_Sanitizer/source/libosmocore/tests/auth/.libs/lt-milenage_test+0x400e58)
* doxygen: Remove the tag file on uninstall as wellHolger Hans Peter Freyther2016-04-241-1/+1
| | | | | | | | | | | Hopefully last patch: ERROR: files left in build directory after distclean: ./doc/libosmocore.tag ./doc/libosmovty.tag ./doc/libosmogsm.tag ./doc/libosmocodec.tag Makefile:800: recipe for target 'distcleancheck' failed
* doxygen: Next try to fix the uninstall handlingHolger Hans Peter Freyther2016-04-241-1/+1
| | | | Use /* to remove the files
* doxygen: Try to uninstall the search files as wellHolger Hans Peter Freyther2016-04-241-1/+1
| | | | | | | | | | | Try to fix this by putting the search directory first as I don't know how to pass -r to the RM command. rm -f doc/{core,gsm,vty,codec}/{html,latex}/* doc/html.tar doc/{core,gsm,vty,codec}/doxygen_sqlite3.db rm: cannot remove ‘doc/core/html/search’: Is a directory rm: cannot remove ‘doc/gsm/html/search’: Is a directory rm: cannot remove ‘doc/vty/html/search’: Is a directory rm: cannot remove ‘doc/codec/html/search’: Is a directory
* Add static lib to -dev .deb packageMax2016-04-242-0/+4
| | | | | | According to https://www.debian.org/doc/debian-policy/ch-sharedlibs.html and http://packaging.ubuntu.com/html/libraries.html that's where it belongs.
* Doxygen: enable tagfile generation and usage for cross-project referencesSylvain Munaut2016-04-244-7/+7
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* Doxygen: Enable client-based search engineSylvain Munaut2016-04-244-4/+4
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* Fix unaligned access found by addr. sanitizerMax2016-04-242-4/+4
| | | | | | | | gprs_bssgp.c:461:9: runtime error: load of misaligned address 0x62100001a66b for type 'uint32_t', which requires 4 byte alignment gprs_ns.c:937:16: runtime error: load of misaligned address 0x61d00002a97f for type 'uint16_t', which requires 2 byte alignment
* Add function for appending range1024 to bitvecMax2016-04-234-1/+51
| | | | | Add convenience function to append range1024 encoded data (see 3GPP TS 44.018 Annex J) to a given bitvec.
* Deprecate comp128Max2016-04-223-4/+13
| | | | | Mark function as deprecated to discourage its usage: people should use generic API in osmocom/crypt/auth.h
* Deprecate osmo_a5_1 and osmo_a5_2Max2016-04-222-52/+61
| | | | | Mark the functions as deprecated to discourage their use: people should use unified osmo_a5 which supports all the A5/1-4 ciphers.
* Improve code reuseMax2016-04-221-32/+3
| | | | Use generic functions covered by testsuit for SQN calculations.
* Update internal GPRS cipher APIMax2016-04-224-5/+30
| | | | | Update internal API (for GPRS cipher implementors): make it compliant with ETSI TS 155.22. External API left untouched.
* Addditional classmark check against A5/4 supportMax2016-04-221-1/+13
| | | | | Add classmark check function according to GSM 04.08 Chapter 10.5.1.7 Fix interface to use unsigned for unsigned value.
* Add function to get osmo_earfcn bit sizeMax2016-04-163-0/+26
| | | | | | This function returns the number of bits necessary to pack osmo_earfcn into Repeated E-UTRAN Neighbour Cells IE (3GPP TS 44.018 Table 10.5.2.33b.1).
* logging.c: assert category_token allocation (CID #57871)Neels Hofmeyr2016-04-161-0/+1
|
* jenkins: Enable tracing and error handling in bashHolger Hans Peter Freyther2016-04-131-0/+2
| | | | | Like jenkins we want to see what is actually being executed and fail if a subcommand has failed.
* jenkins: Add build script used by jenkins on our public CIHolger Hans Peter Freyther2016-04-131-0/+6
| | | | | | The actual script (removed unused and commented out handling) as invoked by jenkins. This can be used to locally try to reproduce the build.
* Add ubit <-> sbit convertorsMax2016-04-123-21/+29
| | | | | Move functions for conversion between soft and unpacked bits to main library as they are generally useful.
* gb: Add bssgp_pdu_str to libosmogb namespaceMax2016-04-121-0/+1
| | | | [hfreyther: To be used by osmo-pcu]
* Add missing docs for bssgp bvc reset vty commandMax2016-04-071-2/+8
| | | | Fixes the build failure with extended tests enabled.
* Add vty command to explicitly reset given BVCIMax2016-04-051-0/+20
| | | | | It's useful for debugging and is similar to existing reset command for nsvc.
* vty: Make a reservation for the osmo-sip-connectorHolger Hans Peter Freyther2016-03-311-0/+1
| | | | | The osmo-sip-connector is a new application and is a MNCC to SIP bridge. It is not implementing transcoding or RTP proxying at all.
* select: Externalize fd_set filling and dispatchHolger Hans Peter Freyther2016-03-312-32/+57
| | | | | | | | | | | | | | | | To integrate with an external event loop (in this case glib) we need to allow an application to get a filled out fd_set and then dispatch it. osmo_fds and maxfds are static and I decided to keep it that way and instead create two routines to fill the fdset and then one to dispatch the result. The public header file does not include sys/select.h and we can compile the library without select, so I didn't want to require having to include this file, and used void * for the parameter. Mark the routines as inline to avoid a call from the select function. I have confirmed that inlining has an effect on x86 using Debian's gcc-4.9.2-10 compiler
* Export names for gsm_chan_t and gsm48_chan_modeMax2016-03-304-1/+34
| | | | This can be used with get_value_string() to improve debugging output.
* sim: Fix compiler warning and by this fixing the test resultHolger Hans Peter Freyther2016-03-211-0/+1
|