summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sim: add missing const to reader_ops member of reader_handleHarald Welte2014-10-261-1/+1
|
* sim: Prepare infrastructure for protocols != T=0 and other driversHarald Welte2014-10-265-20/+59
|
* sim: More comments in sim.hHarald Welte2014-10-261-12/+44
|
* sim: Make TETRA SIM (TSIM) support compileHarald Welte2014-10-263-183/+143
|
* 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: Make osmo-sim-test compile againHarald Welte2014-10-261-1/+1
|
* 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-262-1/+316
|
* sim: Add sfi to EF_*() macrosHarald Welte2014-10-261-11/+14
|
* sim: Add minimal/recommended size of file / recordHarald Welte2014-10-261-15/+29
|
* sim: further updates/fixesHarald Welte2014-10-265-4/+19
|
* sim: add decoding of status wordsHarald Welte2014-10-263-4/+65
|
* sim: replaced function/structure comments with doxygen commentsKevin Redon2014-10-262-27/+51
| | | | | affected files: sim.h, sim/core.c affected funtions/strucutres: osim_new_apdumsg, osim_apdu_case,osim_apdu_cmd_hdr, osim_msgb_cb
* sim: add comment/explaination for structure osim_msgb_cbKevin Redon2014-10-261-4/+5
|
* sim: add comment/explaination for structure osim_apdu_cmd_hdrKevin Redon2014-10-261-5/+6
|
* sim: added utils/osmo-sim-test to .gitignoreKevin Redon2014-10-261-0/+1
|
* sim: renamed case to the one defined in ISO7816-3Kevin Redon2014-10-263-24/+24
| | | | | | | | | 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: add comment/explaination for structure osim_apdu_caseKevin Redon2014-10-261-8/+8
|
* 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-262-5/+8
|
* sim: Use autotools for libpcsc-lite linkageHarald Welte2014-10-262-4/+18
|
* sim: add copyright notices and merge file_codec.c into core.cHarald Welte2014-10-269-45/+186
|
* sim: osmo-sim-test: Also dump binary filesHarald Welte2014-10-261-10/+39
|
* initial checkin of 'libosmosim'Harald Welte2014-10-2617-2/+2147
|
* msgb: make msgb_get() finally work as expectedHarald Welte2014-10-261-1/+1
|
* misc: Ignore the new test file as wellHolger Hans Peter Freyther2014-10-251-0/+1
|
* bssgp: Include sys/socket.h for AF_INET on FreeBSDHolger Hans Peter Freyther2014-10-251-0/+1
|
* gprs: Don't discard SUSPEND/RESUME in bssgp_rcvmsgJacob Erlbeck2014-10-233-20/+30
| | | | | | | | | | | | | | | 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
* gprs/test: Add BSSGP testsJacob Erlbeck2014-10-234-2/+168
| | | | | | | | This patch adds a test suite for the BSSGP protocol. The first (and only) test checks the handling of BSSGP SUSPEND/RESUME. 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-102-4/+11
| | | | | | | | | | | | | | | | | | | | | 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/test: Check the nsvc state explicitelyJacob Erlbeck2014-10-091-0/+7
| | | | | | | This patch extends test_sgsn_reset_invalid_state by assertions to check that nscv->state and nsvc->remote_state have been set as expected. Sponsored-by: On-Waves ehf
* gprs-ns/test: Re-add return value check for gprs_nsvc_resetHolger Hans Peter Freyther2014-10-091-1/+3
| | | | | | | | | | | | | The return value check has been removed in the commit 'Use gprs_nsvc_reset instead of gprs_ns_tx_reset', because gprs_nsvc_reset had no return value then. Since a compatible return value has been added by 'Let gprs_nsvc_reset return a value', the former patch is partly reverted by this commit. The printf is now an OSMO_ASSERT. The commit message was taken from Jacob. Sponsored-by: On-Waves ehf
* gprs-ns: Fix reset state handlingJacob Erlbeck2014-10-093-11/+27
| | | | | | | | | | | | | | | | | | | | 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-092-3/+8
| | | | | | | | | | 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
* gprs-ns/test: Add test_sgsn_reset_invalid_stateJacob Erlbeck2014-10-092-0/+163
| | | | | | | | | | | | | This tests the behaviour for a certain combination of messages and packet losses that can put the NS-VC object into an undefined state. In that state, the peer's ALIVE messages are properly answered, but the local test procedure has stopped, incoming unitdata PDUs are answered by STATUS(NS-VC blocked) and the unblocking procedure is not initiated. Ticket: OW#1312 Sponsored-by: On-Waves ehf
* gprs-ns/test: Add expire_nsvc_timerJacob Erlbeck2014-10-091-0/+15
| | | | | | | | | This function forces the expiration of the timer within struct gprs_nsvc. It is meant to be used for controlled (and faster) timer expiration in unit tests. The timer_mode of the expired timer is returned (or -1 if the timer wasn't active). Sponsored-by: On-Waves ehf
* gprs-ns/test: Save the last PDU type sentJacob Erlbeck2014-10-091-0/+4
| | | | | | | | | | | This records the PDU type of the last message sent to the remote peer in the global variable sent_pdu_type, which can then be used in assertions. Note that sent_pdu_type will remain unchanged if no message has been sent via sendto. Sponsored-by: On-Waves ehf
* gprs-ns/test: Use gprs_nsvc_reset instead of gprs_ns_tx_resetJacob Erlbeck2014-10-092-22/+13
| | | | | | | | | | Currently gprs_ns_tx_reset is used to let the NS stack generate NS_RESET message. This is not adjusting the nsvc state properly. This patch uses gprs_nsvc_reset instead which starts the full reset procedure. Sponsored-by: On-Waves ehf
* build: resolve compiler warning about implicit delcarationJan Engelhardt2014-10-041-0/+1
| | | | | | | | | CC msgfile_test.o msgfile/msgfile_test.c: In function "main": msgfile/msgfile_test.c:48:2: warning: implicit declaration of function "talloc_free" [-Wimplicit-function-declaration] talloc_free(entries); ^
* build: fix linker error with kasumi_testJan Engelhardt2014-10-031-2/+1
| | | | | | | | | | | | | | | | When the osmocore package is configured with --disable-static, building of kasumi_test fails. This seems quite legit, given the function _kasumi_kgcore is not exported. Don't try to workaround the build system. Include the code. CCLD kasumi/kasumi_test kasumi_test.o: In function `test_expansion': ~tests/kasumi/kasumi_test.c:25: undefined reference to `_kasumi_key_expand' kasumi_test.o: In function `main': ~tests/kasumi/kasumi_test.c:56: undefined reference to `_kasumi' ~tests/kasumi/kasumi_test.c:100: undefined reference to `_kasumi_key_expand' ~tests/kasumi/kasumi_test.c:112: undefined reference to `_kasumi_kgcore' [...]
* build: remove unused all_includes and use AM_CPPFLAGSJan Engelhardt2014-10-038-8/+14
| | | | | Preprocessor flags are best placed in AM_CPPFLAGS. Remove use of the unused all_includes variable, which is never set.
* utils: resolve compiler warnings on implicit declarationsJan Engelhardt2014-10-031-0/+1
| | | | | | | CC osmo-auc-gen.o osmo-auc-gen.c: In function 'main': osmo-auc-gen.c:216:3: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
* 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
* Fix copyright header in gan.cHarald Welte2014-09-111-4/+4
| | | | | When I wrote the gan.c, I used the wrong copyright/license header (AGPLv3+ intead of GPLv2+). This was a mistake and is fixed hereby.