osmocom-bb.git
13 years agostatistics: use namespace prefix osmo_counter*
Pablo Neira Ayuso [Sat, 7 May 2011 10:43:04 +0000 (12:43 +0200)]
statistics: use namespace prefix osmo_counter*

Summary of changes:

s/struct counter/struct osmo_counter/g
s/counter_inc/osmo_counter_inc/g
s/counter_get/osmo_counter_get/g
s/counter_reset/osmo_counter_reset/g
s/counter_alloc/osmo_counter_alloc/g
s/counter_free/osmo_counter_free/g
s/counters_for_each/osmo_counters_for_each/g

13 years agowrite-queue: use namespace prefix osmo_wqueue*
Pablo Neira Ayuso [Sat, 7 May 2011 10:42:51 +0000 (12:42 +0200)]
write-queue: use namespace prefix osmo_wqueue*

Summary of changes:

s/struct write_queue/struct osmo_wqueue/g
s/write_queue_init/osmo_wqueue_init/g
s/void write_queue_clear/osmo_wqueue_clear/g
s/write_queue_enqueue/osmo_wqueue_enqueue/g
s/write_queue_bfd_cb/osmo_wqueue_bfd_cb/g

13 years agosignal: use namespace prefix osmo_signal*
Pablo Neira Ayuso [Sat, 7 May 2011 10:42:45 +0000 (12:42 +0200)]
signal: use namespace prefix osmo_signal*

Summary of changes:

s/signal_cbfn/osmo_signal_cbfn/g
s/register_signal_handler/osmo_signal_register_handler/g
s/unregister_signal_handler/osmo_signal_unregister_handler/g
s/dispatch_signal/osmo_signal_dispatch/g

13 years agoselect: use namespace prefix osmo_fd* and osmo_select*
Pablo Neira Ayuso [Sat, 7 May 2011 10:42:40 +0000 (12:42 +0200)]
select: use namespace prefix osmo_fd* and osmo_select*

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

13 years agotimer: use namespace prefix osmo_timer*
Pablo Neira Ayuso [Sat, 7 May 2011 10:42:28 +0000 (12:42 +0200)]
timer: use namespace prefix osmo_timer*

Summary of changes:

s/struct timer_list/struct osmo_timer_list/g
s/bsc_add_timer/osmo_timer_add/g
s/bsc_schedule_timer/osmo_timer_schedule/g
s/bsc_del_timer/osmo_timer_del/g
s/bsc_timer_pending/osmo_timer_pending/g
s/bsc_nearest_timer/osmo_timers_nearest/g
s/bsc_prepare_timers/osmo_timers_prepare/g
s/bsc_update_timers/osmo_timers_update/g
s/bsc_timer_check/osmo_timers_check/g

13 years agoGSMTAP: add function to create a 'sink' for gsmtap packets
Harald Welte [Wed, 27 Apr 2011 08:57:49 +0000 (10:57 +0200)]
GSMTAP: add function to create a 'sink' for gsmtap packets

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.

13 years agologging: make sure the output is null-terminated
Pablo Neira Ayuso [Tue, 3 May 2011 20:32:48 +0000 (22:32 +0200)]
logging: make sure the output is null-terminated

If we reach the buffer size or snprintf fails, we want to make sure
that the output is null-terminated.

13 years agologging: remove workaround now that _output() has been reworked
Pablo Neira Ayuso [Tue, 3 May 2011 20:32:48 +0000 (22:32 +0200)]
logging: remove workaround now that _output() has been reworked

This patch removes a workaround to fix some strange memory corruption
now that _output() has been completely reworked and we make use of
snprintf appropriately.

13 years agologging: rework _output() function
Pablo Neira Ayuso [Tue, 3 May 2011 20:32:43 +0000 (22:32 +0200)]
logging: rework _output() function

This patch reworks _output() to handle snprintf() return value
appropriately and to use one single buffer to build the logging
string, instead of four.

13 years agologging: several memory allocation belong to tall_log_ctx context
Pablo Neira Ayuso [Tue, 3 May 2011 20:32:42 +0000 (22:32 +0200)]
logging: several memory allocation belong to tall_log_ctx context

Several talloc_zero in logging use NULL context, use tall_log_ctx
instead.

13 years agologging: fix missing description of global loglevel
Pablo Neira Ayuso [Tue, 3 May 2011 20:32:32 +0000 (22:32 +0200)]
logging: fix missing description of global loglevel

OpenBSC> logging level
  all    Global setting for all subsystems <----- this description was missing
  rll    A-bis Radio Link Layer (RLL)
[...]

This problem was introduced by myself in:
"vty: integration with logging framework"
04139f14b6197e3ec996133a945af3fa8a68fb7a

13 years agocore/conv: Only consider error for non-zero soft values
Sylvain Munaut [Thu, 28 Apr 2011 20:30:30 +0000 (22:30 +0200)]
core/conv: Only consider error for non-zero soft values

If the input value is '0' it should not really affect the error
since it's just an indecisive bit. We accept this either an internal
'0' (generated via puncture) or as an external '0' (generated via an
external puncturing scheme). A real received bit should never be '0',
it's always gonna be closer to 1 or the other value ...

(thanks to mad@auth.se on the ML for the idea)

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agocore/conv: Add some generic code for convolutional coding/decoding
Sylvain Munaut [Sat, 23 Apr 2011 14:09:19 +0000 (16:09 +0200)]
core/conv: Add some generic code for convolutional coding/decoding

Far from perfect but suits our need thus far.

The viterbi with softbit input is quite cpu-intensive. Since
most received bursts are often mostly error free, you could
use a less cpu intensive algorithm (Fano ?) and with hard bit
input. Then only switch to viterbi soft bit input if the channel
is bad enough to justify it.

Soft output is not implemented as its usefulness for the block
coding is limited.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agogsm/a5: Add a A5 1&2 implementation
Sylvain Munaut [Sat, 23 Apr 2011 13:34:11 +0000 (15:34 +0200)]
gsm/a5: Add a A5 1&2 implementation

It's always useful to have around

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agoinclude: fix missing extern in osmo_panic* declarations
Pablo Neira Ayuso [Tue, 26 Apr 2011 01:07:46 +0000 (03:07 +0200)]
include: fix missing extern in osmo_panic* declarations

This patch adds the missing extern to osmo_panic* declarations.

13 years agomisc: Remove the sys/types.h include from various files
Holger Hans Peter Freyther [Mon, 18 Apr 2011 14:52:55 +0000 (16:52 +0200)]
misc: Remove the sys/types.h include from various files

We used this include for the u_int{8,16,32}_t types but we do
not need this anymore.

13 years agostats: Fix the compiler warnings
Holger Hans Peter Freyther [Mon, 18 Apr 2011 14:45:45 +0000 (16:45 +0200)]
stats: Fix the compiler warnings

Do not remove the const, include strings.h for strcmp

13 years agoAdd a function to search for a counter by name
Daniel Willmann [Fri, 8 Apr 2011 08:46:19 +0000 (10:46 +0200)]
Add a function to search for a counter by name

13 years agoAdd functions to search for rate counters by name
Daniel Willmann [Fri, 8 Apr 2011 08:46:18 +0000 (10:46 +0200)]
Add functions to search for rate counters by name

* rate_ctr_get_group_by_name_idx, rate_ctr_get_by_name

13 years agologging: Add the 'all' category back to the log level command
Holger Hans Peter Freyther [Tue, 29 Mar 2011 15:03:56 +0000 (17:03 +0200)]
logging: Add the 'all' category back to the log level command

This is required to be able to set a global log level. The all
command is emitted by the VTY logging code.

13 years agovty: Fix a memory leak in the vty description command
Holger Hans Peter Freyther [Thu, 24 Feb 2011 13:20:41 +0000 (14:20 +0100)]
vty: Fix a memory leak in the vty description command

Before assigning a new string, free the previous one. This
assume that it was allocated with talloc which should be true
for the osmocom users.

13 years agoutils: move OSMO_SNPRINT_RET() macro definition to osmocom/core/utils.h
Pablo Neira Ayuso [Mon, 28 Mar 2011 17:24:22 +0000 (19:24 +0200)]
utils: move OSMO_SNPRINT_RET() macro definition to osmocom/core/utils.h

This is used by the logging to vty conversion functions by now, but it
may be of help for other functions that plan to use snprintf().

13 years agovty: move vty_out_rate_ctr_group prototype to osmocom/vty/misc.h
Pablo Neira Ayuso [Mon, 28 Mar 2011 17:24:21 +0000 (19:24 +0200)]
vty: move vty_out_rate_ctr_group prototype to osmocom/vty/misc.h

Before this patch, it was in osmocom/core/rate_ctr.h

13 years agowrite_queue: use full path of includes in osmocom/core/write_queue.h
Pablo Neira Ayuso [Mon, 28 Mar 2011 17:24:20 +0000 (19:24 +0200)]
write_queue: use full path of includes in osmocom/core/write_queue.h

13 years agobitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.c
Pablo Neira Ayuso [Mon, 28 Mar 2011 17:24:19 +0000 (19:24 +0200)]
bitvec: add bitvec_find_first_bit_pos() from gsm/rxlev_stat.c

This patch adds bitvec_find_bit_pos() to bitvec.c where it really
belongs to. Before this patch used to be part of gsm/rxlev_stat.c

13 years agocore/bits: Make sbit_t a signed type (so that the math works)
Sylvain Munaut [Sun, 27 Mar 2011 09:35:40 +0000 (11:35 +0200)]
core/bits: Make sbit_t a signed type (so that the math works)

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agoinclude: reorganize headers file to include/osmocom/[gsm|core]
Pablo Neira Ayuso [Tue, 22 Mar 2011 15:36:13 +0000 (16:36 +0100)]
include: reorganize headers file to include/osmocom/[gsm|core]

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>
13 years agoThis patch moves the GSM-specific functions to the new library
Pablo Neira Ayuso [Wed, 23 Mar 2011 17:08:08 +0000 (18:08 +0100)]
This patch moves the GSM-specific functions to the new library
libosmogsm which is provided by libosmocore.

I have also moved generate_backtrace() to backtrace.c instead
of gsm_utils.c, otherwise the timer and msgfile tests depend on
libosmogsm.

Signed-off-by: Pablo Neira Ayuso <pablo@gnumonks.org>
13 years agovty: integration with logging framework
Pablo Neira Ayuso [Wed, 9 Mar 2011 12:05:08 +0000 (13:05 +0100)]
vty: integration with logging framework

The logging categories are registered by the applications, like
osmo-nitb, during startup. Thus, the VTY have to provide the logging
commands according to the logging categories that the application
has registered.

Before this patch, the VTY contained the logging categories
hardcoded. Thus, any change in the logging categories by the
application would not be shown by the VTY.

So far, this was not a problem because all applications used the
same logging categories. However, according to what Harald told
me, this may be a problem in the future.

This patch resolve the lack of integration between the logging
framework and the VTY by generating the VTY logging commands
from the logging categories registered.

Since this patch changes one function of the libosmocore API,
it follows another patch for the openbsc application to get in
sync with the new function layout.

I have reworked and renamed the functions:

 * log_vty_category_string()
 * log_vty_level_string()

to provide the new ones that generate the exact output that VTY
requires.

This patch does not release the memory allocated by
talloc_zero_size() to store the VTY strings for the commands
and the description. I found no exit function that can clean
up resources that were allocated.

13 years agoTLV: Add tv_fixed_put() and msgb_tv_fixed_put()
Harald Welte [Sat, 5 Mar 2011 13:32:50 +0000 (14:32 +0100)]
TLV: Add tv_fixed_put() and msgb_tv_fixed_put()

This is for a Tag-Value type with fixed-length value (len > 1)

13 years agoMerge branch 'master' of git.osmocom.org:libosmocore
Harald Welte [Wed, 2 Mar 2011 23:27:15 +0000 (00:27 +0100)]
Merge branch 'master' of git.osmocom.org:libosmocore

13 years agoLOGGING: Use host.app_info->name instead of FIXME
Harald Welte [Thu, 24 Feb 2011 22:47:57 +0000 (23:47 +0100)]
LOGGING: Use host.app_info->name instead of FIXME

This should put a useful syslog identity in place.

13 years agorxlev_stat: Fix compiler warning
Harald Welte [Sat, 19 Feb 2011 15:35:47 +0000 (16:35 +0100)]
rxlev_stat: Fix compiler warning

13 years agovty: Revert Makefile.am change for libosmocore dependency
Harald Welte [Sat, 19 Feb 2011 07:10:51 +0000 (16:10 +0900)]
vty: Revert Makefile.am change for libosmocore dependency

13 years agoLOGGING: remove duplicated code between vty-logging and cfg-logging
Harald Welte [Fri, 18 Feb 2011 20:03:27 +0000 (21:03 +0100)]
LOGGING: remove duplicated code between vty-logging and cfg-logging

13 years agoLOGGING: Add missing 'nat' subsystem
Harald Welte [Fri, 18 Feb 2011 19:39:36 +0000 (20:39 +0100)]
LOGGING: Add missing 'nat' subsystem

13 years agoLOGGING: configure logging from the vty
Harald Welte [Fri, 18 Feb 2011 19:37:04 +0000 (20:37 +0100)]
LOGGING: configure logging from the vty

We can now configure logging to (multiple) files, stderr and syslog
from the vty command line in a persistent way (config file)

13 years agoLOGGING: Add syslog log target
Harald Welte [Thu, 17 Feb 2011 14:56:56 +0000 (15:56 +0100)]
LOGGING: Add syslog log target

13 years agoLOGGING: Pass the log level down to the log target output function
Harald Welte [Thu, 17 Feb 2011 14:52:39 +0000 (15:52 +0100)]
LOGGING: Pass the log level down to the log target output function

This will be required for mapping osmocore log levels to syslog priorities.

13 years agowrite_queue: Only pop the queue if it is not empty
Holger Hans Peter Freyther [Mon, 14 Feb 2011 23:42:19 +0000 (00:42 +0100)]
write_queue: Only pop the queue if it is not empty

It is possible that the queue is cleared after the select
and before the callback for writable is called. Check if
the list is not empty brefore taking an item out of it.

13 years ago[utils] introduce ubit_dump to dump buffers of unpacked bits
Harald Welte [Tue, 8 Feb 2011 15:56:23 +0000 (16:56 +0100)]
[utils] introduce ubit_dump to dump buffers of unpacked bits

13 years ago[utils] add 'bitdump' function for bitfields
Harald Welte [Tue, 8 Feb 2011 15:55:03 +0000 (16:55 +0100)]
[utils] add 'bitdump' function for bitfields

13 years agogsmtap: The TETRA_AACH was defined twice, remove one, renumber
Holger Hans Peter Freyther [Fri, 28 Jan 2011 09:13:41 +0000 (10:13 +0100)]
gsmtap: The TETRA_AACH was defined twice, remove one, renumber

The GSMTAP_TETRA_AACH was defined twice. On the tetra list we
decided to remove the second entry and renumber the list as no
one is using this yet.

13 years agologging: Add isup,m2ua,pcap from the cellmgr.
Holger Hans Peter Freyther [Sat, 22 Jan 2011 22:17:21 +0000 (23:17 +0100)]
logging: Add isup,m2ua,pcap from the cellmgr.

This is something that we should generate dynamically from
the log_info as well. This is adding bits from the cellmgr_ng.

13 years agoubit2pbit flushes at the wrong moment, added one note to bits.h
Christian Vogel [Sat, 22 Jan 2011 21:48:37 +0000 (22:48 +0100)]
ubit2pbit flushes at the wrong moment, added one note to bits.h

(e.g. input2[] test sequence from testra/crc_test
 decodes incorrectly to packed bits: 90 b0 3e 80 03 87 53 bd 6f 08,
 this patch fixes it)

13 years agobits: Add extended options version of pbit2ubit and ubit2pbit
Sylvain Munaut [Fri, 21 Jan 2011 11:22:30 +0000 (12:22 +0100)]
bits: Add extended options version of pbit2ubit and ubit2pbit

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years ago[BITS] introduce new packed/unpacked bit conversion routines
Harald Welte [Wed, 19 Jan 2011 09:10:16 +0000 (10:10 +0100)]
[BITS] introduce new packed/unpacked bit conversion routines

13 years ago[gsmtap] extend GSMTAP for TETRA
Harald Welte [Wed, 19 Jan 2011 08:40:59 +0000 (09:40 +0100)]
[gsmtap] extend GSMTAP for TETRA

13 years agogsmtap.h: Add some more comments
Harald Welte [Tue, 18 Jan 2011 20:38:12 +0000 (21:38 +0100)]
gsmtap.h: Add some more comments

13 years agomsgb: Make sure at compile time that headroom is smaller than size
Holger Hans Peter Freyther [Sun, 16 Jan 2011 16:38:22 +0000 (17:38 +0100)]
msgb: Make sure at compile time that headroom is smaller than size

All current code is using constants to allocate the msgb with
headroom. Use a static_assert to make sure that the headroom
is smaller than the size. This makes API misusage unlikely to
happen.

13 years agomisc: Move the static_assert from logging to the utils
Holger Hans Peter Freyther [Sun, 16 Jan 2011 16:37:27 +0000 (17:37 +0100)]
misc: Move the static_assert from logging to the utils

This is just an ordinary macro, no specific reason to
have it in logging.h. This was compile tested with code
from our osmo family.

13 years agogsm 03.41: fix GSM341_MSG_CODE macro argument
Alex Badea [Sat, 15 Jan 2011 17:43:42 +0000 (19:43 +0200)]
gsm 03.41: fix GSM341_MSG_CODE macro argument

One usage of the "ms" argument is typoed as "msg".  Fix it to prevent
subtle future failures.  Also paranthesize the macro argument for good
measure.

Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
13 years agodebian: Make the -dev package depend on the normal one
Holger Hans Peter Freyther [Thu, 13 Jan 2011 11:31:25 +0000 (12:31 +0100)]
debian: Make the -dev package depend on the normal one

Make libosmocore-dev depend on libosmocore. Otherwise
we only end up with the libosmocore.a files installed
and then have various issues with the link order when
linking OpenBSC and such.

13 years agodebian: Switch to the 3.0 git format, update version, fix depends
Holger Hans Peter Freyther [Thu, 13 Jan 2011 10:09:44 +0000 (18:09 +0800)]
debian: Switch to the 3.0 git format, update version, fix depends

Switch to the git format as this can generate the source directly
from the git checkout. Increase the version number to 0.1.27 as this
is the latest tag, depend on autoconf, automake and libtool and use
autoreconf when building to be able to directly build from a git
clone.

13 years agovty: Fix typo testing return value of bind
Sylvain Munaut [Mon, 3 Jan 2011 21:19:40 +0000 (22:19 +0100)]
vty: Fix typo testing return value of bind

Thanks to playya__ (Dr. Fred) on IRC for pointing this out

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agosmscb: Add definition of a warning message
Holger Hans Peter Freyther [Wed, 29 Dec 2010 20:14:20 +0000 (21:14 +0100)]
smscb: Add definition of a warning message

13 years agosmscb: Ignore the very simple test application.
Holger Hans Peter Freyther [Wed, 29 Dec 2010 20:13:44 +0000 (21:13 +0100)]
smscb: Ignore the very simple test application.

13 years agosmscb: Mention 23.041 and fix the size of the update number
Holger Hans Peter Freyther [Wed, 29 Dec 2010 11:00:01 +0000 (12:00 +0100)]
smscb: Mention 23.041 and fix the size of the update number

13 years agosmscb: Add some simple decoding routines for SMSCB.
Holger Hans Peter Freyther [Wed, 29 Dec 2010 10:57:48 +0000 (11:57 +0100)]
smscb: Add some simple decoding routines for SMSCB.

13 years agoUse the app_info->name instead of the hostname
Harald Welte [Fri, 24 Dec 2010 14:10:14 +0000 (15:10 +0100)]
Use the app_info->name instead of the hostname

This makes more sense in case you run BCS, SGSN and other components
on the same host.  Having multiple telnet sessions with the same
prompt can otherwise be confusing.

13 years agorate_ctr: No need to include the inttypes.h
Holger Hans Peter Freyther [Mon, 20 Dec 2010 12:38:22 +0000 (13:38 +0100)]
rate_ctr: No need to include the inttypes.h

There should not be any u_int*_t types in this file, no need
to include this file. It is breaking compilation with the last
x86 build of GNU ARM for GCC 3.4.

13 years agoprotocol: introduce gsm_03_41.h
Alex Badea [Sat, 27 Nov 2010 21:35:08 +0000 (23:35 +0200)]
protocol: introduce gsm_03_41.h

This currently contains definitions for the BTS->MS SMSCB message.

Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
13 years agogsm_08_58: add struct and constants for RSL_IE_CB_CMD_TYPE
Alex Badea [Sat, 27 Nov 2010 21:34:46 +0000 (23:34 +0200)]
gsm_08_58: add struct and constants for RSL_IE_CB_CMD_TYPE

Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
13 years agogsm_04_12: fix 04.13 typos
Alex Badea [Sat, 27 Nov 2010 18:00:39 +0000 (20:00 +0200)]
gsm_04_12: fix 04.13 typos

There are two occurrences of "413" in the 04.12 header file.
These are probably typos; correct them to "412".

Signed-off-by: Alex Badea <vamposdecampos@gmail.com>
13 years agoutils: Fix typo. It is ascii.
Holger Hans Peter Freyther [Fri, 19 Nov 2010 18:20:46 +0000 (19:20 +0100)]
utils: Fix typo. It is ascii.

13 years agogsmtap.h: Add GSMTAP_TYPE_SIM
Harald Welte [Thu, 18 Nov 2010 22:54:20 +0000 (23:54 +0100)]
gsmtap.h: Add GSMTAP_TYPE_SIM

13 years agoMove the generate backtrace call from MSGB_ABORT to osmo_panic handler
Sylvain Munaut [Sat, 13 Nov 2010 21:47:47 +0000 (22:47 +0100)]
Move the generate backtrace call from MSGB_ABORT to osmo_panic handler

This has two benefits:
 - All people calling osmo_panic() will have the backtrace
 - It makes the thing build in 'target' mode in osmocom-bb

And one downside:
 - The osmo_panic handler is now in the backtrace
(I can live with that :)

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agopanic: Fix type warning - osmo_panic_handler_t is already a pointer ...
Sylvain Munaut [Sat, 13 Nov 2010 17:00:25 +0000 (18:00 +0100)]
panic: Fix type warning - osmo_panic_handler_t is already a pointer ...

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agogsm_utils: Define 4 upper bits as "flags" and mask them out in utility functions
Sylvain Munaut [Sat, 13 Nov 2010 16:51:37 +0000 (17:51 +0100)]
gsm_utils: Define 4 upper bits as "flags" and mask them out in utility functions

This way those function don't care about the flags they don't know about

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agomsgb: fix printing of msgb pointer during MSGB_ABORT()
Harald Welte [Tue, 9 Nov 2010 12:42:26 +0000 (13:42 +0100)]
msgb: fix printing of msgb pointer during MSGB_ABORT()

13 years agomsgb: don't compare unsigned int with int (fix lcr build)
Harald Welte [Tue, 9 Nov 2010 12:41:48 +0000 (13:41 +0100)]
msgb: don't compare unsigned int with int (fix lcr build)

13 years agomsgb_abort(): better formatting
Harald Welte [Fri, 5 Nov 2010 06:50:40 +0000 (07:50 +0100)]
msgb_abort(): better formatting

13 years agogenerate backtrace in msgb_abort()
Harald Welte [Fri, 5 Nov 2010 06:49:39 +0000 (07:49 +0100)]
generate backtrace in msgb_abort()

This helps us to debug where we encounter insufficient headroom...

13 years agoChange msgb_abort() function in MSGB_ABORT argument with variable arguments
Harald Welte [Fri, 5 Nov 2010 06:47:41 +0000 (07:47 +0100)]
Change msgb_abort() function in MSGB_ABORT argument with variable arguments

This enables callers to provide format string and arguments to it

Also, put conditionals into the macro, and remove them from the caller
site.

13 years agogsm0808: Move the clear request from bsc_msc_ip to here
Holger Hans Peter Freyther [Thu, 4 Nov 2010 11:42:50 +0000 (12:42 +0100)]
gsm0808: Move the clear request from bsc_msc_ip to here

This method should use the msgb_tlv_put routines instead
of the stuff it is doing. This will be cleaned up.

13 years agogsm0808: Add a method to create a new DTAP message with a msgb
Holger Hans Peter Freyther [Thu, 4 Nov 2010 11:26:06 +0000 (12:26 +0100)]
gsm0808: Add a method to create a new DTAP message with a msgb

13 years agoselect.c: Change license terms from GPLv2 (from ulogd) to GPLv2+
Harald Welte [Sun, 31 Oct 2010 12:56:45 +0000 (13:56 +0100)]
select.c: Change license terms from GPLv2 (from ulogd) to GPLv2+

13 years agogsm0808: Fix the format of the clear IE...
Holger Hans Peter Freyther [Wed, 27 Oct 2010 10:36:05 +0000 (12:36 +0200)]
gsm0808: Fix the format of the clear IE...

This is really TLV...

13 years agogsm0808: Add a method to create a clear command message.
Holger Hans Peter Freyther [Wed, 27 Oct 2010 09:49:24 +0000 (11:49 +0200)]
gsm0808: Add a method to create a clear command message.

Use the msgb_tv_put functions for putting the data into
the message. Do not support the extended error reports.

13 years agomsgfile: Allow to have comments in the simple CSV file
Holger Hans Peter Freyther [Tue, 26 Oct 2010 07:31:16 +0000 (09:31 +0200)]
msgfile: Allow to have comments in the simple CSV file

13 years agocodec: Fix bit order table definition for GSM HR
Sylvain Munaut [Sun, 24 Oct 2010 19:13:40 +0000 (21:13 +0200)]
codec: Fix bit order table definition for GSM HR

There is two tables: one for unvoiced frames and one for voiced frames.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agocodec: Add the missing bits for include to install and pkgconfig to work
Sylvain Munaut [Sun, 24 Oct 2010 16:23:10 +0000 (18:23 +0200)]
codec: Add the missing bits for include to install and pkgconfig to work

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agobitvec: Fix decoding of H / L values
Andreas.Eversberg [Sun, 24 Oct 2010 09:59:33 +0000 (11:59 +0200)]
bitvec: Fix decoding of H / L values

it returns if a given bit in the vector is "high" or "low".
the bitval that represents "high" depends on the bit position.
bitval2mask returns that. so we must check if the bit in the vector
equals the returned bitval.

13 years agomsgb: Add non-inlined helper functions to ease with language bindings
Holger Hans Peter Freyther [Mon, 18 Oct 2010 16:22:31 +0000 (18:22 +0200)]
msgb: Add non-inlined helper functions to ease with language bindings

It is easier from languages that dlopen libosmocore to have a function
to access this data than to poke at the bytes of the struct directly. Add
copyright for this method and the reset method I did earlier this year.

13 years agogsm0480: Add method create own number response
Holger Hans Peter Freyther [Mon, 18 Oct 2010 14:56:43 +0000 (16:56 +0200)]
gsm0480: Add method create own number response

13 years agocodec: Add bit ordering tables from specs for HR,FR,EFR & AMR
Sylvain Munaut [Fri, 8 Oct 2010 13:09:16 +0000 (15:09 +0200)]
codec: Add bit ordering tables from specs for HR,FR,EFR & AMR

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agoUpdate .gitignore
Sylvain Munaut [Fri, 8 Oct 2010 13:09:41 +0000 (15:09 +0200)]
Update .gitignore

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
13 years agoussd: gsm_7bit_decode will null terminate the string
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:28:23 +0000 (09:28 +0200)]
ussd: gsm_7bit_decode will null terminate the string

13 years agoussd: Make sure that we at least have 8 bytes when decoding the string
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:23:50 +0000 (09:23 +0200)]
ussd: Make sure that we at least have 8 bytes when decoding the string

The actual gsm_7bit_decode can still cause a buffer overrun
but at least we are safe until this point.

13 years agoussd: Add size checks to the parse_ss_invoke calls
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:12:33 +0000 (09:12 +0200)]
ussd: Add size checks to the parse_ss_invoke calls

Make sure that the mandatory and optional part fits.

13 years agoussd: Make sure the component fits.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:07:50 +0000 (09:07 +0200)]
ussd: Make sure the component fits.

Use a while() {} to check offset +2 <= length on the first
iteration of the loop. Once we have the component length
check that it is going to fit into the given length.

13 years agoussd: Work with uint16_t for the length
Holger Hans Peter Freyther [Mon, 11 Oct 2010 07:06:47 +0000 (09:06 +0200)]
ussd: Work with uint16_t for the length

Work with uint16_t for the length all the way.

13 years agoussd: Verify that parsing is stil working and print the decoded text.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:49:27 +0000 (08:49 +0200)]
ussd: Verify that parsing is stil working and print the decoded text.

13 years agoussd: Add next test that show that we access the data out of bounds
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:21:00 +0000 (08:21 +0200)]
ussd: Add next test that show that we access the data out of bounds

This test is showing that the internal ASN1 code is not checking
the size properly.

13 years agoussd: Check the structure of the IE.
Holger Hans Peter Freyther [Mon, 11 Oct 2010 06:08:58 +0000 (08:08 +0200)]
ussd: Check the structure of the IE.

This is fixing the current crashes. Next we will need to
manipulate the content...

13 years agoussd: Add a test case, switch parsing to use a gsm48_hdr and len
Holger Hans Peter Freyther [Mon, 11 Oct 2010 05:56:06 +0000 (07:56 +0200)]
ussd: Add a test case, switch parsing to use a gsm48_hdr and len

The current USSD code is not doing any size checks, add a test
case to find out how easily we access the data out of bounds.
Begin to use the length in some places.

13 years agogsm0480: Move the USSD parsing code to libosmocore
Holger Hans Peter Freyther [Fri, 8 Oct 2010 17:47:15 +0000 (01:47 +0800)]
gsm0480: Move the USSD parsing code to libosmocore

- Change u_int8 to uint8
- Change DEBUGP to LOGP
- Change fprintf(stderr, to LOGP(0, LOGL_DEBUG
- We should define log areas used inside libosmocore

13 years agomsgfile: Add a file parser for a simple file format
Holger Hans Peter Freyther [Wed, 6 Oct 2010 16:00:15 +0000 (00:00 +0800)]
msgfile: Add a file parser for a simple file format

This file format will be used to store per country code,
per network code messages. This will be used for various
things ranging from access control, to messages...

13 years agogsm0480: Add USSD format functions to libosmocore
Holger Hans Peter Freyther [Thu, 30 Sep 2010 10:30:41 +0000 (18:30 +0800)]
gsm0480: Add USSD format functions to libosmocore

These routines come from OpenBSC, the msgb_wrap_* functions
belong to Mike Haben, the rest is mine. The msgb allocation
is compatible to the GSM48 allocation in OpenBSC.

13 years agogsm48: Fix gsm48_encode_called - Set no extension bit
Sylvain Munaut [Mon, 20 Sep 2010 18:59:23 +0000 (20:59 +0200)]
gsm48: Fix gsm48_encode_called - Set no extension bit

The highest bit must be set as "No extension byte" marker,
so that the next byte is considered to be the BCD number
and not some more control stuff

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>