summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* fixupHarald Welte2014-12-301-0/+4
|
* add gsm0341_test to generate SMSCB hex stringsHarald Welte2014-12-293-1/+59
| | | | Those hex strings can then be copy+pasted into the OSmoNITB VTY
* log: "logging level everything" is a badly named option.Holger Hans Peter Freyther2014-12-281-1/+1
| | | | | | | | | | We tried to fix it but it isn't that easy. The original fix was cd6ed82d1ff48f47ad9e33e6322df62896a76ed5 but we had to revert it as "everything" is present/used in existing config files. If we ever change the ABI we can make everything be something that is > 0. For now use a wording that makes it obvious that people should not use "everything".
* libosmo-gsm: Add PCHAN/LCHAN types for CBCHHarald Welte2014-12-281-0/+2
|
* ipa: Return -errno instead of -1 in ipa_sendJacob Erlbeck2014-12-221-1/+1
| | | | | | | | | | | | | Currently, the ipa_send function returns -1 in one execution branch to indicate an error and -EIO in another. This is not consistent and can lead to a misinterpretation of the error code, since -1 is -EPERM and in general, EPERM is not returned by write(2). This patch changes the return code to -errno instead of -1 for the case that write(2) fails for same reason. So -rc is always a sensible error value if there is a failure. Sponsored-by: On-Waves ehf
* logging: Call color only once and use the resultHolger Hans Peter Freyther2014-12-051-1/+1
| | | | | | First we check if a color is defined and then we call it again and use the result. Avoid the second call and use the result of the previous call.
* logging: Make it possible to print category/subsys and timestampsHolger Hans Peter Freyther2014-12-052-4/+95
| | | | | | | | | | | | We want to see from which category/subsystem a certain log message is coming from and use a different timestamp format as well. Add two new bitfields. This doesn't change the size of the structure and on 32bit we still have 27bits left. The extended timestamp will take preference over the current and default timestamp format. Fixes: SYS#602
* gtp: Add a global region for the gtp library of OpenGGSNHolger Hans Peter Freyther2014-12-041-0/+5
| | | | | We want to use libosmocore/libosmovty in the GGSN sourcecode and reserve a global region here.
* vty: Check with the application before writing the configHolger Hans Peter Freyther2014-12-041-0/+9
| | | | | | | | | For the BSC/NITB application we see that people modify the band without modifying the ARFCN. This creates an unbootable config. Using the new hook the BSC/NITB can check if the config is consistent and prevent the config file being written. Related: SYS#739
* fix libosmocore build for NuttX targetHarald Welte2014-12-044-2/+18
| | | | | | this fixes some compilation issues with libosmocore under NuttX, particularly as some #defines are missing or some header files are slightly different.
* vty/vector.c: Use string.h, not memory.hHarald Welte2014-11-141-1/+1
|
* remove references to u_long type, use 'unsigned long' insteadHarald Welte2014-11-142-3/+3
| | | | .. Nuttx doesn't know u_long
* remove references to u_char type, use 'unsigned char' insteadHarald Welte2014-11-142-2/+2
| | | | ... u_char not being defined on Nuttx.
* strrb.c: Use string.h, not strings.hHarald Welte2014-11-141-1/+1
| | | | Not all systems have strings.h
* select.c: Add missing #include lines for string.h and sys/select.hHarald Welte2014-11-141-0/+2
| | | | This is needed on Nuttx.
* bssgp: Fix VTY command 'show bssgp nsei N'Jacob Erlbeck2014-11-101-1/+1
| | | | | | | | | | Currently this command segfaults (at least when ASAN is enabled), because when getting the NSEI the index to argv is wrong and out of bounds. This patch fixes the offset. Sponsored-by: On-Waves ehf
* sim: reader_pcsc:Remove dead codeHarald Welte2014-10-271-2/+0
| | | | | | PCSC_ERROR() macro is already performing error checking. Found by coverity.
* pcsc: Fix the include pathHolger Hans Peter Freyther2014-10-271-2/+2
| | | | | | | | | | | | | | The pkg-config file already points into the PCSC directory. This is needed for FreeBSD where /usr/local/include is not in the default compiler search path. On Debian $ pkg-config --cflags libpcsclite -pthread -I/usr/include/PCSC On FreeBSD $ pkg-config --cflags libpcsclite -I/usr/local/include/PCSC -D_THREAD_SAFE -pthread
* sttrb / loggingrb: Use GPLv2+ as license, not AGPLv3+Harald Welte2014-10-262-2/+2
| | | | | according to Holger, using AGPLv3+ at the time was a mistake and the license should always have indicated GPLv2+.
* Change copyright notice of ipa.c to GPLv2+Harald Welte2014-10-261-4/+4
| | | | ... which it should have been all along.
* Change license of gsm0411_smc/smr to GPLv2+Harald Welte2014-10-263-12/+12
| | | | | | libosmocore.{so,a} should always have been GPLv2+. However, when migrating some code from OpenBSC or OsmocomBB, we sometimes introduced it with a wrong license header.
* Change license of libosmogb from AGPLv3+ to GPLv2+Harald Welte2014-10-268-32/+32
| | | | | | | | | | | The copyright holders Harald Welte, Holger Freyther, Andreas Eversberg and sysmocom - s.f.m.c. GmbH (represented by Holger and Harald) agree that the license of libosmogb should be GPLv2+ and not AGPLv3+. The reason the source files stated AGPLv3+ is due to the history, as they were moved from OpenBSC to libosmocore at the time we needed to use them from osmo-pcu. It was an oversight back then to not re-license them accordingly.
* make sure to register DF.TELECOM and DF.GSM for SIM, USIM + TSIMHarald Welte2014-10-264-42/+56
| | | | | before we only did it partially, and by exporting data from sim, rather than the new osim_int_cprof_add_{gsm,telecom}() functions.
* sim: More talloc return NULL checkingHarald Welte2014-10-261-0/+8
|
* sim: Prepare infrastructure for protocols != T=0 and other driversHarald Welte2014-10-263-16/+40
|
* sim: Make TETRA SIM (TSIM) support compileHarald Welte2014-10-262-183/+134
|
* sim: Only one default_decode() function for all card typesHarald Welte2014-10-265-37/+15
|
* sim: Add 3GPP TS 31.103 ISIM definitionsHarald Welte2014-10-262-1/+117
|
* sim: Update to latest SIM/USIM specs and include size informationHarald Welte2014-10-263-175/+335
|
* sim: reader_pcsc.c: Avoid compiler warnings by using pcsc-lite LONGHarald Welte2014-10-261-3/+3
|
* sim: mark osim_msgb_cb as __may_alias__ to avoid gcc warningsHarald Welte2014-10-261-0/+315
|
* sim: further updates/fixesHarald Welte2014-10-264-3/+16
|
* sim: add decoding of status wordsHarald Welte2014-10-261-2/+54
|
* sim: replaced function/structure comments with doxygen commentsKevin Redon2014-10-261-8/+12
| | | | | affected files: sim.h, sim/core.c affected funtions/strucutres: osim_new_apdumsg, osim_apdu_case,osim_apdu_cmd_hdr, osim_msgb_cb
* sim: renamed case to the one defined in ISO7816-3Kevin Redon2014-10-262-18/+18
| | | | | | | | | APDU_CASE_2 becomes APDU_CASE_2S APDU_CASE_2_EXT becmoes APDU_CASE_2E APDU_CASE_3 becomes APDU_CASE_3S APDU_CASE_3_EXT becmoes APDU_CASE_3E APDU_CASE_4 becomes APDU_CASE_4S APDU_CASE_4_EXT becmoes APDU_CASE_4E
* sim: comment/explain signature of osim_new_apdumsgKevin Redon2014-10-261-2/+9
|
* sim: strip the SW from the returned data, as SW is passed in msgb->cbHarald Welte2014-10-261-2/+5
|
* sim: Use autotools for libpcsc-lite linkageHarald Welte2014-10-261-4/+8
|
* sim: add copyright notices and merge file_codec.c into core.cHarald Welte2014-10-268-39/+163
|
* initial checkin of 'libosmosim'Harald Welte2014-10-2610-0/+1487
|
* gprs: Don't discard SUSPEND/RESUME in bssgp_rcvmsgJacob Erlbeck2014-10-231-18/+26
| | | | | | | | | | | | | | | Currently sending SUSPEND/RESUME messages to this function (like it is done in the osmo-sgsn) results in STATUS messages complaining about an unknown BVCI. The reason is, that these messages rely on a TLLI/RAI pair to identify the context and do not contain an explicit BVCI. This patch modifies bssgp_rcvmsg() to only complain about and unknown BVCI if one is given but a matching context is not found (except for RESET messages). The ctx argument is removed from the functions handling SUSPEND and RESUME since it will always be NULL then. Sponsored-by: On-Waves ehf
* Move common socket routine into separate functionMax2014-10-131-29/+24
| | | | Signed-off-by: Max <max.suraev@fairwaves.co>
* bssgp: Free msgb in case of error when calling into gprs_ns_sendmsgHolger Hans Peter Freyther2014-10-101-0/+3
| | | | | | | | | | | | | | | | | | | | | In the OsmoSGSN we have a crash with a DEAD/BLOCKED GPRS-NS and segmented SN-UNITDATA. For the caller it is not easy to know if the passed msg buffer has been freed or not. The most easy solution is to always take the ownership and either pass it on or free it in case of an error. Adjust indirect and direct callers of gprs_ns_sendmsg. I found the following call-chains with an external msgb parameter. gprs_ns_sendmsg <- _bssgp_tx_dl_ud <- bssgp_fc_in <- bssgp_tx_dl_ud Update the test to allocate a real msgb because for the test with '1000' we will msgb_free it right away. Sponsored-by: On-Waves ehf
* gprs-ns: Fix reset state handlingJacob Erlbeck2014-10-091-5/+4
| | | | | | | | | | | | | | | | | | | | Currently the NS-VC's state is updated from within gprs_ns_tx_reset, which can lead to an inconsistent state when the RESET_ACK is lost. In this state, the NSE_S_RESET bit is set but the Tns-reset timer is not started. This patch moves the state update into gprs_nsvc_reset. This way, the state flags are consistent with the timer. Addresses: SGSN -> BSS NS_ALIVE BSS -> SGSN NS_ALIVE_ACK BSS -> SGSN BVC_RESET SGSN -> BSS NS_STATUS, Cause: NS-VC blocked, NS VCI: 0x65 and there is no BSS->SGSN NS_ALIVE Ticket: OW#1213 Sponsored-by: On-Waves ehf
* gprs-ns: Let gprs_nsvc_reset return a valueJacob Erlbeck2014-10-091-2/+7
| | | | | | | | | | Currently gprs_nsvc_reset does not return any value. This patch changes the function to return an integer, where a value less than zero indicates an error. The value is taken from the gprs_ns_tx_reset function. In case of failure, an error message is logged. Sponsored-by: On-Waves ehf
* build: remove unused all_includes and use AM_CPPFLAGSJan Engelhardt2014-10-035-5/+10
| | | | | Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the unused all_includes variable, which is never set.
* misc: Look into the build directory for generated filesHolger Hans Peter Freyther2014-09-254-4/+4
| | | | | | the bits/crc files are not inside the sourcedirectory but will end in the build directory. Go and look there as well. This somehow doesn't fail with make distcheck but when building for Yocto Dizzy.
* gprs: Set bssgph field in bssgp_msgb_alloc()Jacob Erlbeck2014-09-231-1/+3
| | | | | | | | | | Currently the bssgph field is not set when using the bssgp_tx_* functions. This hinders unit testing of generated messages. This patch initializes the bssgph field directly after allocation a new bssgp msgb in bssgp_msgb_alloc() so that it is set by default. Sponsored-by: On-Waves ehf
* gprs: Fix bssgp_rcvmsg to handle signalling msgs with BVCI IEJacob Erlbeck2014-09-231-3/+7
| | | | | | | | | | | | | | | | | | | Currently BSSGP messages with an NS BVCI of 0 (signalling) are discarded if they aren't RESET messages. Thus valid signalling messages (e.g. BLOCK) are not handled properly, because the BVCI IE is ignored if it present. Instead a STATUS message referring to BVCI 0 (instead of the BVCI used in the BLOCK message) is returned. This patch changes the implementation to use the BVCI contained in the BVCI IE if that is present in a signalling message. It fixes BSSGP BLOCK/UNBLOCK for the osmo-sgsn. Note that signalling messages without an BVCI IE (e.g. SUSPEND/RESUME) are still rejected. Ticket: OW#1205 Sponsored-by: On-Waves ehf
* gprs: Fix and check BVCI in BSSGP STATUS messagesJacob Erlbeck2014-09-232-1/+15
| | | | | | | | | | | | | | Currently the BVCI is not set in all invocations to bssgp_tx_status() when the cause is UNKNOWN_BVCI. This patch adds the argument where it is missing. It also adds a check for compliance (GSM 08.18, 10.4.14.1) to bssgp_tx_status() to emit errors when the following requirement is not fulfilled: The BVCI must be included if (and only if) the cause is either "BVCI blocked" or "BVCI unknown". Sponsored-by: On-Waves ehf