AgeCommit message (Collapse)AuthorFilesLines
2018-01-16fix build: missing LIBGTP_CFLAGS in sgsn_testNeels Hofmeyr1-0/+1
Change-Id: I250cadecaf90238df1afa6997e5d165fb9eee8b6
2018-01-12Remove unused bsc_version.cMax3-32/+0
Change-Id: Ib3f52c3e4cbd08b28f99d613aa18c6b00c71ead9
2018-01-12gtphub: make rate_ctr uniqueMax1-8/+25
* compute unique rate counter index when allocating new gtphub tunnel * propagate rate counter allocation error to upper layers * log and gracefully handle tunnel allocation error Change-Id: I0e07f95c36de369bcd0691b8d0fd47c844abe5da Related: OS#2757
2018-01-11gprs_llc: tx dl ud: make mismatching LLE not crash osmo-sgsnNeels Hofmeyr1-2/+9
On 34c3, osmo-sgsn keeps restarting. At least once, it hits the assertion that this patch replaces with an error message, to not disrupt operation. Change-Id: I07a40960920dbc594192530c3a145f9a5d2a9c81
2018-01-08Fix RAI constructionMax1-2/+2
The gsm48_construct_ra() expect 6-byte buffer while ra_id.digits is 3-byte buffer. The function fills in LAC and RAC as well so we should pass entire struct, not just 'digits' part which only store MCC/MNC. Related: OS#1640 Change-Id: I3bfda930012c792452f9fd695ed7acf46365f1df Fixes: CID57877, CID57876
2018-01-07gprs_gmm: Convert warning message to pragma messagePau Espin Pedrol1-1/+1
This way we can enable -Werror in builds to disallow new compilation warnings being introduced. Change-Id: If2b9a618f4219df9e013095beff52c20aacbc79e
2018-01-07cosmetic: gprs_gmm: Remove trailing whitespacePau Espin Pedrol1-2/+2
Change-Id: Ie2466268fbc4699a366856d467660b17e3f7e307
2018-01-07gprs_gmm: Remove unused variablePau Espin Pedrol1-2/+2
Fixes following compilation warning: osmo-sgsn/src/gprs/gprs_gmm.c: In function ‘gsm48_rx_gmm_service_req’: osmo-sgsn/src/gprs/gprs_gmm.c:1786:10: warning: variable ‘ciph_seq_nr’ set but not used [-Wunused-but-set-variable] uint8_t ciph_seq_nr, service_type, mi_len, mi_type; ^~~~~~~~~~~ Change-Id: If0819026a99f45df96ee6de26a71c16128e79cb8
2018-01-07cosmetic: tests: sgsn_test: Use proper formatting and remove uneeded semicolonsPau Espin Pedrol1-6/+7
Change-Id: I144175b89f8058f6f8dedfa931c6768d9c43b70e
2018-01-07tests: sgsn_test: Define wrap APIs with correct parametersPau Espin Pedrol1-4/+8
Fixes following compilation warnings: osmo-sgsn/tests/sgsn/sgsn_test.c: In function ‘test_gmm_attach_subscr’: osmo-sgsn/tests/sgsn/sgsn_test.c:1110:30: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] subscr_request_auth_info_cb = my_subscr_request_auth_info; ^ osmo-sgsn/tests/sgsn/sgsn_test.c: In function ‘test_gmm_attach_subscr_fake_auth’: osmo-sgsn/tests/sgsn/sgsn_test.c:1144:30: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] subscr_request_auth_info_cb = my_subscr_request_auth_info_fake_auth; ^ osmo-sgsn/tests/sgsn/sgsn_test.c: In function ‘test_gmm_attach_subscr_gsup_auth’: osmo-sgsn/tests/sgsn/sgsn_test.c:1275:30: warning: assignment from incompatible pointer type [-Wincompatible-pointer-types] subscr_request_auth_info_cb = my_subscr_request_auth_info_gsup_auth; ^ Change-Id: I5fcb3d460d8becb4cc917fc8d27bfc7e49d50b90
2017-12-28Remove obsolete ./configure optionMax3-8/+3
The '--enable-vty-tests' is just alias to '--enable-external-tests' anyway. Change-Id: I6230cfcf10247b601e16e7b872305499815520a9
2017-12-27Migrate from OpenSSL to osmo_get_rand_id()Max13-66/+57
This avoids potential licensing incompatibility and makes integration of Debian packaging patches easier. The libosmocore version requirements are fine already but for jenkins tests to pass we have to have Ic77866ce65acf524b768882c751a4f9c0635740b merged into libosmocore master. Related: OS#1694 Change-Id: I2b687b7f07ef05bbd861b8479cad5a958a3dde92
2017-12-26Use connection id when allocating rate countersMax1-3/+5
Due to recent libosmocore's change we can't allocate rate counters with the same name and index which are already allocated. This causes sgsn_mm_ctx_alloc_iu() failure for multiple subscribers. Fix this by using conn_id parameter from ranap_ue_conn_ctx. Change-Id: I1062ffdcac96c82269cab6f4e7ae50e28dc3aa44 Related: OS#2757
2017-12-26cosmetic: use macro for gtphub plane iterationMax1-1/+1
Change-Id: If82fcd9f6509da60e6f0d916fe107de1b38bfd18
2017-12-21Enable sanitize for CI testsMax1-1/+1
While at it, also remove unsupported ./configure options remaining since before repo split. Change-Id: I77b3375fd680be269fd2df7db61ece6c5d1754ba
2017-12-20Remove dead codeMax1-4/+0
Get rid of ifdefs around old unused code to improve readability. Change-Id: Ia80cf845b624d520d67143b61c9de3d49074cb8c
2017-12-20Replace '.' in counter names with ':'Max3-3/+3
The '.' is illegal character in counter names, as they are exported via CTRL interface, where '.' has a special meaning that cannot be used by strings comprising the variable name. Change-Id: I4eb6851d3577f5942ae1a9ab28d3b3ca7ab8e208
2017-12-20gsm48_rx_gmm_att_req: fix error handling: don't clean up NULL llmeNeels Hofmeyr1-1/+1
Change-Id: I78903d0846568d4e98b6e43e62bbe3c329b5bc68
2017-12-20.service: remove OpenBSC from service desriptionAlexander Couzens1-1/+1
Change-Id: I555939235437a0b3253a1236a918e1f491ed9d3a
2017-12-20gprs_gmm: segfault: gracefully handle failure to alloc contextNeels Hofmeyr1-0/+4
This counter allocation error I hit uncovers a segfault when allocating an MM context fails in the GSM_MI_TYPE_TMSI case: DRANAP <001a> ../../../src/osmo-iuh/src/iu_client.c:509 handle_co_initial(dir=1, proc=19) DRANAP <001a> ../../../src/osmo-iuh/src/iu_client.c:229 RNC 23: new LAC 24358 RAC 22 DMM <0002> ../../../../src/osmo-sgsn/src/gprs/gprs_gmm.c:1271 MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3427325924) type="GPRS attach" DLGLOBAL <001d> ../../../src/libosmocore/src/rate_ctr.c:195 counter group 'sgsn:mmctx' already exists for index 0 DMM <0002> ../../../../src/osmo-sgsn/src/gprs/gprs_sgsn.c:272 MM(/00000000) Cannot allocate counter group Program received signal SIGSEGV, Segmentation fault. gsm48_rx_gmm_att_req (llme=0x0, msg=0x555555886950, ctx=0x0) at ../../../../src/osmo-sgsn/src/gprs/gprs_gmm.c:1375 1375 ctx->p_tmsi = tmsi; Fix it with a bit of code already present for the GSM_MI_TYPE_IMSI case just above the segfault. Change-Id: I49aa95b610f2faec52dede2e4816da47ca1dfb14
2017-12-19Remove unneeded .py scriptsMax8-863/+2
The ipa.py has been moved to osmo-python-tests as osmo_ipa - use it for vty and ctrl tests instead of local copy. The soap.py and twisted_ipa.py are not SGSN-specific: leftovers from repository split which are now available in osmo-python-tests as well. Change-Id: I3ef4ca790878921a5846f64942a8de8a6ff9c11c
2017-12-16configure.ac: remove unused libcdk checkAlexander Couzens1-5/+0
libcdk isn't used Change-Id: Iea2d61b34e9242bf59a1eb242c5cf1d82f625f2e
2017-12-16configure.ac: remove pcap checkAlexander Couzens1-4/+0
libpcap isn't used in osmo-sgsn Change-Id: I47880dba1f6855f31b5b6481eeb1027abc2a2671
2017-12-16.gitignore: remove non-existent /src/utils exludesAlexander Couzens1-5/+0
Change-Id: I674da025df4b5d6bcf585a0c764ff186c9281121
2017-12-05Show GTP version for PDP context in vtyMax1-2/+2
Change-Id: Id1692e99ae0d2b78e9473f6139e6e430fcd6a607
2017-12-05Fix display of GTP addressesMax1-5/+5
Previously we've tried to convert addresses manually which lead to wrongly displayed GTP addresses (e. g. '' instead of ''). Use libgtp function for conversion to fix it. Change-Id: I695a9c9497d675564a088b002299096e0dcd267d
2017-11-29Add vty cmd 'cdr trap' to send CDR through CTRL ifacePau Espin Pedrol4-27/+70
Default behavior is to have them disabled, and can be explicitly disabled too by using 'no cdr trap' cmd. Tested with osmo_ctrl.py that messages are send successfully: TRAP 0 cdr-v1 20171129125950222,901700000015254,357737055592090,555,0,5,,pdp-periodic,2731,,,internet,,20793,10045,1 Related: OS#2360 Change-Id: I1d144d87effd934d991257a65e19cf046a938907
2017-11-29sgsn_cdr: Split log formatting into a snprintf functionPau Espin Pedrol1-30/+51
This function is going to be re-used to send TRAP messages over CTRL interface. Related: OS#2360 Change-Id: I0d87df578db1d8c220fd63376e03866895d2aa0d
2017-11-28tests: Fix selection of python versionPau Espin Pedrol4-5/+8
According to documentation (and personal experience), AM_PATH_PYTHON selects the highest version of python, no matter if major version is different, which means if both python2 and 3 are available, 3 will be chosen an PYTHON will point to "/.../python" which is python3. Apparently, the macro cannot be easily used to pick highest python2 version. As {vty,ctrl}_test_runner.py require python2 and are incompatible with python3, let's instead rely on the system having a "python2" binary available, which is the case in most distros. Change-Id: If8e57924ed2c8da7ab7692f58a4bb5c5a970484f
2017-11-28Replace '.' in counter names with ':'Pau Espin Pedrol1-14/+14
'.' is an illegal character in counter names, as they are exported via CTRL interface, where '.' has a special meaning that cannot be used by strings comprising the variable name. Change-Id: Ie7734cc42151581897d220b445984448ceb57aed
2017-11-24use default point-code as listed on Point_Codes wiki pageNeels Hofmeyr1-1/+2
see https://osmocom.org/projects/cellular-infrastructure/wiki/Point_Codes Change-Id: Ie11f1dfcdd5889d44fefe6cc10472ef1a794cc64
2017-11-21Replace '.' in counter names with ':'Harald Welte1-23/+23
'.' is an illegal character in counter names, as they are exported via CTRL interface, where '.' has a special meaning that cannot be used by strings comprising the variable name. Change-Id: Iec382ec4ee54beb2937431f5a9d8d1171224eebb
2017-11-18add --enable-sanitize config optionNeels Hofmeyr1-0/+12
Change-Id: I3be01e0682b479a71c545f718b68c441a1011b0f
2017-11-15debian: remove doublicated project name in example filesAlexander Couzens3-3/+6
For example: /usr/share/doc/osmo-sgsn/examples/osmo-sgsn/osmo-sgsn.cfg -> /usr/share/doc/osmo-sgsn/examples/osmo-sgsn.cfg Change-Id: I77f9665e78e3e55910efb30cb50cefdb138e19f7
2017-11-15tests/ctrl_test_runner.py: remove BSC/NAT TestRunnerAlexander Couzens1-371/+0
SGSN was splitted out of OpenBSC. Change-Id: Ie4e44e49e5c904929869b47fc4d608aab1aab75e
2017-11-15.gitignore: remove unneeded ignores of bsc/msc/nitb filesAlexander Couzens1-21/+0
sgsn was splitted out of the openbsc repository Change-Id: I66905432c411291630f66579fa4177936c8f2bcf
2017-11-01vty: skip installing cmds now always installed by defaultNeels Hofmeyr3-3/+0
vty_install_default() and install_default() will soon be deprecated. Depends: I5021c64a787b63314e0f2f1cba0b8fc7bff4f09b Change-Id: Iee1b582a62921cb3205de01ff87d94881e8d411b
2017-11-01change default config filename to osmo-sgsn.cfg, not osmo_sgsn.cfgNeels Hofmeyr1-2/+26
All other Osmocom programs I know of have a default config file using a dash. Comply. Be backwards compatible: when a legacy osmo_sgsn.cfg exists but no osmo-sgsn.cfg, use the old config file instead. (Verified to work by manual tests.) Change-Id: If804da17a7481e79e000fe40ae0d9c4be9722e61
2017-10-31drop osmo_sgsn.cfg from src/gprs dirNeels Hofmeyr1-23/+0
There is a semantically identical config in doc/examples/osmo-sgsn. Change-Id: I9b9c502afbddcfc02ea70aa8317e0d2f37276c38
2017-10-28Tag/Release Version Welte1-0/+52
Change-Id: I44bee346fd698bd51ef305813084afdce0099907
2017-10-28Debian: fix dh_strip rules for creating one -dbg per programHarald Welte1-3/+3
Before this patch, all debug symbols end up in osmo-sgsn-dbg, with osmo-{gbproxy,gtphub}-dbg being empty. Change-Id: Ib2ceecb3527855350b69d7413efe42274dc6febd
2017-10-28Debian: Add systemd service files for osmo-sgsn and osmo-gbproxyHarald Welte2-0/+2
Change-Id: I5a5a80bb19c521e8f20241ed8c02d65b4c937f23
2017-10-28jenkins: use osmo-clean-workspace.sh before and after buildNeels Hofmeyr1-1/+4
See osmo-ci change I2409b2928b4d7ebbd6c005097d4ad7337307dd93 for rationale. Depends: I2409b2928b4d7ebbd6c005097d4ad7337307dd93 Change-Id: I7c3ecd83899f873bdc771ff7445740fea15900ef
2017-10-27Log address on GTP creationMax1-0/+2
Change-Id: Ic54a2ff835c9a0ceccf2f718f56371a881dd25b7
2017-10-27Log GTP-U endpoints updateMax3-5/+9
* make gtp_ntoa() public after renaming it to sgsn_gtp_ntoa() to avoid confusion with libgtp functions * use it to log GTP-U endpoints address updates Change-Id: I96d0f3a63cce338471cc39cc33fd44c39cd2aa73 Related: SYS#3610
2017-10-26jenkins: check for IU properlyMax1-1/+1
The bug fixed by Idb034bf2ae749204836ab7e02018d769bb242a9f was not detected by jenkins because it installs libosmo-sccp unconditionally. Let's be more strict and install it only when necessary for IU builds to make sure we can catch such bugs in future. Change-Id: I573c7fec687edb71d79815b38a3bcf96273c03b3
2017-10-26Fix libosmo-sigtran dependencyMax1-2/+4
That's follow-up fix for I72819462db0b4656fabaa80731342d06ae91fcdf to make sure IU builds are properly conditioned. Change-Id: Idb034bf2ae749204836ab7e02018d769bb242a9f
2017-10-26gbproxy: don't link unnecessaryMax2-3/+0
* remove sigtran include from common_vty.c because nothing uses it * remove LIBOSMOSIGTRAN_LIBS from generic OSMO_LIBS * remove LIBOSMOABIS_LIBS from generic OSMO_LIBS Both LIBOSMOSIGTRAN and LIBOSMOABIS are linked explicitly when necessary already anyway. Change-Id: I015a9d858bc2a95f8c9a4aedd3e0a84eadcf84e1
2017-10-25configure: fix libosmo-sigtran dependencyPhilipp Maier1-1/+1
the configure script requires libosmo-sigtran even when IU is not enabled. move the line that checks for libosmo-sigtran into the conditional branch for IU Change-Id: I72819462db0b4656fabaa80731342d06ae91fcdf
2017-10-25non-iu-build: guard vty libosmo-sigtran function calls.Philipp Maier1-0/+6
The function calls osmo_ss7_vty_go_parent() and gtphub_vty_is_config_node() are not guarded by an ifdef. The functions are only needed for IU support where libosmo-sigtran is used. Guard the function calls with a BUILD_IU Change-Id: I1c609ef0c344ce825c313335c7e084bf97159262