summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* get_value_string: Null terminate after the call to snprintfHolger Hans Peter Freyther2013-07-041-0/+1
| | | | | | | It is impossible that the snprintf will fill the entire namebuf but just follow the idiom to make sure it is null terminated. Related: Coverity CID 1040676
* vty: Attempt to fix various meam leaks in the VTY lookup codeHolger Hans Peter Freyther2013-07-031-0/+3
| | | | | | | | | | These routines were not freeing vectors used for the lookup. On review it is fixing another path not detected by coverity. The danger is a double free in tab completion now. It is difficult to test this. Fixes: Coverity CID 23037, CID 23038
* gsm0408: Avoid unaligned memory access in gsm48_generate_mid_from_tmsiHolger Hans Peter Freyther2013-07-031-2/+2
| | | | | | | | The &buf[3] is unlikely to be aligned properly. Use memcpy instead of an assignment. Add a small testcase that verifies that I didn't mess up the conversion. Alignment trap: osmo-nitb (3293) PC=0x492b7094 Instr=0xe5803003 Address=0xbeb259db FSR 0x801
* strrb: Remove a tautology from the codeHolger Hans Peter Freyther2013-07-031-1/+1
| | | | | | | | This already came up during review but now that Coverity complains about it as well, let us just remove it. The variable is unsigned so it can never be < 0. Fixes: Coverity CID 1040669.
* BSSGP: prevent divide-by-zero in flow controlHarald Welte2013-06-291-10/+33
| | | | | | | If the BTS tells us to not send any data at all anymore (bucket leak rate of 0 bits per second), then we should respect this and not run into a divide-by-zero. However, as this indicates complete overload, we print a log message to that regard.
* introduce gsm0808_create_reset_ack()Harald Welte2013-06-291-0/+13
|
* lapd_core: msgb_trim() the L2 padding from ESTABLISH.indHarald Welte2013-06-181-2/+3
| | | | | | | | When a SABM(E) frame arrives, we have to trim the L2 padding (0x2b for gsm) before handing the data off to L3, just like we do with I frames. Also, we should use mggb_trim() or even msgb_l3trim() instead of manually fiddling with msgb->length and ->tail pointers.
* misc: Fix the spelling of frame in the RLM cause stringsHolger Hans Peter Freyther2013-06-111-1/+1
|
* gsm_utils: refer to ETSI TS 05.08 instead of TS 08.05Bhaskar2013-05-231-2/+2
|
* lapd: Set the tx_hist to NULL after freeing itHolger Hans Peter Freyther2013-05-081-0/+1
| | | | | Make detecting use after free of the tx_hist easy and set the variable to NULL after talloc_free has been freed.
* Fix of potential memory leaks at lapdm.cAndreas Eversberg2013-04-061-4/+17
|
* Fix: LAPDm contention resoltion must acknowledge subsequent SABMAndreas Eversberg2013-04-061-2/+8
| | | | | | | | | After reception of SABM, the network responds with UA and enters the establised multiframe state. If UA is not received by mobile, the SABM is transmitted again, and the network must respond with UA again, unless it is from a different mobile. Add LAPDm collision test (contention resolution on network side).
* gprs_ns: Allow to set the DSCP for the UDP socket.Holger Hans Peter Freyther2013-03-253-0/+24
| | | | Allow to tag the NS service with a custom DSCP.
* logging_vty: Fix segfault un unused entries in log_info_cat array of appHarald Welte2013-03-191-0/+4
|
* Revert "Follow up fix for the log level "everything""Harald Welte2013-03-191-3/+0
| | | | This reverts commit a6428d2376034d619f342897d3ce415b3f9a3584.
* Revert "Fix log level "everything" and make it equal to "debug""Harald Welte2013-03-191-1/+1
| | | | This reverts commit cd6ed82d1ff48f47ad9e33e6322df62896a76ed5.
* application: don't ignore SIGHUP but do config file reopen.Harald Welte2013-03-181-1/+6
|
* logging: add new log_targets_reopen() functionHarald Welte2013-03-181-0/+20
| | | | | This function will re-open all existing log files in the application, praticularly useful for SIGHUP handlers in case of logrotate
* gsm_septets2octets(): Input parameter should be constHarald Welte2013-03-131-1/+2
|
* logging_vty: Print 'log filter all' info in 'show logging vty'Harald Welte2013-03-131-0/+6
| | | | | When we print information about the current logging configuration, it makes sense to also print information about the log filters.
* cygwin: Link many libraries with -no-undefined to create a dllHolger Hans Peter Freyther2013-03-034-5/+5
| | | | | | Only the Gb library relies on having undefined references to a symbol that needs to be provided by the host application. For all other libraries we can link with -no-undefined.
* codec: Fix the GSM 06.20 ordering tablesSylvain Munaut2013-03-011-41/+41
| | | | | | | | | | Seems the script I used to parse those had a bug where range of bits in the 'decreasing' direction ( like 6..0 ) were not processed properly. Thanks to Andreas for noticing this ! Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* Follow up fix for the log level "everything"Holger Hans Peter Freyther2013-02-271-0/+3
| | | | | | | | | | | | Commit cd6ed82d1ff48f47ad9e33e6322df62896a76ed5 made "EVERYTHING" map to LOGL_DEBUG but when writing out the configuration the following would be written: logging level all unknown 0x0 This happend because no string was found for the value 0. Address it by adding a legacy check for 0 and write out the str from the index 0. Currently this is "EVERYTHING".
* Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi2013-02-274-6/+352
| | | | | | | The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
* Revert "Added a ring buffer log target to store the last N log messages."Holger Hans Peter Freyther2013-02-274-351/+6
| | | | | | | I noticed some more issues and it is the easiest to revert and include the fixed version. This reverts commit 73377229bb33ab79682ce4b126a63602d13304ad.
* Added a ring buffer log target to store the last N log messages.Katerina Barone-Adesi2013-02-274-6/+351
| | | | | | | The log target can be used via log alarms and show alarms. Why? This feature was proposed/requested at http://openbsc.osmocom.org/trac/wiki/Tasks/ErrorLogTarget All messages use the same amount of space, prioritizing simplicity.
* Fix log level "everything" and make it equal to "debug"Harald Welte2013-02-191-1/+1
| | | | | | As Holger points out "logging level XXX everything" wasn't working, as it sets category->loglevel to 0, which is checked in osmo_vlogp() and will never get logged.
* misc: Doxygen tweaks: fixed some typos and minor errorsKaterina Barone-Adesi2013-02-1512-18/+19
| | | | | Doxygen generates quite a lot of warnings on libosmocore. Some of them are obvious typos - this patch aims to fix such low-hanging fruit.
* VTY: don't show HIDDEN or DEPRECATED vty commands in ? completionHarald Welte2013-02-121-0/+3
| | | | | | | This hides HIDDEN or DEPRECATED commands from showing up when the full list of commands is inquired with '?' at any given point in the command tree. Only if the hidden/deprecated command is already typed in partially, then it will still tab-complete.
* vty/command.c: Cosmetic cleanupHarald Welte2013-02-121-82/+81
| | | | | this is just changing some of the code to reduce the way too high level of indentation and thus improve readability.
* turn abis_nm_debugp_foh() into a macroHarald Welte2013-02-101-12/+10
| | | | | | this will avoid printing 'abis_nm.c' as the filename in the log, which is pretty useless during debugging. We want to know where abis_nm_debugp_foh() is being used from, not where it is implemented.
* core/crc: Fix the 64 bits implementationSylvain Munaut2013-02-011-2/+2
| | | | | | | We used 1ULL at one place and not the other ... at the same time, we now use (uintXX_t) so that the proper type is used each time. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* socket: fix osmo_sock_init with SOCK_RAW and IPPROTO_RAWPablo Neira Ayuso2013-01-151-3/+16
| | | | | | | | | | | | | getaddrinfo returns EAI_SERVICE (-8) if that combination is used. More information available in here: http://sourceware.org/bugzilla/show_bug.cgi?id=15015 Reported by Holger Hans Peter Freyther. While at it, this patch also removes hints.ai_flags = 0 as memset to zero already happened just a bit before that.
* Fix build on CygwinEvgeny Zverev2013-01-121-1/+5
|
* add some missing doxygen annotation for libosmocore functionsHarald Welte2013-01-117-11/+75
|
* vty: Do better filtering of arguments, optional args particularlySylvain Munaut2013-01-031-208/+143
| | | | | | | | This is essentially http://patchwork.diac24.net/patch/271/ forward ported to libosmovty Original-by: Paul Jakma <paul@quagga.net> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* core/bits: Prevent osmo_revbytebits_buf stack trashingSylvain Munaut2013-01-031-1/+1
| | | | | | | | | | | | The second loop in osmo_revbytebits_buf() in src/bits.c grabs 4 bytes each iteration, which can easily go past the supplied input in some cases. Compiled with -fstack-protector , I get a "stack smashing detected" in the bits test. From: Nils O. SelÄsdal <noselasd@fiane.dyndns.org> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* lapd: Check in rslms_rx_rll() if lapdm context was initialized earlierDaniel Willmann2012-12-261-2/+18
| | | | | | | | | | | | | | | | | | This was found while implementing handover on a sysmobts. When we receive a channel release request for a channel that was never really activated (set_lapdm_context() was not called) we segfault in lapd_recv_dlsap(). We now return early with -EINVAL in rslms_rx_rll() if we receive a message that assumes set_lapdm_context() was already called. These are: * RSL_MT_UNIT_DATA_REQ * RSL_MT_DATA_REQ * RSL_MT_SUSP_REQ * RSL_MT_REL_REQ A test case was added to trigger the issue.
* core: Fix missing include in msgfile.c for getlineSylvain Munaut2012-12-121-0/+1
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* build: Don't use the deprecated INCLUDES in the various Makefile.amSylvain Munaut2012-12-115-10/+5
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsm: Add method to find ARFCN based on frequencySylvain Munaut2012-12-112-45/+66
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* sms: Print 'network' or 'mobile' when creating the SMC/SMRHolger Hans Peter Freyther2012-12-062-3/+4
|
* gsm/a5: Return -ENOTSUP if the selected cipher is not supportedSylvain Munaut2012-12-061-2/+6
| | | | | | Extracted from a patch by Max Suraev Max.Suraev@fairwaves.ru> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* lapd: Use LOGL_ERROR for messgaes that are wrong in the given contextHolger Hans Peter Freyther2012-11-261-14/+14
| | | | Log message that are either too big or have the C/R bit set as error.
* misc: Use static const struct for LAPD and AbisHolger Hans Peter Freyther2012-11-222-2/+2
|
* sms: Mark the state dispatch table as static constHolger Hans Peter Freyther2012-11-222-4/+4
| | | | | | GCC 4.7.2 was already smart enough to see that the table is const so there is no change in the generated assembly code. For some reason the dispatch is still going through one relocation.
* sms: Fix typos in the comments and log messages.Holger Hans Peter Freyther2012-11-222-5/+5
|
* smr: Introduce an id and prefix all log messages with SMR(ID)Holger Hans Peter Freyther2012-11-221-31/+68
| | | | | | | | | | When OpenBSC is handling more than one message at a time it is difficult to see which log message belongs to which SMR instance. Introduce a uint64_t id that can be set to the row_id/message_id and prefix all log messages with SMR(ID). This change is ABI and API incompatible with previous versions of libosmogsm.
* smc: Introduce an id and prefix all log messages with SMC(ID)Holger Hans Peter Freyther2012-11-221-30/+60
| | | | | | | | | | | | | | When OpenBSC is handling more than one message at a time it is difficult to see which log message belongs to which SMC. Introduce a uint64_t id that can be set to the row_id/message_id and prefix all log messages with SMC(ID). This change is ABI and API incompatible with previous versions of libosmogsm. Example: SMC(100) instance created SMC(100) message MNSMS-EST-REQ received in state IDLE
* smc: Fix a typo in the smc codeHolger Hans Peter Freyther2012-11-141-1/+1
|