The choice of libdbi was one of the biggest early mistakes in (back
then) OpenBSC development. A database abstraction library that
prevents you from using proper prepared statements. Let's finally
abandon it and use sqlite3 directly, just like we do in osmo-hlr.
I decided to remove the database migration code as it would be relatively
cumbersome to port all of it to direct sqlite3 with prepared statements,
and it is prone to introduction of all kinds of errors. Since we don't
have a body of older database files and comprehensive migration tests,
it is safer to not offer migration code of uncertain quality. The last
schema revision (5) was introduced 5 years ago in 2017 (osmo-msc
v1.1.0), so it is considered an exceptionally rare case. People can
install osmo-msc 1.1.0 through 1.8.0 to upgrade to v5 before using
this new 'direct sqlite3' version of osmo-msc.
Change-Id: Ia334904289f92d014e7bd16b02b3b5817c12c790
Related: OS#5559, OS#5563, OS#5564
Looking at 'perf top' of osmo-msc under load shows that there's a
significant amount of time spent in terms of locking (mutex,...)
which is useless as osmo-msc is a single-threaded application.
Unfortunately libdbi doesn't provide a mechanism to perform
sqlite3_config(), so we have to do it directly here, introducing an
explicit build-time dependency (and linkage) to libsqlite3.
Related: OS#5559
Change-Id: I5bbea90d28b6d73b64b9e5124ff59304b90a8a75
osmo-msc is pretty useless without osmo-mgw these days. Let's not
make it a strong dependency, as the mgw could of course be running
on different machines.
Change-Id: I76c1bf30c733cf2fd596a8971ccb8bac4220be66
The libdbd-sqlite3 provides SQLite3 driver for libdbi. We use it
by default for the built-in SMS Centre. Since [1], we have unit
test coverage for the db_sms_* API, thus we need libdbd-sqlite3
to be installed at build-time.
[1] Id94ad35b6f78f839137db2e17010fbf9b40111a3
Change-Id: Ice9fb11f5b8a39abecee426d2fadcf62b7ee47c4
Make sure that we don't fail at startup with:
<0009> db.c:621 Failed to create database connection to sqlite3 db
'sms.db'; Is the sqlite3 database driver for libdbi installed on this
system?
Tested by building the Debian package and looking at its depends.
Related: OS#3771
Change-Id: I7c099212a6ad7d87978c3dce63ce7385d8076bd1
Since we merged the SGs interface, we include <netinet/sctp.h>, which
is provided by libsctp-dev. This means that the Debian package should
depend on this.
It is expected that this will un-break the network:osmocom:nightly
builds.
Change-Id: I092e95ea970763c4008d3c7ff1b7028042574a64
osmo-hlr has recently (as of Change-Id
Iad227bb477d64da30dd6bfbbe1bd0c0a55be9474) a working shared library
implementation of libosmo-gsup-client.
We can remove the local implementation in osmo-msc and use the
system-installed shared library instead.
Change-Id: I6f542945403cf2e3ddac419186b09ec0e2d43b69
This avoids potential licensing incompatibility and makes integration of
Debian packaging patches easier.
Related: OS#1694
Change-Id: I71cd631704a4dc155c6c752fee2a42cd6e2fa336
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
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
[ 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
osmo-mgw has split the MGCP client to a separate library in
change-id I8e0b2d2a399b77086a36606f5e427271c6242df1
or commit 97df691307e48c39170ac39b2394a7095d7f0ee5.
Change-Id: I9c56c218fce2264fe0acae62caed4d9ff4bfb54c
The ABI of libgtp changed and we require a new library now. Drop
the SO_VERSION from the library name and just depend on libgtp-dev.
Change-Id: Ib301b27e2c08fda827b55820389247e27e5e8fc7
osmo-bts consumes the gsm_data_shared.{h,c} files and assumes the
OpenBSC directory layout. Install the files into the specific
sub-directories to make the --with-openbsc=dir option work.
Change-Id: I3da21402dee3d6f1d812b232b0a3f13b8a462d5b
Re-apply the reverted commit 98bc7fa50d, this
time with a clear error message in case autoconf-archive is not installed.
Change-Id: I631bde22e79ec0318eb9c8114db5861a1d635816
Tweaked-by: Neels Hofmeyr <nhofmeyr@sysmocom.de>