aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-06-14add vty call show asciidoc: generate a documentation for countersAlexander Couzens3-0/+197
For each counter group a ascii doc table is generated containing all single counter with a reference to a section to add additional information to the counter Change-Id: Ia8af883167e5ee631059299b107ea83c8bbffdfb Reviewed-on: https://gerrit.osmocom.org/70 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Harald Welte <laforge@gnumonks.org>
2016-06-13add rsl_or_ipac_msg_name() for both standard and ip.access msg typesNeels Hofmeyr3-0/+13
Context: in osmo-bts, I want to look up an RSL message name in rsl_msgt_names and fall back to rsl_ipac_msgt_names if not found, because the IPAC PDCH ACT and DEACT messages are sent in a standard ABIS_RSL_MDISC_DED_CHAN. Change-Id: Ic9ba721a1469cf51aed97ab0f44a7fe055c94b1f Reviewed-on: https://gerrit.osmocom.org/231 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-13add get_value_string_or_null() to handle unknown itemsNeels Hofmeyr2-3/+20
Add get_value_string_or_null() to return NULL in case the given value is not found in the list of strings, to be able to cleanly fall back to another list of strings. Absorb the lookup loop from get_value_string(). Context: in osmo-bts, I want to look up an RSL message name in rsl_msgt_names and fall back to rsl_ipac_msgt_names if not found, because the IPAC PDCH ACT and DEACT messages are sent in a standard ABIS_RSL_MDISC_DED_CHAN. In a subsequent commit, get_value_string_or_null() will be used by new rsl_or_ipac_msg_name(). Change-Id: I1fa3907e28d528d2758bc3eae9d19e6c1168f5e5 Reviewed-on: https://gerrit.osmocom.org/230 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-13api doc: get_value_string(): mention composition in static bufferNeels Hofmeyr1-0/+4
Change-Id: I93dad98711ef69f8a1e196efa029a842a1ff5bd6 Reviewed-on: https://gerrit.osmocom.org/229 Reviewed-by: Harald Welte <laforge@gnumonks.org> Tested-by: Jenkins Builder
2016-06-07gitignore: add gsup_test, tlv_testNeels Hofmeyr1-0/+2
Change-Id: Ied1cbc7a48bdbc3696e9d8657285071c377d6de5 Reviewed-on: https://gerrit.osmocom.org/207 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-06-01osmo-auc-gen: Print hex values without intermittent spacesHarald Welte1-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
2016-06-01Add functions to detect HR/FR SID framesMax5-0/+108
Add functions which check if given FR or HR frame (packed in RTP) contains SID (SIlence Descriptor) and corresponding tests. Related: OS#22 Change-Id: I4051e3c0d4fb9ee93d7e9e0ef4abaf9f18e227ca Reviewed-on: https://gerrit.osmocom.org/160 Tested-by: Jenkins Builder Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-31Patched structs for big-endian architecturesRuben Undheim1-0/+160
Change-Id: I29eafe481e112d18c624b1c83add0d53c354dbe4 Reviewed-on: https://gerrit.osmocom.org/124 Tested-by: Jenkins Builder Reviewed-by: Neels Hofmeyr <nhofmeyr@sysmocom.de> Reviewed-by: Harald Welte <laforge@gnumonks.org>
2016-05-31Add helper functions for AMR codecMax8-4/+245
* add functions to encode/decode various codec paramters from RTP payload with AMR frame according to RFC 4867 * those functions are extended version based on code from osmo-bts' amr.c by Andreas Eversberg * add corresponding enum types and strings for logging * add regression tests It's useful both to replace manual parsing in osmo-bts with fuctions covered by test suite and as a debugging helpers for issues related to AMR. Change-Id: Ia217679a07d3fbc970f435e20f6eac33d34bd597 Related: OS#1562 Reviewed-on: https://gerrit.osmocom.org/118 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-30Add strings with PH primitive namesMax3-0/+16
It's useful debugging helper while troubleshooting L1-related issues. Change-Id: Id7a6d478fd725c51f54ad746bdf9b9095579ff77 Reviewed-on: https://gerrit.osmocom.org/117 Tested-by: Jenkins Builder Reviewed-by: Max <msuraev@sysmocom.de> Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-28Fixing build on Mac OSXBeshr Al Nahas1-1/+1
Fix minor syntax error Change-Id: I67f9a1e41fa5b1da3a4b10fc76138e153b767241 Reviewed-on: https://gerrit.osmocom.org/125 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-25misc: Some spelling errors correctedRuben Undheim2-2/+2
Change-Id: Ibfc239b84879556624ca6020ae6a63d102640c94 Reviewed-on: https://gerrit.osmocom.org/114 Tested-by: Jenkins Builder Reviewed-by: Neels Hofmeyr <nhofmeyr@sysmocom.de>
2016-05-20Revert "gsm48: move to hex TMSI representation"Holger Freyther1-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>
2016-05-20Fix build for OSXArran Cudbard-Bell2-1/+24
Change-Id: I580a500edcf4812e570be586890abef746083a8c Reviewed-on: https://gerrit.osmocom.org/74 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-20gsm48: move to hex TMSI representationVadim Yanitskiy1-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>
2016-05-19add .gitreviewAlexander Couzens1-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>
2016-05-19Ignore config.cacheArran Cudbard-Bell1-0/+1
Change-Id: Ida2294e490eb5eec515aa00742fb6cfc29b11b48 Reviewed-on: https://gerrit.osmocom.org/83 Tested-by: Jenkins Builder Reviewed-by: Holger Freyther <holger@freyther.de>
2016-05-17Add function to make Uplink MeasurementMax3-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>
2016-05-12Set DTX in Cell OptionsMax3-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
2016-05-12logging: Use __BASE_FILE__ instead of __FILE__Harald Welte2-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>
2016-05-10debian: Fix packaging by requiring python-minimalHolger Hans Peter Freyther1-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>
2016-05-10api doc: auth_core.c: add \returns, cosmeticNeels Hofmeyr1-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>
2016-05-06add doc/*.tag to .gitignoreHarald Welte1-0/+1
2016-05-06GSUP: Add support for RAND in SendAuthInfo.reqHarald Welte2-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.
2016-05-06GSUP: Add OSMO_GSUP_CN_DOMAIN_IE to differentiate CS and PS planeHarald Welte2-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.
2016-05-06import gprs_gsup_message.[ch] from openbsc as gsup.[ch]0.9.4Harald Welte10-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.
2016-05-05Import osmo_{encode,decode}_big_endian() from openbscHarald Welte2-0/+66
2016-05-05tlv: Import osmo_shift_* and osmo_match_shift_* from openbscHarald Welte7-2/+451
These routines have nothing to do with specifically the BSC, so import them to the TLV parser we keep in libosmogsm.
2016-05-05Update doxygen annotations in libosmocoreHarald Welte27-186/+374
This adds and improves doxygen API descriptions all over libosmocore, reducing the 'white spots' that don't have any documentation.
2016-05-05add new header file for TS 23.003Harald Welte2-0/+24
2016-05-05import gsm_04_08_gprs.[ch] from openbsc.gitHarald Welte5-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.
2016-05-05Add log_fini() function to release all memory allocated by logging frameworkHarald Welte2-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().
2016-05-05auth_core: Add osmo_auth_3g_from_2g() to compute CK+IK from KcHarald Welte2-0/+42
This function performs the C5+C4 conversion to derive UMTS key material from a 2G-only subscriber.
2016-04-29conv_gen: Use python2 to execute the scriptHolger Hans Peter Freyther2-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.
2016-04-29add two missing files (gsm0503.h / conv_gen.py) to previous commitHarald Welte2-0/+568
2016-04-29Add code generator for convolutional codesMax Suraev msuraev@sysmocom.de7-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
2016-04-24milenage/aes: Address undefined behavior on bitshiftHolger Hans Peter Freyther1-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)
2016-04-24doxygen: Remove the tag file on uninstall as wellHolger Hans Peter Freyther1-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
2016-04-24doxygen: Next try to fix the uninstall handlingHolger Hans Peter Freyther1-1/+1
Use /* to remove the files
2016-04-24doxygen: Try to uninstall the search files as wellHolger Hans Peter Freyther1-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
2016-04-24Add static lib to -dev .deb packageMax2-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.
2016-04-24Doxygen: enable tagfile generation and usage for cross-project referencesSylvain Munaut4-7/+7
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2016-04-24Doxygen: Enable client-based search engineSylvain Munaut4-4/+4
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2016-04-24Fix unaligned access found by addr. sanitizerMax2-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
2016-04-23Add function for appending range1024 to bitvecMax4-1/+51
Add convenience function to append range1024 encoded data (see 3GPP TS 44.018 Annex J) to a given bitvec.
2016-04-22Deprecate comp128Max3-4/+13
Mark function as deprecated to discourage its usage: people should use generic API in osmocom/crypt/auth.h
2016-04-22Deprecate osmo_a5_1 and osmo_a5_2Max2-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.
2016-04-22Improve code reuseMax1-32/+3
Use generic functions covered by testsuit for SQN calculations.
2016-04-22Update internal GPRS cipher APIMax4-5/+30
Update internal API (for GPRS cipher implementors): make it compliant with ETSI TS 155.22. External API left untouched.
2016-04-22Addditional classmark check against A5/4 supportMax1-1/+13
Add classmark check function according to GSM 04.08 Chapter 10.5.1.7 Fix interface to use unsigned for unsigned value.