summaryrefslogtreecommitdiffstats
path: root/src/gsmtap_util.c
Commit message (Collapse)AuthorAgeFilesLines
* src/gsmtap_util.c: fix possible memleak in gsmtap_source_init()Vadim Yanitskiy2019-03-281-0/+1
| | | | | | | In gsmtap_source_init() we dynamically allocate a gsmtap_inst struct, but don't free it if the subsequent call to osmo_fd_register() fails. Change-Id: I970b493f3a64fbe9c3f68fcfba5097ee3ff72960
* Doxygen: fix incorrect / missing parameter descriptionVadim Yanitskiy2019-03-251-3/+3
| | | | Change-Id: Ibc63a5d4442a192efab8b5b30e0beb3545642ecc
* select: Rename BSC_FD_* constants to OSMO_FD_*Harald Welte2019-03-211-2/+2
| | | | | | | | | | | | The naming of these constants dates back to when the code was private within OpenBSC. Everything else was renamed (bsc_fd -> osmo_fd) at the time, but somehow the BSC_FD_* defines have been missed at the time. Keep compatibility #defines around, but allow us to migrate the applications to a less confusing naming meanwhile. Change-Id: Ifae33ed61a7cf0ae54ad487399e7dd2489986436
* gsmtap_util: make sure SO_REUSEADDR is applied for GSMTAPPhilipp Maier2018-08-241-1/+3
| | | | | | | | | | | | | | When gsmtap adding a new sink it does not supply OSMO_SOCK_F_UDP_REUSEADDR in order to have SO_REUSEADDR applied. In most cases, the gsmtap sink is just receiving packets to toss them immediately, so having one of them is sufficient. However, in other use cases - particularly virt_phy - we actually want to receve and process GSMTAP messages via multicast Applying SO_REUSEADDR (like we did before disabling it globally for UDP in I4a8ffb8d598aca88801a4a0322944d7cdd8d4047 on August 1st) resolves the issue. Change-Id: I1399a428467ca12f1564a14eb8ffb294d4f59874 Related: OS#3497
* memleak: fix all libosmocore callers of gsmtap_sendmsg() to free on failureNeels Hofmeyr2018-02-161-1/+5
| | | | | | | gsmtap_sendmsg() does not free the msgb if it returns a failure rc, so the callers must check the rc and free the msg. Change-Id: I7cf64ed9b14247298ed8b4ab8735627f8235a499
* memleak: gsmtap_sendmsg(): don't return 0 when no data was writtenNeels Hofmeyr2018-02-161-1/+1
| | | | | | | | | | | | If less than the msgb size was written by write(), we want to return -EIO. Hence do not return zero when write() wrote zero bytes, return -EIO in that case as well. Previously, if write() returned zero, gsmtap_sendmsg() would return zero *without* freeing the msg, hence neither would the (ideal) caller. So this fixes a corner-case memleak. Change-Id: I099ae1c663c018da5db884f7e9d52c45af3ed817
* gsmtap_sendmsg(): clarify API doc concerning msgb ownershipNeels Hofmeyr2018-02-161-0/+3
| | | | | | | | | | | | Not freeing on error does enable callers to try to re-send as well, so it is a kind of useful feature, even though I find it likely for callers to either forget about freeing the msg on error or double-free by accident... I considered changing gsmtap_sendmsg() to always free, but since it is public API, I chose to keep and document its current behavior properly instead. We don't know what callers may exist out there. Change-Id: Id3266ce36442024f16eaf6afa3f516d201930c41
* Fix/Update copyright notices; Add SPDX annotationHarald Welte2017-11-131-0/+2
| | | | | | | | Let's fix some erroneous/accidential references to wrong license, update copyright information where applicable and introduce a SPDX-License-Identifier to all files. Change-Id: I39af26c6aaaf5c926966391f6565fc5936be21af
* chantype_rsl2gsmtap/gsmtap2rsl: Fix PDCH channel type conversionHarald Welte2017-07-281-1/+4
| | | | Change-Id: I88a06e8ba894f16006a8efa259fc536cf300de32
* gsmtap: Add value_strings for GSMTAP_TYPE and GSMTAP_CHANNELHarald Welte2017-07-131-0/+45
| | | | Change-Id: Iaf8a99912f42a56ef785a1642e18238c0b67cf68
* gsmtap_util: Add chantype_gsmtap2rsl() as inverse of chantype_rsl2gsmtap()Harald Welte2017-07-131-1/+40
| | | | Change-Id: Ie1bc00670887064da0fea61c3dab036c23ceea25
* doxygen: unify use of \file across the boardNeels Hofmeyr2017-06-231-4/+5
| | | | | | | | | | | | | | | | | 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
* doxygen: enable AUTOBRIEF, drop \briefNeels Hofmeyr2017-06-231-11/+11
| | | | | | | | | | 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
* update/extend doxygen documentationHarald Welte2017-06-121-0/+1
| | | | | | | | | It's a pity that even with this patch we still are fare away from having the whole API documented. However, at least we have a more solid foundation. Updates not only extend the documentation, but also make sure it is rendered properly in the doxygen HTML. Change-Id: I1344bd1a6869fb00de7c1899a8db93bba9bafce3
* use osmo_{htonl,htons,ntohl,ntohs}() functions all over libosmocoreHarald Welte2017-05-151-4/+3
| | | | | | This gets us one step closer to fixing the embedded build Change-Id: I3fc2639b6ade9ab138766987eceab7ec9498fdc7
* Remove direct loggingMax2017-01-061-3/+0
| | | | | | | | Drop perror() calls from GSMTAP code: it's application job to do the proper logging - library code should not write to stdout/stderr directly. Change-Id: Ifa149e65d76c6e64fda2946725c16672233aff2e
* Fix unchecked return valueof osmo_fd_register()Harald Welte2016-11-261-4/+12
| | | | | Change-Id: Ib040a7f94eb1bbec8270b66fd4c2aedef9d5346a Fixes: Coverity CID 57636
* Update doxygen annotations in libosmocoreHarald Welte2016-05-051-1/+20
| | | | | This adds and improves doxygen API descriptions all over libosmocore, reducing the 'white spots' that don't have any documentation.
* misc: Doxygen tweaks: fixed some typos and minor errorsKaterina Barone-Adesi2013-02-151-3/+3
| | | | | Doxygen generates quite a lot of warnings on libosmocore. Some of them are obvious typos - this patch aims to fix such low-hanging fruit.
* add some missing doxygen annotation for libosmocore functionsHarald Welte2013-01-111-1/+14
|
* gsmtap: Fix doxygen doc for the recent additionsSylvain Munaut2011-09-261-2/+22
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsmtap: Add a _ex version of gsmtap_{makemsg,send} to specify content typeSylvain Munaut2011-09-261-4/+21
| | | | | From: iZsh <izsh@fail0verflow.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* doxygen: Add documentation for gsmtap_util.[ch]Harald Welte2011-08-171-6/+51
|
* socket: add OSMO_SOCK_F_[CONNECT|BIND|NON_BLOCK] flagsPablo Neira Ayuso2011-06-131-2/+4
| | | | | | | | This extends the socket infrastructure in libosmocore to allow to create non-blocking sockets. Basically, it replaces the connect0_bind1 parameter by one flags parameter.
* gsmtap_util: Remove msg_free from the wq call backSylvain Munaut2011-05-291-3/+0
| | | | | | write_queue already frees the message after the callback is called. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* gsmtap: deal with apps that call gsmtap_send*() with NULL gsmtap_instHarald Welte2011-05-221-0/+6
|
* GSMTAP/socket code: Check for sys/socket.h and conditionally compileHarald Welte2011-05-221-6/+8
|
* gsmtap: rework GSMTAP API to be more future-proofHarald Welte2011-05-221-86/+106
| | | | | | * use write_queue where applicable * provide functions that work on raw FD and those with osmo_fd * add support for multiple gsmtap instances (no global variables)
* select: use namespace prefix osmo_fd* and osmo_select*Pablo Neira Ayuso2011-05-071-6/+6
| | | | | | | | | Summary of changes: s/struct bsc_fd/struct osmo_fd/g s/bsc_register_fd/osmo_fd_register/g s/bsc_unregister_fd/osmo_fd_unregister/g s/bsc_select_main/osmo_select_main/g
* GSMTAP: add function to create a 'sink' for gsmtap packetsHarald Welte2011-05-041-2/+55
| | | | | | This can be helpful where we send GSMTAP messages to the loopback device (localhost, 127.0.0.1) from where the kernel would then send ICMP reject packets as nobody is listening on that port.
* include: reorganize headers file to include/osmocom/[gsm|core]Pablo Neira Ayuso2011-03-231-7/+7
| | | | | | | | | | | | This patch moves all GSM-specific definitions to include/osmocom/gsm. Moreover, the headers in include/osmocore/ have been moved to include/osmocom/core. This has been proposed by Harald Welte and Sylvain Munaunt. Tested with `make distcheck'. Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
* [gsmtap] add new gsmtap_makemsg() functionHarald Welte2010-06-291-8/+23
| | | | | This generates a gsmtap message without actually enqueueing to a bsc_select style queue.
* Add gsmtap utility functions to libosmocoreHarald Welte2010-06-291-0/+185
This is imported from OsmocomBB/Layer23