aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-11-20vlr_gsupc_read_cb: fix use after free of GSUP msgbNeels Hofmeyr1-5/+10
osmo_gsup_decode() doesn't actually decode everything, it does leave quite a number of pointers into the original msgb. Hence we must not deallocate the gsup msgb before dispatching GSUP events. Move msgb_free() to the bottom of vlr_gsupc_read_cb() and use rc and gotos to early-exit if needed. Change-Id: I16fc92dcf84e29fcf34712a2e8b0464ef08425ad
2017-11-20sub_pres_vlr_fsm_start: fix heap use after freeNeels Hofmeyr3-14/+20
When sub_pres_vlr_fsm_start() is called, it dispatches an event which may in some cases already cause tear down and free of the parent FSM instance, after which storing the returned instance pointer in that parent's metadata will use freed memory. Instead, pass the target pointer to remember the instance at to sub_pres_vlr_fsm_start() and assign the pointer *before* firing the event. Explain so in a new comment. I haven't checked whether that pointer is actually used at all -- this is the easiest way to fix the use-after-free without getting sucked into semantic questions. Change-Id: Ibdc0b64cd12ba3e2b9737e3517d8484e67abcf04
2017-11-20rate_ctr: don't use . as separatorNeels Hofmeyr1-19/+19
Use ':' as separator, so that no mangled rate_ctr descriptions are allocated. When '.' is used, the rate_ctr mangling code creates tallocs of mangled counter descriptors, and hence affects the amount of expected talloc contexts in msc_vlr_tests.c. Change-Id: Ib1db8e3dc6c833174f1b0b1ca051b0861f477408
2017-11-20cosmetic: move log message to else branchPhilipp Maier1-7/+7
The log message after the nullpointer check for conn tricks Coverity Scan into detecting a nullpointer deref. Include the log message into else branch to state the program flow more clearly Fixes: Coverity CID#178656 Change-Id: If6e962f4033c955ecd3539a719031a83c9b6205a
2017-11-20reset: remove name variable from reset contextPhilipp Maier2-9/+12
The reset context contains a string buffer to allow for setting a human readable name, that is then displayed in the logs. Since OSMO-FSMs already have such a feature there is no need for an extra name variable. Use LOGPFSML and the name parameter of osmo_fsm_inst_alloc() to display the name of the FSM Fixes: Coverity CID#178664 Change-Id: I5b051606791c5e085ca6bb1be20592127d48ceb5
2017-11-18add --enable-sanitize config optionNeels Hofmeyr1-0/+12
Change-Id: I6c0c91abc0d3fa737dbe3db1e6473358da64c2a5
2017-11-16debian/rules: remove doublicated project name in example filesAlexander Couzens1-1/+3
For example: /usr/share/doc/osmo-msc/examples/osmo-msc/osmo-msc.cfg -> /usr/share/doc/osmo-msc/examples/osmo-msc.cfg Change-Id: I702cd963d5c3a2f4085ebce5e0dfa1a8a27ea89f
2017-11-14sms_route_mt_sms: Don't return uninitialized variableHarald Welte1-1/+2
Wen there's no SMPP support compiled in, and routing was successful, we shouldn't return an uninitialized value. Change-Id: I4abbbb5ab336a7e8da08d682f396baec3b56fa3a Fixes: Coverity CID#174176
2017-11-12vlr: auth_fsm_start: check return value of fsm allocNeels Hofmeyr1-1/+4
Fixes: coverity CID#178663 Change-Id: I7d1c15b546377b1afa38f7f40c5421b743e21605
2017-11-08examples: apply mgcp_client vty rename from 'mgcpgw' to 'mgw'Neels Hofmeyr3-3/+3
osmo-mgw.git is changing the mgcp_client_vty API to use 'mgw' instead of 'mgcpgw'. Fix example configs after that patch is merged. Depends: I1d43d42929dc9162e57640499526fb7cadbcfbe6 Change-Id: Ib4c5ec1046a3c7a916ecfb7e5aa83dfe2f5ea8bf
2017-11-01vty: skip installing cmds now always installed by defaultNeels Hofmeyr4-6/+0
vty_install_default() and install_default() will soon be deprecated. Depends: I5021c64a787b63314e0f2f1cba0b8fc7bff4f09b Change-Id: I34708c73d8084db4e6c83a39be8fdaeaa492d743
2017-10-31defaults: assign TMSI by defaultNeels Hofmeyr1-0/+3
When using ciphering, the TMSI is an important part of the ciphering. To guard against users forgetting to set 'assign tmsi' in the config and compromising their ciphering unknowingly, the default should be to use a TMSI. To optimize in an unencrypted network, 'no assign tmsi' config can still switch off TMSI use. Change-Id: If115e95bebc314bedb50faf3993b52071fee5c1e
2017-10-31vty: drop deprecated 'logging level sms...'Neels Hofmeyr1-15/+0
No need to drag legacy VTY from osmo-nitb to osmo-msc. Change-Id: I38ba8b9414de383bf497526d97bf7a039e41fd35
2017-10-31vty: make auth tuple reuse configurableNeels Hofmeyr2-0/+33
Change-Id: Iba6253d9bf8d4a9d9f6f26ba045e6c7f0dc7f8f2
2017-10-31tests: add msc_vlr_test_authen_reuseNeels Hofmeyr6-0/+2962
Change-Id: I185a2cbff6241a27722f1c37ae609f0fcc59a71e
2017-10-31cosmetic: vlr: rename auth_tuple_max_use_count to _reuse_Neels Hofmeyr3-21/+21
The name auth_tuple_max_use_count suggests that if I want to use each auth tuple exactly once, I need to set it to 1. Curiously, so far you need to set to intended uses - 1. Reflect this in its name by renaming to auth_tuple_max_reuse_count. I first considered to not rename but change the if-conditions so that == 1 means each tuple is used once, and upon struct vlr allocation, set the default to 1. That would also logically entail that setting to 0 means to re-use vectors infinitely often, like now a value < 0 does. That means, when allocating a vlr struct zeroed out, we would by default have the most dangerous/unsafe configuration. It's no problem to set a default to 1 upon allocation, but by renaming the variable instead, we get safer alloc-zero behavior and don't need to change any conditionals in the code (even though the patch ends up considerably larger from all the renaming). Change-Id: I0b036cae1536d5d6fb2304f837ed1a6c3713be55
2017-10-30msc_vlr_tests: fix rebuild: rebuild when src/ libs were rebuiltNeels Hofmeyr1-0/+3
Before this, a code change in libvlr or libmsc would not cause a rebuild of the tests. You'd have thought 'AM_LDADD' were the right name for the variable, but apparently it is just 'LDADD' instead. Tested that it works as intended. Change-Id: Icbdedc1581fa23abe9ed99cef3918592b25f30b3
2017-10-29Bump version: 1.1.1.2-633e5 → 1.1.21.1.2Harald Welte1-0/+7
Change-Id: Id3ddab71f98046c3ce26ea240313b0ffef8ddf09
2017-10-29Debian: require minimum versions of packages we depend onHarald Welte1-8/+8
I'm using the dame version as in configure.ac to avoid build failures against older versions of certain packages, such as older libsmpp34. Change-Id: I83c617fa4e83e2e3d2613e454f517d6031814f21
2017-10-28Depend on both libosmo-sigtran-dev and libosmo-sccp-devHarald Welte3-0/+3
libmsc/a_iface.c and libmsc/a_iface_bssap.c still include osmocom/sccp/sccp_types.h to get access to enums defining SCCP cause values. Until that is resolved, we have to keep the build dependency to libosmo-sccp-dev Change-Id: I957dcb2bcce216d0fd81a58bfe869aca0e4624a8 Related: OS#2601
2017-10-28Bump version: 1.1.0.1-6299 → 1.1.11.1.1Harald Welte1-0/+6
Change-Id: I0143cbf462d8685bb7388024dddbc0eb9b3883dc
2017-10-28Debian: Depend on libosmo-sigtran-dev, not libsomo-sccp-dev!Harald Welte1-1/+1
Change-Id: I478e28ba5f7e39cecea8912183e288ecb2f03337
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: I6ae80147b2624079b5c364dbce08194215cc4e95
2017-10-28Tag/Release Version 1.1.01.1.0Harald Welte1-0/+55
[ Alexander Couzens ] * debian/rules: show testsuite.log when tests are failing [ Neels Hofmeyr ] * build: check for -lgsm * am: msc_vlr_tests: use AM_LDFLAGS instead of COMMON vars * jenkins: fix build: osmo-mgw from master, not pre_release * jenkins: drop unused build matrix vars, always --enable-smpp * configure.ac: fix to "AC_INIT[osmo-msc]" * rewrite README * rename openbsc.pc to osmo-msc.pc * debian: fix web and VCS links, tweak osmo-msc.install * drop files unrelated to osmo-msc * rename include/openbsc to include/osmocom/msc * doc/examples: add detailed cs7 config examples * use separated libosmo-mgcp-client, apply rename to mgcp_client_* * ctrl: subscriber-list-active: list only attached subscribers * debian: fix dependency to mgcp library * main: remove cmdline args no longer available for osmo-msc * vty: fix: missing default cmds at hlr node * ctrl: remove unimplemented cmds subscriber-{modify,delete} * fix build: remove obsolete header legacy_mgcp/mgcp.h * fix debian: fix erratic doc/examples install path * fix memory leak: vlr: vlr_gsupc_read_cb() must msgb_free() * fix vty tests: long timeout due to unreachable STP address * cosmetic: vlr: declare a struct in .h; drop unused header * add ';' after OSMO_ASSERT() [ Philipp Maier ] * a_iface: fix memory leaks * a_iface: fix typo [ Max ] * Remove rest_octets.h * Remove SI-related code * Remove BTS-specific attributes * Remove unused osmo_bsc_rf.h header * Remove pkg-config file [ Harald Welte ] * Update .gitignore for post-nitb-split * remove further files and autotest/autoconf bits irrelevant to osmo-msc * Rename osmo_fsm to avoid illegal space in name + more meaningful name * Debian: remove obsolete Dependencies * configure.ac: Depend on latest tagged/released libosmo-* versions * Debian: Build with enabled SMPP support * osmo-msc: Don't link against libasn1c * Debian: Include systemd.service in package * Debian: include all (not just one) example config files Change-Id: Ic24d937658e5b467c6643ae3cd54e5b6d9db3175
2017-10-28Debian: Add proper description for packages.Harald Welte1-0/+23
Change-Id: I6cf4a6d84048e68abd7323387766acb674fd345c
2017-10-28Debian: include all (not just one) example config filesHarald Welte1-1/+1
Change-Id: I19ac23898e9543081a1407da9af63ed643791d6e
2017-10-28Debian: Include systemd.service in packageHarald Welte1-0/+1
Change-Id: Iee768a0e812db782f3e23c5a1454e141eee08a74
2017-10-28osmo-msc: Don't link against libasn1cHarald Welte3-3/+0
osmo-msc doesn't use any API/symbols of libasn1c directlry. Rather, we use libosmo-ranap which in turn uses libasn1c. Let the linker work out that dependency. This fixes the following dpkg-shlibdeps warning: Change-Id: I2f840884d8f1cc542de1e26acd3d4215bd2fd899 dpkg-shlibdeps: warning: package could avoid a useless dependency if debian/osmo-msc/usr/bin/osmo-msc was not linked against libasn1c.so.0 (it uses none of the library's symbols)
2017-10-28Debian: Build with enabled SMPP supportHarald Welte2-1/+2
Change-Id: Ibab5ede36cf329620a66b7811c43cc73c7135ecd
2017-10-28configure.ac: Depend on latest tagged/released libosmo-* versionsHarald Welte1-9/+9
This is the safe choice, as in absence of automatic testing we don't know if we actually still build against the [sometimes] ancient dependencies. Would be great to automatize this, but until we have that, better be safe. Change-Id: Idf5cad1dc17a5136d00c970c326cdf3b7ee18e3c
2017-10-28Debian: remove obsolete DependenciesHarald Welte1-3/+0
libgtp and c-ares are GRPS dependencies; we don't have GPRS in MSC Change-Id: Ie7fb8a9417d9024e3da0e8547679f7b696c79a9f
2017-10-25Rename osmo_fsm to avoid illegal space in name + more meaningful nameHarald Welte1-2/+2
A FSM doesn't need "FSM" in its name, as it is obvious that it is a FSM. Also, having two that are called RESET is confusing, so let's try to come up with better names. Also, after Change-Id I9ef59432f43a3cdb94e4cbb0c44ac3f9b2aac0f2 in libosmocore, we now enforce that no FSM identifiers contain spaces or other illegal characters. Closes: OS#2593 Change-Id: I858a81b8a4e01b2e802e3159f2835e5ca515953d
2017-10-16Remove pkg-config fileMax4-24/+1
It's an artefact of split which is unused anyway. Change-Id: I15c0b4457c108c7791b0f30b79660d9e6d09b269
2017-10-11debian/rules: show testsuite.log when tests are failingAlexander Couzens1-0/+4
Change-Id: I588ed7c7766a2e71284c9c7a3f3ce5a48561fe7f
2017-10-05add ';' after OSMO_ASSERT()Neels Hofmeyr1-1/+1
Currently, OSMO_ASSERT() is defined such that it ends in a semicolon, hence an added ';' is redundant. However, the usual way this kind of macro should be defined is #define OSMO_ASSERT(x) do { ... } while(0) so that the compiler requires a trailing semicolon. To prepare for such a change possibly coming up in libosmocore, add ';' to all OSMO_ASSERT() users. Change-Id: Ic79c8b8f98a7f3bef761751d55a7e6125cf2c46d
2017-10-04cosmetic: vlr: declare a struct in .h; drop unused headerNeels Hofmeyr2-1/+2
In vlr_core.h, "pre-declare" a struct used in function declaration. In vlr_lu_fsm.c, gsup.h is not used, drop the #include. Change-Id: I61d793c3001abbe6d381be1ae0bb350b07403e88
2017-10-04fix vty tests: long timeout due to unreachable STP addressNeels Hofmeyr2-3/+3
The doc/examples/osmo-msc SCCP config examples with 10.23.42.1 as asp ip-remote cause >5 minutes timeout for each VTY config test being run before the VTY becomes available. This hugely elongates the config tests, we didn't spot it before because it does succeed after that timeout. Rather use link-local addresses in order to immediately note the lack of connection and carry on with the VTY config tests. Related: OS#2333 Change-Id: I5ea4ef8a7e181bd3a38edf9c3b5d098f6ba65ee5
2017-10-03fix memory leak: vlr: vlr_gsupc_read_cb() must msgb_free()Neels Hofmeyr2-1/+2
Add required msgb_free() to vlr_gsupc_read_cb(). Adjust msc_vlr_tests.c gsup_rx() to *not* free the msgb again after vlr_gsupc_read_cb() did. Related: OS#2476 Change-Id: I347c53f57a7fa79921aed3f6e42599841acf27c0
2017-10-03remove further files and autotest/autoconf bits irrelevant to osmo-mscHarald Welte3-534/+0
Change-Id: I68e879e7474cbd3dd053f23bc4d5d22dc2748c5b
2017-10-03Update .gitignore for post-nitb-splitHarald Welte1-26/+11
Change-Id: I8bac4399a35b722908a4dc4d47c4962946ed52e9
2017-09-25fix debian: fix erratic doc/examples install pathNeels Hofmeyr1-1/+1
Change-Id: I8fc3d50b95649145e45ea6b56792ddbaf0548050
2017-09-24fix build: remove obsolete header legacy_mgcp/mgcp.hNeels Hofmeyr1-1/+0
Since Ifb8f3fc2b399662a9dbba174e942352a1a21df3f libosmo-mgcp-client has its own definitions in mgcp_common.h, which conflict with legacy_mgcp/mgcp.h. This cross-inclusion to support libosmo-mgcp-client is no longer necessary. In the future, including libosmo-mgcp-client together with libosmo-mgcp will be made possible, but not with libosmo-legacy-mgcp (because we don't care enough). That is why including libosmo-legacy-mgcp headers would cause build failure. Depends: Ifb8f3fc2b399662a9dbba174e942352a1a21df3f Change-Id: I8e3359bedf973077c0a038aa04f5371a00c48fa0
2017-09-19ctrl: remove unimplemented cmds subscriber-{modify,delete}Neels Hofmeyr1-22/+0
Change-Id: I754de5d08c053fea5f1ca2673b0ac4d26a85778a
2017-09-19vty: fix: missing default cmds at hlr nodeNeels Hofmeyr1-0/+1
Without this, it is impossible to exit the 'hlr' node. Change-Id: I53e572194af39a431c54f83cd07e4c41c6fdf7f8
2017-09-18main: remove cmdline args no longer available for osmo-mscNeels Hofmeyr1-27/+1
Change-Id: I3009d2b3dd89eacdf6bc3d9c19744e9fdf4be6c3
2017-09-15Remove unused osmo_bsc_rf.h headerMax3-68/+0
Change-Id: I7a668665b571d00a6a34629626ddbfb60b6c09cc
2017-09-15Remove BTS-specific attributesMax7-338/+2
Remove *bts_model_* functions as they are only useful to BSC. Change-Id: Ic80d11d6f8167b49a94fc9c6edbc5ff9fbe36587
2017-09-15Remove SI-related codeMax3-112/+1
Get rid of unused data structures and functions related to SI handling. Change-Id: I048885e85a9f97b8b071f3a3f1c362b54a44720e
2017-09-15Remove rest_octets.hMax18-145/+21
The MSC should not fiddle with low-level SI details like rest octets anyway. Unfortunately simply removing the header is impossible as it causes massive fallout due to missing includes. Fixed it as well. The only other parameter which required removal is cell_ro_sel_par which is not referenced anywhere in the code anyway. Change-Id: Ibff77330de056fad4288cd4c48d016aad8105354
2017-09-14debian: fix dependency to mgcp libraryNeels Hofmeyr1-1/+1
osmo-mgw has split the MGCP client to a separate library in change-id I8e0b2d2a399b77086a36606f5e427271c6242df1 or commit 97df691307e48c39170ac39b2394a7095d7f0ee5. Change-Id: I9c56c218fce2264fe0acae62caed4d9ff4bfb54c