Commit Graph

1250 Commits

Author SHA1 Message Date
Jan Engelhardt 9ffeb9756a build: remove unused all_includes and use AM_CPPFLAGS
Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the
unused all_includes variable, which is never set.
2014-10-03 08:48:31 +02:00
Jan Engelhardt a6d83932ba utils: resolve compiler warnings on implicit declarations
CC       osmo-auc-gen.o
	osmo-auc-gen.c: In function 'main':
	osmo-auc-gen.c:216:3: warning: implicit declaration of function
	'time' [-Wimplicit-function-declaration]
2014-10-03 08:46:47 +02:00
Holger Hans Peter Freyther 96af78650d misc: Look into the build directory for generated files
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-25 18:18:49 +02:00
Jacob Erlbeck a39e2deff8 gprs: Set bssgph field in bssgp_msgb_alloc()
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-23 16:30:49 +02:00
Jacob Erlbeck b83b838bd1 gprs: Fix bssgp_rcvmsg to handle signalling msgs with BVCI IE
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-23 16:29:34 +02:00
Jacob Erlbeck a7165778c6 gprs: Fix and check BVCI in BSSGP STATUS messages
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-23 16:27:44 +02:00
Harald Welte de883e7f6c Fix copyright header in gan.c
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-11 13:20:33 +08:00
Harald Welte 468b64331a add missing copyright statements to source code files
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-11 13:18:08 +08:00
Holger Hans Peter Freyther 804590e6d2 debian: Depend on the right version of libosmogsm as well 2014-09-08 07:44:20 +02:00
Holger Hans Peter Freyther 575a5395a6 debian: Depend on libosmocore5 for the legacy package 2014-09-08 07:27:52 +02:00
Ciaby 2cbfb5967c debian: fix build errors with libosmogsm and libosmoctrl
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-08 07:18:12 +02:00
Holger Hans Peter Freyther 3ec8de0072 logging: Document the ABI breakage in the release todo
In commit fb84f325b8 the ABI
was broken, let's add the required entry.
2014-09-02 18:19:03 +02:00
Holger Hans Peter Freyther 8d950eac9e msgfile: Fix memleak in the test and release the list 2014-08-29 14:21:14 +02:00
Harald Welte fb84f325b8 logging: Add ability to save/print current log filters
This enables the persistent configuration of let's say
'log filter imsi 012345678' for a given log file in the config
file.
2014-08-25 10:09:42 +02:00
Harald Welte 276ca4b172 gsm48.h: define the reserved TMSI in libosmocore, not openbsc 2014-08-24 17:35:19 +02:00
Harald Welte f39aed6942 add port number 4238 for BTS control interface 2014-08-24 16:52:54 +02:00
Harald Welte 39c9e7b471 libctrl: Add support for 'deferred control commands'
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-24 16:52:54 +02:00
Holger Hans Peter Freyther 5e21131c8d ctrl: Attempt fix the build on FreeBSD and add include file
IPPROTO_TCP is defined in netinet/in.h. Include it and hope the
build is fixed for FreeBSD.
2014-08-21 16:33:32 +02:00
Harald Welte 336915aa0a prepare for 0.7.0 release 2014-08-21 15:53:20 +02:00
Harald Welte 5ddd435919 Convert recently-introduced header files to #pragma once 2014-08-21 15:42:44 +02:00
Harald Welte c7947ed1f6 New <osmocom/ctrl/ports.h> file listing tcp ports for CTRL interface 2014-08-21 15:34:19 +02:00
Harald Welte ae2fcb22cf rename controlif_setup() to ctrl_interface_setup()
which means that all control interface related functions now have
the common ctrl_ prefix.
2014-08-21 15:34:19 +02:00
Harald Welte bfdc259824 libctrl: Make two internal helper functions static 2014-08-21 15:34:18 +02:00
Harald Welte 528134b01c libctrl: Move bulk of control node lookup inti libosmoctrl
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-21 15:34:18 +02:00
Harald Welte c78e74e3d0 libctrl: remove 'struct gsm_network' references
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-21 15:34:18 +02:00
Harald Welte d8db92c578 libctrl: remove bsc-specific declaration
this was moved by accident when importing the code from openbsc.
2014-08-21 15:34:18 +02:00
Harald Welte acbb4c91b6 libctrl: adopt to recent ipaccess/ipa naming change 2014-08-21 15:34:18 +02:00
Harald Welte 3ff81b1a6b libctrl: autotools build system integration
Now we actually build the recently-imported libctrl
2014-08-21 15:34:18 +02:00
Harald Welte 7fd0c830d9 libctrl: Add DLCTRL as logging context for the control interface
... and make libctrl code use it
2014-08-21 15:34:18 +02:00
Harald Welte f3c7e85d05 libctrl: remove reference to bsc_replace_string()
... and rather introduce a general osmo_talloc_replace_string() to
libosmocore.
2014-08-21 15:34:17 +02:00
Harald Welte c9df37d84a libctrl: Avoid using external tall_bsc_ctx
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-21 15:34:17 +02:00
Harald Welte 1238cc64d7 libctrl: remove openbsc headers, convert from make_sock to libosmocore 2014-08-21 15:34:17 +02:00
Harald Welte e1a502b0df libctrl: Remove reference to 'DNAT' in favor of 'DCTRL' 2014-08-21 15:34:17 +02:00
Harald Welte dda4225153 libctr: rename/move control interface to libosmocore naming scheme 2014-08-21 15:34:17 +02:00
Holger Hans Peter Freyther 5ad742d56e ctrl: Allow the value to contain spaces. No need to split the string 2014-08-21 15:34:17 +02:00
Holger Hans Peter Freyther 0e7b67c3d9 ctrl: Use CTRL_CMD_DEFINE_STRUCT in CTRL_CMD_DEFINE_RANGE
Jacob pointed out that I didn't convert CTRL_CMD_DEFINE_RANGE.
This patch is doing it now.
2014-08-21 15:34:16 +02:00
Holger Hans Peter Freyther 6217930688 ctrl: Reduce code duplication and add a define to create the struct
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-21 15:34:16 +02:00
Holger Hans Peter Freyther 50059bb64f ctrl: Remove the param parameter as it was never used/implemented 2014-08-21 15:34:16 +02:00
Holger Hans Peter Freyther c08c55186f ctrl: Introduce a macro for read-only attributes and use it
Certain attributes are read-only. Add a macro to make it more
easy to define those.
2014-08-21 15:34:16 +02:00
Jacob Erlbeck 141de62b06 ipa: Use enhanced ipa_msg_recv_buffered() to cope with partioned IPA messages
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-21 15:34:16 +02:00
Holger Hans Peter Freyther ea62a38b5d ctrl: Move the lookup into a separate file in preparation for GPRS
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-21 15:34:16 +02:00
Holger Hans Peter Freyther 416e316564 ctrl: Make it possible to re-use the string get and set routine
This can be used for the description field that requires some
special handling for newlines.
2014-08-21 15:34:16 +02:00
Holger Hans Peter Freyther 05f655e2b0 ctrl: Make the int range set, get and verify methods available
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-21 15:34:16 +02:00
Jacob Erlbeck e6d56159a6 ctrl: Set a generic reply when it hasn'n been set
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-21 15:34:15 +02:00
Harald Welte 6d96dd7477 ctrlif: Flush/Clear write_queue when closing the control socket 2014-08-21 15:34:15 +02:00
Alexander Huemer 35f5653a18 Makefile.am: Use AM_CPPFLAGS
Since automake 1.13 INCLUDES is depricates and causes a warning
2014-08-21 15:34:15 +02:00
Holger Hans Peter Freyther e9f7be16ac ctrl: Provide a reply in case the range check failed 2014-08-21 15:34:15 +02:00
Holger Hans Peter Freyther da5eded5ad ctrl: Make the commands static to not pollute the namespace
We do not need to access these commands from another compilation
unit and can just make it static.
2014-08-21 15:34:15 +02:00
Holger Hans Peter Freyther 17e7e5a869 ctrl: Work on the cmd->node instead of the data pointer passed
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.
2014-08-21 15:34:15 +02:00
Holger Hans Peter Freyther 43a11db879 ctrl: Fix the signature of the string control commands
Like with all type unsafe callbacks we will need to cast from
void to the dtype. This addresses some compiler warnings.

Make it possible to only include the control_cmd.h to use the
macros defined in this file.
2014-08-21 15:34:15 +02:00