Pablo Neira Ayuso [Thu, 7 Jul 2011 17:46:34 +0000 (19:46 +0200)]
signal: reserve signal subsystems >= INT_MAX/2 for libraries
The first range (from 0 to INT_MAX/2) of signal subsystems can be
used by client applications while the second range (from INT_MAX)
is reserved for libraries.
This is useful to support signals defined in libraries that
may be used by different client applications.
Holger Hans Peter Freyther [Sun, 17 Jul 2011 10:13:31 +0000 (12:13 +0200)]
misc: Put git-version-gen into the tarball
autoreconf does not work on released tarballs due the
missing git-version-gen. Add it.
Harald Welte [Sat, 16 Jul 2011 13:42:46 +0000 (15:42 +0200)]
gsm 04.80: fix typo (256, not 265!)
This was introduced by me in commit
79599ba0eb7a9aeaeb9dfbbf4881f0633724a471
Thanks to Alexander Huemer for detecting it
Harald Welte [Sat, 16 Jul 2011 11:28:59 +0000 (13:28 +0200)]
gsm 04.80: ussd_request.text can contain 0xff, needs to be unsigned
Found by Smatch
Harald Welte [Sat, 16 Jul 2011 10:21:55 +0000 (12:21 +0200)]
lapdm: fix memory leak due to unreachable code
detected by Smatch
Harald Welte [Sat, 16 Jul 2011 10:13:00 +0000 (12:13 +0200)]
gsm 08.08: use ANSI function definition with (void)
Harald Welte [Sat, 16 Jul 2011 10:05:49 +0000 (12:05 +0200)]
tlv: Make tlv parser arrays 256 entries wide to prevent overflow on 0xff
If we encounter a tag with 0xFF, we overflow our existing tlv_parse
array definitions.
Warning: this breaks ABI
Harald Welte [Sat, 16 Jul 2011 10:03:13 +0000 (12:03 +0200)]
gprs_cipher_core: Fix potential buffer overflows
detected by Smatch
Harald Welte [Sat, 16 Jul 2011 10:01:52 +0000 (12:01 +0200)]
telnet_interface: if we don't check for the return value, don't use ret
Harald Welte [Sat, 16 Jul 2011 09:59:44 +0000 (11:59 +0200)]
telnet_interface: get rid of 'const' warning
Harald Welte [Sat, 16 Jul 2011 09:58:09 +0000 (11:58 +0200)]
get rid of non-ANSI function declarations missing (void)
Detected by Smatch
Harald Welte [Sat, 16 Jul 2011 09:57:53 +0000 (11:57 +0200)]
don't use signed bit-fields
detected by Smatch
Harald Welte [Sat, 16 Jul 2011 08:15:16 +0000 (10:15 +0200)]
timer: use (void) for functions that take no arguments
This has been detected by http://smatch.sourceforge.net/
Holger Hans Peter Freyther [Sat, 16 Jul 2011 09:08:59 +0000 (11:08 +0200)]
Revert various debian related changes
The debian related changes were not meant to be comitted and
were local experiments. The changes should go through Jan and
not this way.
Revert "more changes"
This reverts commit
96ba20cb44e602abb292b53c9e4f92aa59998df1.
Revert "debian: Updates to fix lintian errors"
This reverts commit
b670c86edd704d45b572b87111f3224abecc4767.
Revert "debian: Switch to the 3.0(quilt) format to play with launchpad"
This reverts commit
7a91d6071d1ef15e5a05f5feb7f79a06c279c673.
Revert "debian: Add new changelog entry for the shlib:Depends change"
This reverts commit
54b8c4e0edb2f0f0cde7d28c1715810dd5c6a4b1.
Revert "debian: dpkg-buildpackage complains about this here"
This reverts commit
4284307ead92f35e844e452c0ff9c73a61038096.
Revert "debian: Add a new changelog entry"
This reverts commit
ae9b220d166dac277a9b9078add20650415d1cb2.
Holger Hans Peter Freyther [Fri, 15 Jul 2011 14:07:23 +0000 (16:07 +0200)]
osmo_hexdump: Fix segfault when input is too long.
In snprinftf the size is a size_t (unsigned) in case we want
to write more than we have available, len_remain will be < 0.
This was spotted while removing hexdump from simtrace and comparing
it to our implementation.
int snprintf(char *str, size_t size, const char *format, ...);
Holger Hans Peter Freyther [Wed, 13 Jul 2011 18:49:02 +0000 (20:49 +0200)]
more changes
Holger Hans Peter Freyther [Wed, 13 Jul 2011 15:22:57 +0000 (17:22 +0200)]
debian: Updates to fix lintian errors
Holger Hans Peter Freyther [Wed, 13 Jul 2011 15:16:29 +0000 (17:16 +0200)]
debian: Switch to the 3.0(quilt) format to play with launchpad
Holger Hans Peter Freyther [Wed, 13 Jul 2011 13:08:45 +0000 (15:08 +0200)]
debian: Add new changelog entry for the shlib:Depends change
Holger Hans Peter Freyther [Wed, 13 Jul 2011 12:08:18 +0000 (14:08 +0200)]
debian: dpkg-buildpackage complains about this here
Holger Hans Peter Freyther [Wed, 13 Jul 2011 11:53:23 +0000 (13:53 +0200)]
debian: Add a new changelog entry
Harald Welte [Mon, 11 Jul 2011 22:02:09 +0000 (00:02 +0200)]
GSM 08.08: Fix generation of CIPHER MODE REJECT
The message has a total length of 4 octets, so don't allocate only 3 in the
msgb.
Harald Welte [Mon, 11 Jul 2011 15:43:19 +0000 (17:43 +0200)]
gsm 08.08: add value_strings and gsm0808_msg_name() function
Harald Welte [Sat, 2 Jul 2011 19:51:32 +0000 (21:51 +0200)]
fix against corrupted output in parallel logging
In
825607672215b7a12ea6e201a89cd5209f6d657f it was attempted to fix
a bug previously introduced by logging related changes. The problem
is that a va_list can be corrupted after it has been used once, so
we need to va_copy before each successive use.
And if we copy it, we also need to use the copy, and not the original ;)
Harald Welte [Wed, 29 Jun 2011 17:22:47 +0000 (19:22 +0200)]
lapdm: make sure we flush all queues whenever entering IDLE state
this fixes a memory leak where the final UA would always remain
in memory after a LAPDm entity has been disconnected.
Harald Welte [Wed, 29 Jun 2011 16:46:10 +0000 (18:46 +0200)]
add msgb_set_talloc_ctx() to set the talloc context for msgb allocations
Harald Welte [Wed, 29 Jun 2011 16:44:06 +0000 (18:44 +0200)]
make sure abis_nm <-> osmocom pchan type conversion always works
Harald Welte [Wed, 29 Jun 2011 10:13:51 +0000 (12:13 +0200)]
LAPDm: Uplink SACCH frames use format B, not format B4
Harald Welte [Mon, 27 Jun 2011 21:32:14 +0000 (23:32 +0200)]
LAPDm: When Rx DATA from L1, L1 does not know the SAPI
We have to determine the SAPI ourselves inside the LAPDm header.
Harald Welte [Mon, 27 Jun 2011 12:19:16 +0000 (14:19 +0200)]
Fix the generation of the log_categories string + LAPDM
... I should do more testing :(
Conflicts:
src/logging.c
Harald Welte [Mon, 27 Jun 2011 12:00:03 +0000 (14:00 +0200)]
logging: make sure to add the internal categories, as intended
Harald Welte [Mon, 27 Jun 2011 08:51:37 +0000 (10:51 +0200)]
add LAPDm code from osmocom-bb into libosmocore
Harald Welte [Mon, 27 Jun 2011 08:29:17 +0000 (10:29 +0200)]
logging: introduce library-internal logging categories
We do this by using a trick: library-internal log categories use
negative subsystem numbers, which are converted into positive
array indexes at the time of logging.
library-internal log categories need to be knwo at compile-time,
while application-specified categories now are of unlimited number,
as they are dynamically allocated.
Harald Welte [Sun, 26 Jun 2011 12:47:16 +0000 (14:47 +0200)]
import gsm0502_calc_paging_group() from openbsc
Harald Welte [Sun, 26 Jun 2011 12:33:57 +0000 (14:33 +0200)]
add some utility functions for paging related calculation (TS 05.02)
Harald Welte [Sun, 26 Jun 2011 12:20:04 +0000 (14:20 +0200)]
add gsm48_number_of_paging_subchannels() function
(from openbsc's rsl_number_of_paging_subchannels)
Harald Welte [Sun, 26 Jun 2011 12:19:54 +0000 (14:19 +0200)]
add MAX() macro as OSMO_MAX
Harald Welte [Sun, 26 Jun 2011 11:07:18 +0000 (13:07 +0200)]
merge process.[ch] with application.[ch]
Andreas Eversberg [Sun, 26 Jun 2011 09:41:48 +0000 (11:41 +0200)]
gsm/utils: Adding conversion of "mobile power class" to dBm
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Harald Welte [Sat, 25 Jun 2011 19:39:18 +0000 (21:39 +0200)]
sysinfo: add EXTENDED MEASUREMENT ORDER / MEASUREMENT INFO to SI types
those two are used in the RSL SACCH FILLING messages and delivered
like SI5 / SI6.
Harald Welte [Sat, 25 Jun 2011 19:39:01 +0000 (21:39 +0200)]
RSL: Fix typo
Harald Welte [Thu, 23 Jun 2011 18:43:13 +0000 (20:43 +0200)]
add value_string definitions for RSL message types
Harald Welte [Thu, 23 Jun 2011 13:04:47 +0000 (15:04 +0200)]
introduce GSM primitive definitions
The idea here is to use the osmocom core primitive code ot abstract out
primitives for inter-layer comunication in GSM.
Harald Welte [Thu, 23 Jun 2011 12:14:20 +0000 (14:14 +0200)]
add new 'prim.h' header file for primitives
Pablo Neira Ayuso [Thu, 9 Jun 2011 13:04:30 +0000 (15:04 +0200)]
socket: add OSMO_SOCK_F_[CONNECT|BIND|NON_BLOCK] flags
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.
Pablo Neira Ayuso [Mon, 13 Jun 2011 17:15:50 +0000 (19:15 +0200)]
Merge branch 'master' of git.osmocom.org:libosmocore
Harald Welte [Sun, 5 Jun 2011 17:53:56 +0000 (19:53 +0200)]
add missing #include file to sysinfo.h
(otherwise 'struct value_string' would not be defined)
Harald Welte [Sun, 5 Jun 2011 09:22:59 +0000 (11:22 +0200)]
abis_nm.h: Add include to gsm_utils.h
Harald Welte [Tue, 31 May 2011 15:47:54 +0000 (17:47 +0200)]
socket: getaddrinfo(): set AI_PASSIVE if we want to bind
This will tell getaddrinfo() that we want a INADDR_ANY style socket
Holger Hans Peter Freyther [Mon, 30 May 2011 22:42:38 +0000 (00:42 +0200)]
abis_nm: Forward declare the used enums
This file is using enums in that might or might not be
known to the compiler. Forward declare them.
Sylvain Munaut [Sun, 29 May 2011 17:48:15 +0000 (19:48 +0200)]
gsmtap_util: Remove msg_free from the wq call back
write_queue already frees the message after the callback is called.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Sylvain Munaut [Sun, 29 May 2011 13:39:04 +0000 (15:39 +0200)]
gsm/sysinfo: Fix rsl2sitype array size
0xff is the maximum value ... so there is 256 elements.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Harald Welte [Sun, 29 May 2011 13:37:49 +0000 (15:37 +0200)]
gsm/sysinfo: don't include netinet/in.h
Harald Welte [Sun, 29 May 2011 13:37:38 +0000 (15:37 +0200)]
bitvec: add missing stdint.h
Harald Welte [Sun, 29 May 2011 13:26:48 +0000 (15:26 +0200)]
socket: remove unused IPv4 related header includes
Harald Welte [Tue, 24 May 2011 19:31:53 +0000 (21:31 +0200)]
socket: Skip ifa's without ifa->ifa_addr
Apparently getifaddrs() returns ifa's without an ifa_addr set.
Pablo Neira Ayuso [Tue, 24 May 2011 16:31:13 +0000 (18:31 +0200)]
Merge branch 'master' of git.osmocom.org:libosmocore
Harald Welte [Tue, 24 May 2011 15:15:12 +0000 (17:15 +0200)]
Import abis_nm_{chcomb4pchan,pchan4chcomb}() from openbsc
Alexander Huemer [Tue, 24 May 2011 13:16:14 +0000 (15:16 +0200)]
libosmocore: rename configure.in -> configure.ac
rename autoconf input file to align with osmocom-bb host applications,
and because that suffix is preferred nowadays.
Alexander Huemer [Tue, 24 May 2011 13:16:13 +0000 (15:16 +0200)]
libosmocore: add missing AC_LANG_SOURCE for current autoconf
autoconf >=2.68 demands the body of an AC_COMPILE_IFELSE to be wrapped in
an AC_LANG_SOURCE macro, otherwise outputs annoying warnings on the
invocation of `autoreconf -i`. this patch follows that demand.
Harald Welte [Tue, 24 May 2011 13:01:53 +0000 (15:01 +0200)]
Import sytem information related definitions + code from openbsc
Holger Hans Peter Freyther [Mon, 23 May 2011 19:41:34 +0000 (21:41 +0200)]
abis_nm: Mark the structs as extern to avoid compiler warning
warning: array ‘abis_nm_obj_class_names’ assumed to have one element
Harald Welte [Mon, 23 May 2011 18:41:31 +0000 (20:41 +0200)]
abis_nm: remove abis_nm_obj_class_name / abis_nm_adm_state_name
and export the underlying raw value_string arrays instead:
abis_nm_obj_class_names / abis_nm_adm_state_names.
This permits the caller to use get_string_value() as well as
get_value_string().
Harald Welte [Mon, 23 May 2011 18:30:17 +0000 (20:30 +0200)]
rename abis_nm_adm_name() to abis_nm_adm_state_name()
Pablo Neira Ayuso [Mon, 23 May 2011 17:01:34 +0000 (19:01 +0200)]
Merge branch 'master' of git.osmocom.org:libosmocore
Harald Welte [Sun, 22 May 2011 20:45:16 +0000 (22:45 +0200)]
abis_nm: import definitions and common code on A-bis OML from OpenBSC
Harald Welte [Sun, 22 May 2011 19:57:15 +0000 (21:57 +0200)]
libosmogsm: add ipaccess related header file
Harald Welte [Sun, 22 May 2011 19:47:29 +0000 (21:47 +0200)]
socket: use listen() and SO_REUSEADDR, new osmo_sock_init_ofd() function
osmo_sock_init_ofd() is a wrapper around osmo_sock_init() which will
take care of initializing and registering a 'struct osmo_fd' for the
newly-created socket.
Harald Welte [Sun, 22 May 2011 18:30:18 +0000 (20:30 +0200)]
remove debug printf from socket.c
Harald Welte [Sun, 22 May 2011 18:06:11 +0000 (20:06 +0200)]
gsmtap: deal with apps that call gsmtap_send*() with NULL gsmtap_inst
Harald Welte [Sun, 22 May 2011 17:15:07 +0000 (19:15 +0200)]
vty: print actual application name rather than always OpenBSC on connect
Harald Welte [Sun, 22 May 2011 10:25:57 +0000 (12:25 +0200)]
GSMTAP/socket code: Check for sys/socket.h and conditionally compile
Harald Welte [Sat, 21 May 2011 16:54:32 +0000 (18:54 +0200)]
gsmtap: rework GSMTAP API to be more future-proof
* 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)
Pablo Neira Ayuso [Thu, 19 May 2011 06:55:32 +0000 (08:55 +0200)]
logging: fix corrupted output
Harald reported a problem in the logging:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002896.html
Reverting
81e9636454294ae10ef9bc8bf149dd0248afce76 seems to
fix the problem. However, that workaround looks ugly.
Holger gives us another clue on what was wrong:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002905.html
While digging in the manpage, I found this:
"The functions vprintf(), vfprintf(), vsprintf(), vsnprintf()
are equivalent to the functions printf(), fprintf(), sprintf(),
snprintf(), respectively, except that they are called with a
va_list instead of a variable number of arguments. These functions
do not call the va_end macro. Consequently, the value of ap is
undefined after the call. The application should call va_end(ap)
itself afterwards."
Pablo Neira Ayuso [Wed, 18 May 2011 23:40:43 +0000 (01:40 +0200)]
logging: fix corrupted output
Harald reported a problem in the logging:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002896.html
Reverting
81e9636454294ae10ef9bc8bf149dd0248afce76 seems to
fix the problem. However, that workaround looks ugly.
Holger gives us another clue on what was wrong:
http://lists.osmocom.org/pipermail/openbsc/2011-May/002905.html
While digging in the manpage, I found this:
"The functions vprintf(), vfprintf(), vsprintf(), vsnprintf()
are equivalent to the functions printf(), fprintf(), sprintf(),
snprintf(), respectively, except that they are called with a
va_list instead of a variable number of arguments. These functions
do not call the va_end macro. Consequently, the value of ap is
undefined after the call. The application should call va_end(ap)
itself afterwards."
Holger Hans Peter Freyther [Thu, 12 May 2011 11:46:33 +0000 (13:46 +0200)]
app: Introduce some routines to help with application startup
The plan is to collect structs and routines for application
setup and remove many copies of the boilerplate code we have
right now. This starts with routines to ignore certain signals
and the stderr init code.
Increment the age of the library because a new interface was added.
Harald Welte [Tue, 10 May 2011 15:29:01 +0000 (17:29 +0200)]
update debian changelog to 0.3.0
Harald Welte [Tue, 10 May 2011 09:28:02 +0000 (11:28 +0200)]
update include paths in debian packaging spec
Harald Welte [Sun, 8 May 2011 12:35:40 +0000 (14:35 +0200)]
libosmocore: bump library interface version to '1' for new osmo_ names
Pablo Neira Ayuso [Sat, 7 May 2011 11:01:41 +0000 (13:01 +0200)]
msgfile: use namespace prefix osmo_* and use more descriptive names
Summary of changes:
s/msg_entry/osmo_config_entry/g
s/msg_entries/osmo_config_list/g
s/msg_entry_parse/osmo_config_list_parse/g
minor glitch included in this patch while I was at it:
-#include "linuxlist.h"
+#include <osmocom/core/linuxlist.h>
Pablo Neira Ayuso [Sat, 7 May 2011 10:50:08 +0000 (12:50 +0200)]
plugin: use namespace prefix osmo_*
Summary of changes:
s/plugin_load_all/osmo_plugin_load_all/g
Pablo Neira Ayuso [Sat, 7 May 2011 10:45:47 +0000 (12:45 +0200)]
backtrace: use namespace prefix osmo_*
Summary of changes:
s/backtrace/osmo_backtrace/g
Pablo Neira Ayuso [Sat, 7 May 2011 10:43:12 +0000 (12:43 +0200)]
crc: use namespace prefix osmo_*
Summary of changes:
s/crc16_table/osmo_crc16_table/g
s/crc16/osmo_crc16/g
s/crc16_byte/osmo_crc16_byte/g
Pablo Neira Ayuso [Sat, 7 May 2011 10:43:08 +0000 (12:43 +0200)]
utils: use namespace prefix osmo_*
Summary of changes:
s/bcd2char/osmo_bcd2char/g
s/char2bcd/osmo_char2bcd/g
s/hexparse/osmo_hexparse/g
s/hexdump/osmo_hexdump/g
s/hexdump_nospc/osmo_hexdump_nospc/g
s/ubit_dump/osmo_ubit_dump/g
s/static_assert/osmo_static_assert/g
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
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
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
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
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
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.
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.
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.
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.
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.
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
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>
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>
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>
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.
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.