| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This is required for osmo-bsc to parse Alcatel S-12 CIPHER MODE COMMAND
in osmo-bsc.
|
|
|
|
|
|
|
|
|
| |
lapdm.c takes the re-establishment message and forwards it to lapd_core.c,
so we can assume that msgb is set at primitive. In case there is data in
the re-establishment msg, it is moved into send_buffer. In case of no
data (0 length), it must be freed.
Fixes an issue spotted by Coverity Scan.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit f996b05dbddccb8e8788dd69777a4fedfa2373eb
and 2b0cac4ef83137ee0bdd583aee877eac467abeab. A detailed
explanation can be found here:
http://lists.osmocom.org/pipermail/openbsc/2013-July/004737.html
The short description is that:
1.) The API should return (as out parameter) the number of
octets used.
2.) The handling for the <CR> encoding only applies to USSD
and it is incomplete. On top of that it broke the SMS test.
|
| |
|
|
|
|
|
|
| |
To avoid the situation where the receiving entity confuses 7 binary zero pad
bits as the @ character, the carriage return or <CR> character shall be used
for padding in this situation.
|
|
|
|
| |
It is used to transfer PHYSICAL INFORMATION message to the MS.
|
|
|
|
|
|
|
|
|
|
| |
If the datalink fails or if handover or assignment to a new channel fails,
it is re-establised by sending SABM again. The length of establish message
is 0 in this case. The length is used to differentiate between
re-establishment and contention resolution, which has to be handled
differently.
See TS 04.06 Chapter 5.4.2.1
|
|
|
|
|
|
|
|
| |
The &buf[3] is unlikely to be aligned properly. Use memcpy instead
of an assignment. Add a small testcase that verifies that I didn't
mess up the conversion.
Alignment trap: osmo-nitb (3293) PC=0x492b7094 Instr=0xe5803003 Address=0xbeb259db FSR 0x801
|
| |
|
|
|
|
|
|
|
|
| |
When a SABM(E) frame arrives, we have to trim the L2 padding (0x2b for
gsm) before handing the data off to L3, just like we do with I frames.
Also, we should use mggb_trim() or even msgb_l3trim() instead of
manually fiddling with msgb->length and ->tail pointers.
|
| |
|
| |
|
|
|
|
|
| |
Make detecting use after free of the tx_hist easy and set the
variable to NULL after talloc_free has been freed.
|
| |
|
|
|
|
|
|
|
|
|
| |
After reception of SABM, the network responds with UA and enters the
establised multiframe state. If UA is not received by mobile, the SABM
is transmitted again, and the network must respond with UA again, unless
it is from a different mobile.
Add LAPDm collision test (contention resolution on network side).
|
| |
|
|
|
|
|
|
| |
Only the Gb library relies on having undefined references to a
symbol that needs to be provided by the host application. For
all other libraries we can link with -no-undefined.
|
|
|
|
|
| |
Doxygen generates quite a lot of warnings on libosmocore. Some of them
are obvious typos - this patch aims to fix such low-hanging fruit.
|
|
|
|
|
|
| |
this will avoid printing 'abis_nm.c' as the filename in the log, which
is pretty useless during debugging. We want to know where
abis_nm_debugp_foh() is being used from, not where it is implemented.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was found while implementing handover on a sysmobts. When we
receive a channel release request for a channel that was never really
activated (set_lapdm_context() was not called) we segfault in
lapd_recv_dlsap().
We now return early with -EINVAL in rslms_rx_rll() if we receive a
message that assumes set_lapdm_context() was already called.
These are:
* RSL_MT_UNIT_DATA_REQ
* RSL_MT_DATA_REQ
* RSL_MT_SUSP_REQ
* RSL_MT_REL_REQ
A test case was added to trigger the issue.
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
| |
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
| |
|
|
|
|
|
|
| |
Extracted from a patch by Max Suraev Max.Suraev@fairwaves.ru>
Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
|
|
|
|
| |
Log message that are either too big or have the C/R bit set as error.
|
| |
|
|
|
|
|
|
| |
GCC 4.7.2 was already smart enough to see that the table is const
so there is no change in the generated assembly code. For some reason
the dispatch is still going through one relocation.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When OpenBSC is handling more than one message at a time it is difficult
to see which log message belongs to which SMR instance. Introduce a
uint64_t id that can be set to the row_id/message_id and prefix all
log messages with SMR(ID).
This change is ABI and API incompatible with previous versions of
libosmogsm.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When OpenBSC is handling more than one message at a time it is difficult
to see which log message belongs to which SMC. Introduce a uint64_t id
that can be set to the row_id/message_id and prefix all log messages
with SMC(ID).
This change is ABI and API incompatible with previous versions of
libosmogsm.
Example:
SMC(100) instance created
SMC(100) message MNSMS-EST-REQ received in state IDLE
|
| |
|
|
|
|
|
|
| |
When the connection may not released print the name of the current
state to ease with debugging and verification that this is not a
valid state transition.
|
|
|
|
|
| |
This code got copied from OpenBSC and we used the network specific
and private numbering plan. Remove it as it can be easily set.
|
|
|
|
|
| |
<001c> gsm0411_smr.c:175 TX: MNSMS-REL-REQ adds little value so
I am reducing it to a debug statement.
|
|
|
|
|
| |
This avoids an unaligned access on platforms that don't support them,
such as ARMv4/ARMv5.
|
|
|
|
|
| |
Add a check to not use --version-script linker flag if compiled on OSX
since it doesn't exist there
|
|
|
|
| |
extension character before doing anything else
|
|
|
|
| |
'if' is not a function, so we have space before parenthesis.
|
| |
|
|
|
|
|
|
|
|
| |
The comment explains why we don't care about the content of z,
stop storing it.
gsm_utils.c: In function 'gsm_7bit_encode':
gsm_utils.c:253:13: warning: variable 'z' set but not used [-Wunused-but-set-variable]
|
|
|
|
|
|
|
|
| |
This was fixed in 9c3dc90d16a40789081c84e46620f4d66689fec1 of
openbsc.git, after the sms code had been migrated here:
introduce HAVE_TM_GMTOFF_IN_TM
Not all architectures have the tm.tm_gmtoff member. This fixes cygwin builds.
|
|
|
|
| |
Also adds a test case for both encoder and decoder of this IE
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new TLV type is specific to TS 44.318. Contrary to the TvLV type
of TS 08.16/08.18, it has an inverted meaning of the extension (0x80)
bit:
* if the extension bit is not set, 1-byte length
* if the extension bit is set, 2-byte length
Futhermore, it has support for variable-length tags, where the tag part
can be optionally two bytes in length. As this esoteric option hasn't
been seen in the wild yet, we only add encoding support but skip
decoding for now.
|
|
|
|
| |
This is to make it orthogonal with gsm48_encode_lai()
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
This actually allows for the user to override the decision and at the
same time supports compilers that might not be able to use -fPIC at
all.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
|