| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of mixing together the GSM layer 1 interface and RSL interface
with the implementation of LAPD, the core function of LAPD is now
extracted from LAPDm. The core implementation is now in lapd_core.c
and lapd_core.h respectively.
The lapd_core.c implements exactly one datalink instance for one SAP.
The surrounding implementation "lapdm.c" codes/decodes the layer 2
headers and handles multiplexing and datalink instances, as well as
translates primitives from/to RSL layer.
lapd_core.c can now be used for other LAPD implementations. (ISDN/ABIS)
|
| |
|
|
|
|
|
|
|
|
| |
As it turns out, the other range were affected too, so Anreas wrote
the fix for them as well.
Written-by: Andreas.Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From the mail:
---
appended is another patch for fixing a bug in the calculation of the
frequency lists. This time the patch is for the "Range 256 format".
The problem is that the operand for the "smod" operation might be
negative, in this case the simplified version won't work as expected.
In the patch I introduced a separate function for "smod" which takes
care of the sign. I have not yet checked if the other formats are also
affected, this would be the case if the "smod" operand can be negative.
There might be other solutions to fix the problem without the need
for a separate function, however I have not thought further about it.
A test vector is the following frequency list ("Range 256 format",
first byte is the length):
09 8b 1c 83 8c 15 ef 02 2d 30
The correct ARFCNs are
569 571 576 578 586 608 712 715 719
The uncorrected version would instead return:
444 457 460 464 569 576 578 586 608
This means four ARFCNs are wrong which will cause problems if for
example the frequency list contains the ARFCNs for hopping.
----
Written-by: Dieter Spaar <spaar@mirider.augusta.de>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Fix-by: Andreas.Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Additionally it wasn't possible to send concatenated sms from the vty.
To send multiple sms, it is necessary to use padding bits and add a user_data_header.
Therefore the gsm_7bit_encode function was splitted to gsm_7bit_encode and gsm_septets2octets.
gsm_septets2octets: this is the old gsm_7bit_encode function + additional padding parameter
Additionally the gsm_7bit_decode function was modified to take account for the user_data_header.
With the new gsm_get_octet_len function you can get the octet length for a given septet length.
I also added several sms tests.
|
|
|
|
| |
detected by Smatch
|
| |
|
|
|
|
|
|
|
| |
If we encounter a tag with 0xFF, we overflow our existing tlv_parse
array definitions.
Warning: this breaks ABI
|
|
|
|
| |
detected by Smatch
|
|
|
|
|
| |
The message has a total length of 4 octets, so don't allocate only 3 in the
msgb.
|
| |
|
|
|
|
|
| |
this fixes a memory leak where the final UA would always remain
in memory after a LAPDm entity has been disconnected.
|
| |
|
| |
|
|
|
|
| |
We have to determine the SAPI ourselves inside the LAPDm header.
|
| |
|
| |
|
| |
|
|
|
|
| |
(from openbsc's rsl_number_of_paging_subchannels)
|
|
|
|
|
| |
Written-by: Andreas Eversberg <jolly@eversberg.eu>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
|
| |
those two are used in the RSL SACCH FILLING messages and delivered
like SI5 / SI6.
|
| |
|
|
|
|
|
|
| |
0xff is the maximum value ... so there is 256 elements.
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Summary of changes:
s/plugin_load_all/osmo_plugin_load_all/g
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
It's always useful to have around
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
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>
|