aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-04-28add missing .c files for ares integrationlaforge/c-aresHarald Welte2-0/+112
2014-10-01Integrate asynchronous DNS resolver (c-ares) with libosmocoreHarald Welte9-9/+61
As osmocom-style applications are centered around a single select loop, DNS queries need to be handled asynchronously to prevent blocking the entire program. The c-ares library is a popular option for async DNS resolving. However, it requires integration with the select loop of the application, which in our case lives inside libosmocore select.c. This patch adds the required integration. The backside is that it adds a mandatory dependency to c-ares (libcares), as well as 2-3 additional branches to every call to osmo_select_main().
2014-10-01Add APN utility function to libosmogsmHarald Welte5-1/+56
The current functions are used to 'qualify' an APN from the user-supplied APN name (name identifier) towards the fully-qualified APN name which is used in the .grps DNS zone.
2014-09-25misc: Look into the build directory for generated filesHolger Hans Peter Freyther4-4/+4
the bits/crc files are not inside the sourcedirectory but will end in the build directory. Go and look there as well. This somehow doesn't fail with make distcheck but when building for Yocto Dizzy.
2014-09-23gprs: Set bssgph field in bssgp_msgb_alloc()Jacob Erlbeck1-1/+3
Currently the bssgph field is not set when using the bssgp_tx_* functions. This hinders unit testing of generated messages. This patch initializes the bssgph field directly after allocation a new bssgp msgb in bssgp_msgb_alloc() so that it is set by default. Sponsored-by: On-Waves ehf
2014-09-23gprs: Fix bssgp_rcvmsg to handle signalling msgs with BVCI IEJacob Erlbeck1-3/+7
Currently BSSGP messages with an NS BVCI of 0 (signalling) are discarded if they aren't RESET messages. Thus valid signalling messages (e.g. BLOCK) are not handled properly, because the BVCI IE is ignored if it present. Instead a STATUS message referring to BVCI 0 (instead of the BVCI used in the BLOCK message) is returned. This patch changes the implementation to use the BVCI contained in the BVCI IE if that is present in a signalling message. It fixes BSSGP BLOCK/UNBLOCK for the osmo-sgsn. Note that signalling messages without an BVCI IE (e.g. SUSPEND/RESUME) are still rejected. Ticket: OW#1205 Sponsored-by: On-Waves ehf
2014-09-23gprs: Fix and check BVCI in BSSGP STATUS messagesJacob Erlbeck2-1/+15
Currently the BVCI is not set in all invocations to bssgp_tx_status() when the cause is UNKNOWN_BVCI. This patch adds the argument where it is missing. It also adds a check for compliance (GSM 08.18, 10.4.14.1) to bssgp_tx_status() to emit errors when the following requirement is not fulfilled: The BVCI must be included if (and only if) the cause is either "BVCI blocked" or "BVCI unknown". Sponsored-by: On-Waves ehf
2014-09-11Fix copyright header in gan.cHarald Welte1-4/+4
When I wrote the gan.c, I used the wrong copyright/license header (AGPLv3+ intead of GPLv2+). This was a mistake and is fixed hereby.
2014-09-11add missing copyright statements to source code filesHarald Welte5-0/+106
Some source code files didn't have the usual copyright and licence statement at their top. I'm adding them baesed on information in the commitlog.
2014-09-08debian: Depend on the right version of libosmogsm as wellHolger Hans Peter Freyther1-1/+1
2014-09-08debian: Depend on libosmocore5 for the legacy packageHolger Hans Peter Freyther1-1/+1
2014-09-08debian: fix build errors with libosmogsm and libosmoctrlCiaby3-2/+9
libosmogsm: the transition from 5 to 6 wasn't done properly. Fixed version number. libosmoctrl: missing definition in debian/control and also missing libosmoctrl0.install.
2014-09-02logging: Document the ABI breakage in the release todoHolger Hans Peter Freyther1-0/+1
In commit fb84f325b8e672ba7ca1a961f4ef01f4d011e33d the ABI was broken, let's add the required entry.
2014-08-29msgfile: Fix memleak in the test and release the listHolger Hans Peter Freyther1-0/+1
2014-08-25logging: Add ability to save/print current log filtersHarald Welte3-3/+23
This enables the persistent configuration of let's say 'log filter imsi 012345678' for a given log file in the config file.
2014-08-24gsm48.h: define the reserved TMSI in libosmocore, not openbscHarald Welte1-0/+3
2014-08-24add port number 4238 for BTS control interfaceHarald Welte2-0/+2
2014-08-24libctrl: Add support for 'deferred control commands'Harald Welte3-0/+92
Sometimes a control interface command cannot be processed and responded immediately, but we need to process it asynchronously. In order to support this, we introduce the 'ctrl_cmd_def', which represents such a deferred command. It is created by the service implementing the command using ctrl_cmd_def_make(), and a response is later sent using ctrl_cmd_def_send(). ctrl_cmd_def_is_zombie() must be called to handle the case where the control connection has disconnected/died between receiving the command and sending the response.
2014-08-21ctrl: Attempt fix the build on FreeBSD and add include fileHolger Hans Peter Freyther1-0/+1
IPPROTO_TCP is defined in netinet/in.h. Include it and hope the build is fixed for FreeBSD.
2014-08-21prepare for 0.7.0 release0.7.0Harald Welte5-5/+11
2014-08-21Convert recently-introduced header files to #pragma onceHarald Welte3-13/+3
2014-08-21New <osmocom/ctrl/ports.h> file listing tcp ports for CTRL interfaceHarald Welte2-0/+8
2014-08-21rename controlif_setup() to ctrl_interface_setup()Harald Welte2-4/+4
which means that all control interface related functions now have the common ctrl_ prefix.
2014-08-21libctrl: Make two internal helper functions staticHarald Welte1-2/+2
2014-08-21libctrl: Move bulk of control node lookup inti libosmoctrlHarald Welte2-7/+134
The control interface user now only has to register a very short node lookup function callback. This function is optional, and only required if hierarchical command lookup should be supported.
2014-08-21libctrl: remove 'struct gsm_network' referencesHarald Welte2-9/+6
libctrl doesn't need any knowledge about the type of the user-private data that it gets passed upon setup time and includes on callbacks.
2014-08-21libctrl: remove bsc-specific declarationHarald Welte1-1/+0
this was moved by accident when importing the code from openbsc.
2014-08-21libctrl: adopt to recent ipaccess/ipa naming changeHarald Welte1-2/+3
2014-08-21libctrl: autotools build system integrationHarald Welte5-7/+27
Now we actually build the recently-imported libctrl
2014-08-21libctrl: Add DLCTRL as logging context for the control interfaceHarald Welte4-29/+35
... and make libctrl code use it
2014-08-21libctrl: remove reference to bsc_replace_string()Harald Welte2-1/+8
... and rather introduce a general osmo_talloc_replace_string() to libosmocore.
2014-08-21libctrl: Avoid using external tall_bsc_ctxHarald Welte1-6/+6
Instead of using one flat talloc context (and one that is specific to openbsc), we should attach the objects to whatever parent context they are being used in.
2014-08-21libctrl: remove openbsc headers, convert from make_sock to libosmocoreHarald Welte4-23/+14
2014-08-21libctrl: Remove reference to 'DNAT' in favor of 'DCTRL'Harald Welte1-1/+1
2014-08-21libctr: rename/move control interface to libosmocore naming schemeHarald Welte5-0/+0
2014-08-21ctrl: Allow the value to contain spaces. No need to split the stringHolger Hans Peter Freyther1-1/+1
2014-08-21ctrl: Use CTRL_CMD_DEFINE_STRUCT in CTRL_CMD_DEFINE_RANGEHolger Hans Peter Freyther1-6/+1
Jacob pointed out that I didn't convert CTRL_CMD_DEFINE_RANGE. This patch is doing it now.
2014-08-21ctrl: Reduce code duplication and add a define to create the structHolger Hans Peter Freyther1-13/+10
This has been pointed out by Jacob and removes two more duplicates of the struct. For the unused CTRL_CMD_DEFINE_STRING macro there will be no verify command.
2014-08-21ctrl: Remove the param parameter as it was never used/implementedHolger Hans Peter Freyther2-6/+0
2014-08-21ctrl: Introduce a macro for read-only attributes and use itHolger Hans Peter Freyther1-0/+14
Certain attributes are read-only. Add a macro to make it more easy to define those.
2014-08-21ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messagesJacob Erlbeck2-1/+7
The old ipa_msg_recv() implementation didn't support partial receive, so IPA connections got disconnected when this happened. This patch adds the handling of the temporary message buffers and uses ipa_msg_recv_buffered(). It has been successfully tested by jerlbeck with osmo-nitb and osmo-bsc. Ticket: OW#768 Sponsored-by: On-Waves ehf
2014-08-21ctrl: Move the lookup into a separate file in preparation for GPRSHolger Hans Peter Freyther3-152/+14
For GPRS the look-up via bts/trx does not make any sense and would introduce bad depdencies for the SGSN. Move the look-up code to a new file and introduce new setup methods.
2014-08-21ctrl: Make it possible to re-use the string get and set routineHolger Hans Peter Freyther1-3/+7
This can be used for the description field that requires some special handling for newlines.
2014-08-21ctrl: Make the int range set, get and verify methods availableHolger Hans Peter Freyther1-4/+12
For the max power reduction we will need to have a different range method. It will need to check if the value is even. Make the set, get and verify methods available through a macro.
2014-08-21ctrl: Set a generic reply when it hasn'n been setJacob Erlbeck1-1/+9
When verification failed and the reply string was not updated, the message "Someone forgot to fill in the reply." was shown instead of the default "Value failed verification." message. This patch changes the default reply handling in ctrl_cmd_handle() by setting the reply to NULL initially and then checking it at the end. If it hasn't been set, a generic message is assigned and an error is logged.
2014-08-21ctrlif: Flush/Clear write_queue when closing the control socketHarald Welte1-0/+1
2014-08-21Makefile.am: Use AM_CPPFLAGSAlexander Huemer1-1/+1
Since automake 1.13 INCLUDES is depricates and causes a warning
2014-08-21ctrl: Provide a reply in case the range check failedHolger Hans Peter Freyther1-0/+1
2014-08-21ctrl: Make the commands static to not pollute the namespaceHolger Hans Peter Freyther1-3/+3
We do not need to access these commands from another compilation unit and can just make it static.
2014-08-21ctrl: Work on the cmd->node instead of the data pointer passedHolger Hans Peter Freyther1-9/+9
Make the macros use the cmd->node instead of the data pointer. The naming of the variable inside the macro already indicates that it should use the nodes data structure.