aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-08-01release: Prepare the 0.8.2 release0.8.2Holger Hans Peter Freyther5-6/+5
I have kind of used 0.8.1 by accident already so let us move to 0.8.2 now.
2015-06-19bssgp: Fix IMSI buffer size (Coverity)Jacob Erlbeck1-2/+4
Currently the size of the IMSI pointer is used instead of the size of the talloc'ed buffer. This commit changes the call to gsm48_mi_to_string to use the same value that has been used with talloc_zero_size(). The length is changed to 17 since that value is used for GSM_IMSI_LENGTH in openbsc. Fixes: Coverity CID 1040663 Sponsored-by: On-Waves ehf
2015-06-19bssgp/test: Add missing START/END printfsJacob Erlbeck2-1/+8
Sponsored-by: On-Waves ehf
2015-06-04ipa: Add libosmogsm.map entry for ipa_ccm_idtag_parse_offJacob Erlbeck1-0/+1
Addresses: CCLD utils/utils_test utils_test.o: In function `test_idtag_parsing': git/libosmocore/tests/utils/utils_test.c:64: undefined reference to `ipa_ccm_idtag_parse_off' Sponsored-by: On-Waves ehf
2015-06-02ipa: Properly parse LV stream of a ID_GET requestHolger Hans Peter Freyther4-4/+78
For some reason the structure is closer to be a LV (length and value). The value is actually a tag but it is counted inside the length. Introduce an overload of the parse function to provide an offset for the length. This will be taken from the returned length.
2015-05-26osmo-auc-gen: '-a' is already the algorithm. Fix the helpHolger Hans Peter Freyther1-1/+1
2015-05-25debian: New development release with APN changes for the SGSNHolger Hans Peter Freyther1-1/+2
2015-05-25Add APN utility function to libosmogsmHarald Welte5-1/+56
The current functions are used to 'qualify' an APN from the user-supplied APN name (name identifier) towards the fully-qualified APN name which is used in the .grps DNS zone.
2015-05-17build: Fix the building of tests as wellHolger Hans Peter Freyther1-1/+1
In file included from ../../include/osmocom/core/msgb.h:25:0, from ../../tests/sms/sms_test.c:31: ../../include/osmocom/core/bits.h:6:35: fatal error: osmocom/core/bit16gen.h: No such file or directory #include <osmocom/core/bit16gen.h>
2015-05-17build: Fix out-of-tree buildsAndreas Rottmann2-2/+2
Fixes: In file included from ../../../include/osmocom/core/msgb.h:25:0, from ../../../include/osmocom/sim/sim.h:4, from ../../../src/sim/reader_pcsc.c:30: ../../../include/osmocom/core/bits.h:6:35: fatal error: osmocom/core/bit16gen.h: No such file or directory #include <osmocom/core/bit16gen.h> In file included from ../../include/osmocom/core/msgb.h:25:0, from ../../utils/osmo-sim-test.c:26: ../../include/osmocom/core/bits.h:6:35: fatal error: osmocom/core/bit16gen.h: No such file or directory #include <osmocom/core/bit16gen.h>
2015-05-06debian: Bump version for new local packagesHolger Hans Peter Freyther1-1/+2
2015-05-06bssgp: Fix bssgp_tx_fc_bvc parameter typeJacob Erlbeck5-2/+82
Currently large values for Bmax default MS get sliced since a uint16_t is used as the type of the corresponding parameter of bssgp_tx_fc_bvc. GSM 48.018, 11.3.2 which in turn refers to 11.3.5 specifies a maximum of 6MB (0xffff * 100). This commit changes the type to uint32_t to cover the full value range. Sponsored-by: On-Waves ehf
2015-05-04bssgp/test: Fix bssgp-fc testJacob Erlbeck1-30/+0
The fix in the commit "bssgp: Fix call to llist_entry in fc_queue_timer_cfg" prevents the flow control code from generating certain logging messages ("-BSSGP-FC: fc_timer_cb() but still not able to send PDU of 10 bytes") during the tests. This breaks the test suite, since the update of the correseponding stderr output file misses. This commit updates the bssgp_fc_tests.err file accordingly. Sponsored-by: On-Waves ehf
2015-05-02linuxlist: Remove casting of ptr from container_of macroHolger Hans Peter Freyther1-1/+1
The cast is not present in the original macro and was added in OpenBSC with commit (be68f6fc6cde1367a4481d2e774a64e2cd657267) to help using the header with C++. Due the recent issue in the bssgp flow control code, let's remove the cast to see wrong pointer usage. In case C++ code doesn't compile anymore we can see how to add a cast back to it. Change was proposed by Michael McTernan
2015-04-30bssgp: Fix call to llist_entry in fc_queue_timer_cfgJacob Erlbeck1-1/+1
Currently the DL sometimes hangs and sometimes a lot of messages (still not able to send PDU) are logged. This is caused by an invalid timer delay computation, setting msecs either to 0 or to some big value. This is due to an '&' operator at the wrong place, accessing some parts in fc instead of the first element of the list. This commit fixes that issue. Sponsored-by: On-Waves ehf
2015-04-29bssgp: Fix encoding of BVC_FLOW_CONTROLJacob Erlbeck1-5/+5
Currently all 2 byte IE of the message are transmitted in the little endian byte ordering. This commit adds htons to the encoding expressions. Sponsored-by: On-Waves ehf
2015-04-29bssgp: Fix output of the VTY 'show bssgp stats' commandJacob Erlbeck1-2/+3
The output is terminated by a '\n' instead of VTY_NEWLINE. This is fixed by the commit. Sponsored-by: On-Waves ehf
2015-04-16debian: Build new versionHolger Hans Peter Freyther1-1/+7
2015-04-13osmo_static_assert: Put back the typedef in the codeHolger Hans Peter Freyther1-1/+1
In OSX the int declares linkage and for libosmo-abis we have two static asserts with the same name in two different compilation units. When adding the "unused" attribute I removed the typedef. I verified with a gcc 4.9.2 that no new warnings will be shown when compiling libosmo-abis.
2015-04-11logginrb: Fix compiler warning about fprintfHolger Hans Peter Freyther1-2/+2
loggingrb/loggingrb_test.c:76:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security] fprintf(stderr, log_target_rb_get(ringbuf_target, 0)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ loggingrb/loggingrb_test.c:77:18: warning: format string is not a string literal (potentially insecure) [-Wformat-security] fprintf(stderr, log_target_rb_get(ringbuf_target, 1)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2015-04-11sim: Use extern for these structs to generate a linkageHolger Hans Peter Freyther2-2/+2
Fixes: duplicate symbol _ts102221_fcp_vals in: .libs/core.o .libs/card_fs_usim.o duplicate symbol _pcsc_reader_ops in: .libs/reader.o .libs/card_fs_usim.o
2015-04-11macaddr: Use the BSD code for Darwin as wellHolger Hans Peter Freyther1-1/+1
It simply compiles, no other testing has been done.
2015-04-11utils: Disable the weak symbol for darwinHolger Hans Peter Freyther1-1/+5
We should consider simply removing the alias as we have had several ABI changes since introducint the alias utils.c:223:23: error: only weak aliases are supported on darwin __attribute__((weak, alias("osmo_hexdump_nospc")));
2015-04-10gprs: Add assertion for msg != NULL to bssgp_msgb_alloc (Coverity)Jacob Erlbeck1-0/+4
Currently out-of-memory is not handled by bssgp_msgb_alloc, leading to SEGV failures if msgb_alloc_headroom returns NULL. This commit adds an OSMO_ASSERT to catch this case, which improves the situation only slightly. But bssgp_msgb_alloc is used in many places without checking the return value, so just adding a conditional early NULL return would not fix the issue either. Fixes: Coverity CID 1293377 Sponsored-by: On-Waves ehf
2015-04-10msgb: Check the return value of msgb_alloc (Coverity)Jacob Erlbeck2-0/+6
In some places, the return value of msgb_alloc/msgb_alloc_headroom is not checked before it is dereferenced. This commit adds NULL checks to return with -ENOMEM from the calling functions if the alloc function has failed. Fixes: Coverity CID 1249692, 1293376 Sponsored-by: On-Waves ehf
2015-04-07ns: Log when sending fails (Coverity)Jacob Erlbeck3-6/+24
Currently the return value of the gprs_ns_tx family of functions is often ignored. This is not a serious issue, since the successful delivery of the messages is neither guaranteed nor acknowledged by the network layer anyway. Nevertheless this commit adds logging (level INFO) to gprs_ns_tx and gprs_ns_msgb_alloc. The definition of the latter has been moved from the header file to gprs_ns.c. Fixes: Coverity CID 1040678, 1040679, 1040680, 1040681, 1040682, 1040683, 1040684, 1040686, 1040687, 1040688, 1111545, 1240203, 1240204 Sponsored-by: On-Waves ehf
2015-04-07bssgp: Ensure non-NULL bctx before calling bssgp_rx_ptp (Coverity)Jacob Erlbeck2-1/+23
Currently bssgp_rx_ptp might be called with bctx being NULL, when the NS BVCI is neither BVCI_SIGNALLING nor BVCI_PTM, but the message is a BVC_RESET or it contains an BVCI IE != BVCI_SIGNALLING where the BVCI is not known. This patch ensures that bssgp_rx_ptp will only be called with a non-NULL bctx. A log message will be issued, if the bctx is NULL when this was not expected. Fixes: Coverity CID 1040674 Sponsored-by: On-Waves ehf
2015-04-07bssgp: Always expect dup != NULL in bssgp_tx_dl_ud (Coverity)Jacob Erlbeck1-25/+24
Currently the implementation of bssgp_tx_dl_ud conditionally adds some optional IE if dup != NULL. Later on is dereferences dup to access qos_profile and fc, but this without checking dup in advance. This may lead to an segmentation violation fault. This commit changes the value range of the function to only accept dup != NULL. An assertion will fail otherwise. All other explicit checks for non-NULL are removed. Fixes: Coverity CID 1040673 Sponsored-by: On-Waves ehf
2015-04-07fix compiler warnings for a5 testsMax1-0/+4
Signed-off-by: Max <max.suraev@fairwaves.co>
2015-04-05ctrl: Avoid accessing cmd_desc->command out of boundsHolger Hans Peter Freyther1-1/+1
We check that the amount of commands is not more than we have but we don't check it the other way. It appears that the vector is allowed to be bigger than the amount of commands. So we match a prefix of a longer command depending on the installation order.
2015-04-01Tests: Fix broken loggingrb testcase.Michael McTernan2-7/+6
The loggingrb (ringbuffer) test case was not actually being built or ran, instead still using the normal logging test. This patch fixes the makefile, then the loggingrb testcase is changed to use the current loggingrb API so that it builds and passes. Signed-off-by: Michael McTernan <mike.mcternan@wavemobile.com>
2015-03-28gsm: Add A5/3-4 cipher supportMax5-19/+148
Signed-off-by: Max <max.suraev@fairwaves.co> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-03-22endian: Be able to detect endian on GNU and BSDHolger Hans Peter Freyther2-0/+39
On GNU __BYTE_ORDER and __LITTLE_ENDIAN is defined and the include is "endian.h" on FreeBSD it is "sys/endian.h" and LITTLE_ENDIAN/_LITTLE_ENDIAN and BYTE_ORDER/_BYTE_ORDER is defined. Create a header file that defines OSMO_IS_LITTLE_ENDIAN and OSMO_IS_BIG_ENDIAN and can be used as #if OSMO_IS_LITTLE_ENDIAN do_little_endian #elif OSMO_IS_BIG_ENDIAN do_big_endian #else #error "Unknown endian" #endif
2015-03-20vty: Fix writing the logging of categoryMichael McTernan1-1/+1
Fix copy and paste issue introduced by Holger in 2d6ad13d8daf860595e6d4025861e122ce574871.
2015-03-18libctrl: Include config.h so we can include netinet/tcp.hHolger Hans Peter Freyther1-0/+2
In e15ac060e7ae78d4c3569d7fc9071bcf49807e05 we tried to fix the nuttx build but we never included "netinet/tcp.h" after it and the compiler warned about the unused "on" parameter which we didn't notice because of the other warnings... Include config.h so we can see if there is a tcp.h and then include it.
2015-03-18msgfile: Fix warning on BSDs stdioHolger Hans Peter Freyther1-0/+2
msgfile.c:116:16: warning: implicit declaration of function 'getline' is invalid in C99 [-Wimplicit-function-declaration] while (getline(&line, &n, file) != -1) {
2015-03-18gsm0808: Remove duplicate initializationHolger Hans Peter Freyther1-1/+0
These types were compatible so simply remove one. Fixes: gsm0808.c:323:37: warning: initializer overrides prior initialization CC gsm0480.lo of this subobject CC abis_nm.lo [-Winitializer-overrides] [GSM0808_IE_LSA_INFORMATION] = { TLV_TYPE_TLV }, ^~~~~~~~~~~~ gsm0808.c:316:36: note: previous initialization is here [GSM0808_IE_LSA_INFORMATION] = { TLV_TYPE_TLV }, ^~~~~~~~~~~~
2015-03-18bssgp: Handle BSSGP STATUS messagesJacob Erlbeck4-16/+103
Currently incoming BSSGP STATUS messages are just logged and no other action is taken. This makes it impossible for higher layers to react to failures which are indicated by corresponding STATUS messages unless a timeout is triggered as a result of that failure later on. This commit adds a bssgp_rx_status() function and calls it on incoming STATUS messages. That function logs a message, increments the new BSSGP_CTR_STATUS counter if the bctx context exists and invokes an NM_STATUS status indication. The latter will allow the application to handle failures immediately. Since all STATUS messages should be handled, the function is already called in bssgp_rcvmsg and the message is no longer handled in (and will not reach) bssgp_rx_sign and bssgp_rx_ptp. Ticket: OW#1414 Sponsored-by: On-Waves ehf
2015-03-18bssgp: Don't reply with STATUS when receiving a PtP STATUS messageJacob Erlbeck1-0/+2
Currently each incoming PtP BSSGP STATUS message is handled as 'not yet implemented' and a BSSGP STATUS message (cause BSSGP_CAUSE_PROTO_ERR_UNSPEC) is sent back to the peer. This will cause endless messages loops if both peers use this BSSGP stack implementation. This does not apply to signalling messages. This commit changes the implementation of bssgp_rx_ptp() to just do logging in this case. Sponsored-by: On-Waves ehf
2015-03-18logging: Implement subsecond resolution of extended timestampsJacob Erlbeck1-4/+7
Currently when using 'logging print extended-timestamp 1', the subsecond part (milliseconds) of the printed timestamp is always 0. This makes it difficult to correlate log entries with PCAP file entries if there are many of them per second. This patch changes _output in logging.c to use gettimeofday() instead of time() when extended timestamps are enabled and replaces the '000' by the milliseconds computed from tv_usec. Sponsored-by: On-Waves ehf
2015-03-14debian: Aim for a higher standards versionHolger Hans Peter Freyther1-1/+1
2015-03-14debian: Move to multi-arch support in libosmocoreHolger Hans Peter Freyther10-13/+24
Enable multi-arch support in libosmocore. This means the package can not be built on squeeze anymore. The concept of "foreign" is not really well documented but I think I use it correctly here.
2015-01-27vty: Fix typo in the state creationHolger Hans Peter Freyther1-1/+1
This got introduced in 2d6ad13d8daf860595e6d4025861e122ce574871 and I thought that our vty tests would have caught such mistakes.
2015-01-27debian: Add pcsc build depends and pkg-config for the m4 macroHolger Hans Peter Freyther1-1/+1
2015-01-18core/gsmtap: LTE RRC message types and LTE MAC definealtaf1-0/+15
Submitted-by: altaf <altaf329@gmail.com> Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
2015-01-18Prepare a new libosmocore release0.8.0Holger Hans Peter Freyther7-9/+12
2015-01-18ctrl: Link to libraries we use symbols fromHolger Hans Peter Freyther1-1/+4
Fixes: dpkg-shlibdeps: warning: symbol vector_free used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol vector_set used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol vector_set_index used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol tall_vty_vec_ctx used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol ipa_msg_recv_buffered used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol cmd_free_strvec used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol vector_lookup used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol vector_lookup_ensure used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol cmd_make_strvec used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol vector_init used by debian/libosmoctrl0/usr/lib/libosmoctrl.so.0.0.0 found in none of the libraries
2015-01-18sim: Link to libosmocore and libosmogsmHolger Hans Peter Freyther1-2/+5
The big LIBOSMOCORE_CFLAGS and LIBOSMOCORE_LIBS macros are not defined when building linosmocore. Use the .la files directly Fixes: dpkg-shlibdeps: warning: symbol osmo_hexdump used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol gsm48_parse_ra used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _talloc_zero used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol _talloc_memdup used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol talloc_strndup used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol msgb_length used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol msgb_alloc used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol msgb_free used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol talloc_strdup used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries dpkg-shlibdeps: warning: symbol talloc_free used by debian/libosmosim0/usr/lib/libosmosim.so.0.0.0 found in none of the libraries
2015-01-18misc: Ignore a file generated by doxygenHolger Hans Peter Freyther1-0/+2
2015-01-01Supplementary Services (de)activation, interrogation addedTobias Engel6-33/+262
These patches enhance the Supplementary Service (SS) processing from only being able to handle USSD to other SS, specifically activation, deactivation and interrogation of those SS. Registration is not yet implemented. include/osmocom/gsm/protocol/gsm_09_02.h has been added with needed values for SS. Modified by Harald Welte to keep the old ussd-only functiosn for API/ABI stability.