summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* sim: make osim_reader_ops publicHarald Welte2016-03-192-9/+7
|
* Add new osmo_fd_get_by_fd() functionHarald Welte2016-03-192-0/+14
| | | | | | This function can be used to obtain the osmo_fd corresponding to a given fd. The latter can be useful when integrating libosmocore main loop with other libraries.
* sim: Add simplistic unit test for APDU class tablesHarald Welte2016-03-175-2/+76
|
* sim: add class_tables / card profilesHarald Welte2016-03-174-2/+359
| | | | | The tables permit code to determine the APDU class of an APDU based on it APDU/TPDU header (CLA/INS/P1/P2/P3).
* Improve BSSGP debug outputMax2016-03-172-17/+17
| | | | | Print string representation of Cause IE and PDU type instead of numerical value.
* add missing #include <stdbool.h>Harald Welte2016-03-171-0/+1
|
* Rename struct to better match libosmocore conventionsMax2016-03-172-7/+7
|
* Revert "gsm48: move to hex TMSI representation"Harald Welte2016-03-171-1/+1
| | | | This reverts commit f451ce66eb8206bad1078849723edcb209632834.
* gsm48: move to hex TMSI representationVadim Yanitskiy2016-03-171-1/+1
| | | | Signed-off-by: Vadim Yanitskiy <axilirator@gmail.com>
* Add basic EARFCN supportMax2016-03-173-1/+85
| | | | | | Add structure representing group of EARFCNs with common priority, threshold etc. Add functions to populate this structure.