aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-07-15extend osmo_sysinfo_type with missing SYSINFO_TYPEHarald Welte1-1/+6
The list should now be complete up to Releae 14 Change-Id: I693cabe1a3b00a8c4198f7a4a1c647c5d7dc6c41
2017-07-14LC15: add NM measurement type to standard attribute listMinh-Quang Nguyen1-0/+1
Change-Id: I320b379429aaf0f7351aed5e4f72a481cc268c05
2017-07-14LC15: Add IPAC Directed Retry Enquiry data structureMinh-Quang Nguyen1-0/+7
Change-Id: I8d2746eefe1f22dba5b19636ebc9444e458fc802
2017-07-14LC15: Enable string for IPAC RSL direct retryMinh-Quang Nguyen1-0/+1
Change-Id: I3e69fba0e21e181d28baee90e95f57216f2617af
2017-07-14IPAC manufacture-defined measurement pre-processing definitionsMinh-Quang Nguyen2-0/+127
Change-Id: Ie1853697f4cff5ff98654fa1cae6c68e28a0076b
2017-07-13socket: Add new OSMO_SOCK_F_NO_MCAST_ALL optionHarald Welte2-0/+12
Using this option at socket creation, the caller can request disabling the IP_MULTICAST_ALL socket option. Change-Id: I5ab5de45c0b64ceb3636ea98245a23defa24ffd4
2017-07-13socket: Allow disabling multicast loop on socket creationHarald Welte2-4/+18
This introduces a new flag OSMO_SOCK_F_NO_MCAST_LOOP, which can be used to disable the looping back of multicast packets transmitted throug this socket to other local sockets on the machine. As this looping-back is active by default, a single option to deviate from the default is deemed sufficient. Change-Id: I24a5b1ebc3f84d2d5d4734e54df50efaea26490b
2017-07-13socket: Unify listen() calls and check for erroneous returnsHarald Welte1-20/+33
We had three places at the end of socket initialization functions calling listen(). Let's unify that and fix some bugs: * close + return error in case of bad listen() result * don't call listen() on AF_UNIX SOCK_DGRAM sockets Change-Id: I7e8dbe3c0486bb3b9810b0add1331e93fc106d82
2017-07-13socket.c: Add multicast related convenience functionsHarald Welte2-0/+141
Change-Id: Id703e7a7a1e065181a4c76c088b8dcc1b7fe15a2
2017-07-13select: Add new osmo_fd_close() functionHarald Welte2-0/+18
This is a convenience helper that will both close a fd, mark it as closed and unregister it from the event loop abstraction. In most cases, you probably actually want to use it instead of manually closing and calling osmo_fd_unregister(). Change-Id: Icd0933eed6a24edde7cdcb378e138897ecc5332c
2017-07-13gsmtap: Add value_strings for GSMTAP_TYPE and GSMTAP_CHANNELHarald Welte2-0/+48
Change-Id: Iaf8a99912f42a56ef785a1642e18238c0b67cf68
2017-07-13gsmtap_util: Add chantype_gsmtap2rsl() as inverse of chantype_rsl2gsmtap()Harald Welte2-1/+41
Change-Id: Ie1bc00670887064da0fea61c3dab036c23ceea25
2017-07-11utils: add function gsm_fn_as_gsmtime_str()Philipp Maier3-0/+15
Convert a given frame number into a printable string that displays the sub components of the frame number. Change-Id: I8015d2ded3940b01b35df7b72fc35c70c25e9926
2017-07-10Add pseudo-random bit sequence generator to libosmcooreHarald Welte8-3/+175
These PRBS sequences are specified in ITU-T O.150. They are typically used as test data to be transmitted for BER (bit error rate) testing. Change-Id: I227b6a6e86a251460ecb816afa9a7439d5fb94d1
2017-07-10gsm_04_08.h: Add struct for 9.1.13b GPRS suspension requestHarald Welte1-0/+8
Change-Id: I90113044460a6c511ced14f588876c4280d1cac7
2017-07-10Ignore broken everything log levelMax1-2/+9
* when reading config file (or vty command) ignore "logging level .. everything" level * when writing config file, skip "logging level .. everything" level In both cases print corresponding deprecation warning. The "everything" level is not working as advertised for quite some time anyway. This will allow us to gradually deprecate broken "everything" parameter giving users enough time to update their config files before removing it entirely. Change-Id: I73d5c4f238beb88981ad25caa69f64ad6fb7209f Related: OS#71
2017-07-10gsm_utils: Add osmo_dump_gsmtimePau Espin Pedrol3-0/+15
Used by osmo-bts, moved from osmo-bts l1sap.c:dump_gsmtime. Change-Id: Ib5452e2c20f53006c0f6d197fb055728947125d8
2017-07-09gsm_04_08/sgsn: Add another IE for internal usage in the sgsnHolger Hans Peter Freyther1-0/+1
The PDP charging characteristics will be returned from the PDP selection code and be used in the SGSN. It is following the same approach as the QoS and PDP addr. It is a bit of a pity that we have to define this in a different project. Change-Id: I7815c5dfd7b7fb0ea78d816ebfb3abfbf0090afe
2017-07-08Deprecate wrappers around loglevel_strsMax1-2/+2
Add deprecation notice for public API use: it shouldn't be used outside of libosmocore anyway. Change-Id: I792e30dc44f027fd94e1f65af19fe08bac52b95c Related: OS#71
2017-07-07gsup: Add encoding/decoding for the pdp charging characteristicsHolger Hans Peter Freyther4-5/+36
These fields can be in the ISD and the PDP Context inofmration. Store pointers to this IE in both cases. It needs to be used by the SGSN when opening a PDP context. Change-Id: Iedc7c02adcf77ca5c9545119e19c968dfbbb3e6b
2017-07-06configure.ac: Add --disable-doxygen flagPau Espin Pedrol1-1/+7
This flag, when set, allows to unconditionally disable doxygen documentation generation, even if doxygen command is found. Change-Id: Iba1440292116af27b267c7a1fbec1c2336784efe
2017-07-03osmo_sock_get_name(): clearly indicate local and remoteNeels Hofmeyr2-5/+5
In a string like 127.0.0.1:2905<->127.0.0.1:60661 it is hard to tell which is the local part. I'd have expected it on the left, but it is actually on the right. To avoid doubt and bypass bikesheds on which side should be what, clearly mark the two sides as remote and local. (r=127.0.0.1:2905<->l=127.0.0.1:60661) Change-Id: I43dcc6a1906429bd0955fd7fe2eb5b8495b592d8
2017-07-01Add missing BSSGP cause valuesMax2-40/+114
Add values from 3GPP TS 48.018 Change-Id: Ie39a6c91a46d179392d861805a106743a07c6fb0
2017-06-30l1sap.h: Add ber10k and lqual_cb to ph_tch_paramPau Espin Pedrol1-0/+2
These fields are required in osmo-bts to do low link quality checks in a generic way. Change-Id: If4ae20c22b881e94585dad710f17b9e37f77bf82
2017-06-28BSSGP: handle BVC-RESET-ACKMax1-0/+3
That's necessary for SGSN to properly handle BSS response to reset procedure initiated by SGSN (foe example via 'bssgp bvc nsei 101 bvci 0 reset' command). According to 3GPP TS 48.018 §8.4 "after performing the BVC Reset procedure all affected BVCs are assumed to be unblocked at the SGSN" so there's no need in any special handling. Change-Id: I90dfbd0195a8403406429ccc746299d072445f7b Related: OS#1638
2017-06-27deb: fix build by adding libosmogb doc packageMax4-0/+24
Change-Id: I3fe45feaee4033c17e25c4c0552d54a81d9b44f5 Fixes: OS#2340
2017-06-25doxygen: gsm: do not exclude include/gsm/protocol/*Neels Hofmeyr1-1/+1
Clear out the EXCLUDE tag to not exclude anything. Tried to add API doc to gsm/protocol/gsm_08_08.h and after a long time found out why they are not appearing in the API doc. The original reason to exclude these files was that we were not going to copy-paste descriptions from the 3GPP specs. Nevertheless, for an API doc reader it is helpful if all data structures are listed and linked. Change-Id: Ib569a46f00866bdaa4017f803d85f625ae011316
2017-06-24gitignore all tests using maskVadim Yanitskiy1-42/+1
Use the 'tests/*/*_test' mask to ignore all test binaries instead of specifying each of them. Change-Id: If85e665d1c2a0b55d23937db5725768cdbf14f58
2017-06-23contrib: Enable -Werror by defaultPau Espin Pedrol2-4/+4
Change-Id: I1752cad1e34cb6e5f36edf3f538d803eff29d18c
2017-06-23configure.ac: Fix C(PP)FLAGS for BSD buildPau Espin Pedrol1-4/+4
If we pass CFLAGS params to configure, then the CFLAGS set inside configure.ac are not applied and the build fails if -Werror is enabled because then BUILDING_LIBOSMOCORE is not defined. Seeing the following output at configure time in FreeBSD build: ./configure: CFLAGS+= -fsanitize=address -fsanitize=undefined: not found ./configure: CPPFLAGS+= -fsanitize=address -fsanitize=undefined: not found ./configure: CFLAGS+= -DBUILDING_LIBOSMOCORE -Wall: not found ./configure: CPPFLAGS+= -DBUILDING_LIBOSMOCORE -Wall: not found Change-Id: I692bbc66e5343998eec360a02a3a1fe73478c5c6
2017-06-23jenkins.sh: Disable sanitize for FreeBSDPau Espin Pedrol1-1/+7
Our current build server uses clang-3.4.1 and FreeBSD10.3, and AddressSanitizer support is not good yet on those versions, triggering some link issues when it is enabled. I tested using newer clang 3.7.1 in the same FreeBSD version but another compiler error related to __builtin_cpu_supports is triggered. Conclusion: Explicitly disable AddressSanitizer until we move to FreeBSD11 with clang 3.8. Before this commit, AddressSanitizer was implicitly disabled due to a shell compatibility issue which is fixed in next commit in the series, thus we need to explicitly disable it here. Change-Id: I0db497045a2ebf7877232b28ae1fcf1fd89fb3f3
2017-06-23control_cmd.c: Fix unsigned comparison against < 0Pau Espin Pedrol1-1/+1
Fixes following warning: control_cmd.c:294:16: warning: comparison of unsigned enum expression < 0 is always false [-Wtautological-compare] if (cmd->type < 0 || cmd->type == CTRL_TYPE_UNKNOWN) { Change-Id: I3df8a4f646222337927d9e3cac6d09a8a05cb20c
2017-06-23abis_nm.c: Fix implicit enumeration type conversionPau Espin Pedrol1-4/+4
Fixes following warning message: abis_nm.c:101:2: warning: implicit conversion from enumeration type 'enum abis_nm_msgtype_bs11' to different enumeration type 'enum abis_nm_msgtype' [-Wenum-conversion] Change-Id: Icb0ed423febf1ceb6626e256d32011b4118fc527
2017-06-23serial.c: Use pragma message instead of warningPau Espin Pedrol1-1/+1
Change-Id: I65b1ef6e4b9ba0bf0c3c2f03311250f31ddb308a
2017-06-23configure.ac: Enable -Wall by defaultPau Espin Pedrol1-2/+2
Change-Id: I70f917e05ad46049487710d1752aad2505c96696
2017-06-23gsm0411_utils.c: Fix compilation warningsPau Espin Pedrol1-2/+2
gsm0411_utils.c:102:2: warning: #warning find a portable way to obtain timezone offset [-Wcpp] #warning find a portable way to obtain timezone offset gsm0411_utils.c: In function 'gsm338_get_sms_alphabet': gsm0411_utils.c:260:4: warning: large integer implicitly truncated to unsigned type [-Woverflow] return 0xffffffff; Change-Id: I1d6cb31f38721f79e2cf93f9b8e4776f3720aa07
2017-06-23Fix warnings: tolower() and similar require ucharPau Espin Pedrol3-5/+5
utils.c: In function 'osmo_str2lower': utils.c:277:3: warning: array subscript has type 'char' [-Wchar-subscripts] out[i] = tolower(in[i]); And according to man: If c is neither an unsigned char value nor EOF, the behavior of these func‐ tions is undefined. Change-Id: I3fed2ab6a4efba9f8a21fcf84a5b3a91e8df084f
2017-06-23Fix compilation warnings: use correct log type for uint32_tPau Espin Pedrol2-2/+4
Change-Id: Ic1e3255800999669ca9619bfceb4124c773eff2d
2017-06-23fix map entry for gsm0808_speech_codec_from_chan_typeNeels Hofmeyr1-1/+1
Recent commit 884ba0f2bcaf385cabee0b4228a2598d61fa406b adds function gsm0808_chan_type_to_speech_codec() but adds a mismatching name in libosmogsm.map. openbsc.git's aoip branch can't build with this. This must have been an on-the-fly rename that wasn't properly tested. Always test your patches! Change-Id: I68feb14f7bcb2f62b89f9b2d8c085d6824b493bc
2017-06-23fix map entry and .h declaration for gsm0808_chan_type_to_speech_codec()Neels Hofmeyr2-2/+2
Recent commit 3149b0d076477303a38df735fe579b1b06ee17b2 adds function gsm0808_chan_type_to_speech_codec() but adds a completely mismatching name in libosmogsm.map, as well as a definition with a typo in the name. Fix the entry in libosmogsm.map. Add the missing 'c' in gsm0808_utils.h Change-Id: I5a621fa5ef6b632eabbe224f3dd383eacaffb695
2017-06-23doxygen: config: one enum val per lineNeels Hofmeyr5-5/+5
In the generated API doc, do not print multiple enum values on the same line, because this makes the lists pretty much unreadable. Change-Id: I63d6f42567f532851e19eb8a6c842e418ce666af
2017-06-23doxygen: unify use of \file across the boardNeels Hofmeyr251-866/+873
Considering the various styles and implications found in the sources, edit scores of files to follow the same API doc guidelines around the doxygen grouping and the \file tag. Many files now show a short description in the generated API doc that was so far only available as C comment. The guidelines and reasoning behind it is documented at https://osmocom.org/projects/cellular-infrastructure/wiki/Guidelines_for_API_documentation In some instances, remove file comments and add to the corresponding group instead, to be shared among several files (e.g. bitvec). Change-Id: Ifa70e77e90462b5eb2b0457c70fd25275910c72b
2017-06-23doxygen: various fixes in core/timer.hNeels Hofmeyr1-19/+16
Move a longish comment to the timer group so that it appears in the API doc. Un-doxygen some floating comments that were associated with unrelated code items ('/**' --> '/*'). Add braces to some function names so that the API doc will render as reference links. Change-Id: I3ea5b88cbe9cb54702429158bf47e768e04e8fe7
2017-06-23api doc typo fix in core/logging.hNeels Hofmeyr1-1/+1
Change-Id: I3f1cd5b10e7beccb61f370d7f8fa2666e56542cf
2017-06-23doxygen: enable AUTOBRIEF, drop \briefNeels Hofmeyr144-1576/+1575
Especially for short descriptions, it is annoying to have to type \brief for every single API doc. Drop all \brief and enable the AUTOBRIEF feature of doxygen, which always takes the first sentence of an API doc as the brief description. Change-Id: I11a8a821b065a128108641a2a63fb5a2b1916e87
2017-06-23doxygen: add missing gb API doc generationNeels Hofmeyr4-3/+1730
Files in include/osmocom/gprs/ and src/gb/ are not included in any doxygen generated API docs. Add Doxyfile.gb.in and adjust configure.ac and Makefile.am. Change-Id: Ieb64f497f55368e396872083237c9ff28da2dd93
2017-06-23doxygen: include all undocumented items in the API docNeels Hofmeyr5-5/+5
Currently, files that omit the \file directive and all functions, enums, structs lacking a doxygen style comment are completely missing from the doxygen API docs. Set EXTRACT_ALL = YES so that all files and code items are at least listed in the doxygen API. Change-Id: I39f558ec0a33a61a1fcec0554f53c8e7668733de
2017-06-23doxygen: drop INPUT gsm/protocol, already part of gsm/Neels Hofmeyr1-1/+1
include/osmocom/gsm/protocol is also implicitly included in its parent dir because of the recursive rule. Naming it again makes doxygen use it twice. It doesn't seem to be harmful, but not needed either. Change-Id: I5dc22ca65740a88540dacc61c0742fede172de9c
2017-06-23comments: gsm0808_utils: mention various 3GPP specsPhilipp Maier1-0/+5
Tweaked-by: nhofmeyr Change-Id: I990dfe9eeaf96f377484b828143935240a937226
2017-06-23gsm0808: fix length check of the element decoder functionsPhilipp Maier1-6/+6
The length check of the decoder functions is not entirely correct. The check also checks for values below zero, which does not make sense, since the length is encoded as uint8_t. For some elements a minimum length is known (in most cases this is 1), so checking for zero is sufficient but in some cases (e.g. channel type) the spec mentions a minimum and maximum length. This is now also reflected in the code. Tweaked-by: nhofmeyr Change-Id: I78bc887f68d1963d28c6fcd631ac20ccd893d6d6