Commit Graph

55 Commits

Author SHA1 Message Date
Pau Espin 1032df2d88 Bump version: 1.5.0.20-e9cc-dirty → 1.6.0
Change-Id: Ibe4efb64b8de506a007559e2fcf13cc9dc0d9d60
2022-06-28 18:22:14 +02:00
Harald Welte e9cc5c9376 update git URLs (git -> https; gitea)
Change-Id: Idac4924a077b5389e85efaf62081589fc3de06ad
2022-06-17 23:18:23 +02:00
Pau Espin 6304393363 Bump version: 1.3.0.51-6858-dirty → 1.4.0
Change-Id: I017147905ffb69829d010f3e8416c8c5d80e7040
2021-02-23 17:57:33 +01:00
Oliver Smith ed11cc8385 configure.ac: set -std=gnu11
Change-Id: Iabe929a29a3c7fed2726329215097f7254cf20ca
2021-01-28 09:28:00 +00:00
Pau Espin 67eddd6aa2 configure.ac: Fix trailing whitespace
Change-Id: I7df2b2cd0f8fa2f4f9a1e345735aa944f93e95a4
2020-08-20 12:30:32 +02:00
Pau Espin 002197560d Support setting rt-prio and cpu-affinity mask through VTY
Depends: libosmocore.git Change-Id If76a4bd2cc7b3c7adf5d84790a944d78be70e10a
Depends: osmo-gsm-masnuals.git Change-Id Icd75769ef630c3fa985fc5e2154d5521689cdd3c
Related: SYS#4986
Change-Id: Ib9faa68c1cd09a026909c792a1fd5557c9893fe3
2020-08-20 08:41:36 +00:00
Oliver Smith 05c377f198 contrib: integrate RPM spec
Remove OpenSUSE bug report link, set version to @VERSION@, make it build with
CentOS 8 etc.

Do not try to build libsscp, libmtp and libxua as shared libraries. The
imported spec file patched the source with "0001-build-fixes.patch" (not
imported) and packaged resulting so files. However, these libraries are
legacy and built statically on purpose, as it's stated on the wiki page:
https://osmocom.org/projects/libosmo-sccp/wiki

Related: OS#4550
Change-Id: Id1d77a79b43a9cb967fe3fe10394cca24757af85
2020-05-19 15:20:17 +02:00
Eric Wild 858b81a252 configure.ac: fix libtool issue with clang and sanitizer
As pointed out at https://github.com/libexpat/libexpat/issues/312
libtool does not play nice with clang sanitizer builds at all.
For those builds LD shoud be set to clang too (and LDFLAGS needs the
sanitizer flags as well), because the clang compiler driver knows how
linking to the sanitizer libs works, but then at a later stage libtool
fails to actually produce the shared libraries and the build fails. This
is fixed by this patch.

Addtionally LD_LIBRARY_PATH has no effect on conftest runs during
configure time, so the rpath needs to be set to the asan library path to
ensure the configure run does not fail due to a missing asan library,
i.e.:

SANS='-fsanitize=memory -fsanitize-recover=all -shared-libsan'
export CC=clang-10
ASANPATH=$(dirname `$CC -print-file-name=libclang_rt.asan-x86_64.so`)
export LDFLAGS="-Wl,-rpath,$ASANPATH $SANS $LDFLAGS"

Change-Id: I292c303840a76c5042dc077829c5df46158ca8ba
2020-04-11 01:16:19 +02:00
Pau Espin 55c3b37dcd configure.ac: Check for sctp_recvmsg instead of sctp_send
sctp_send is not used at all in libosmo-sccp. sctp_recvmsg is used
though.

Change-Id: Iac90c5f531a136fb3535404a6fdfd4c2d7a594aa
2020-01-09 14:01:24 +01:00
Pau Espin 5e4643f4bc Bump version: 1.1.0.71-bb75-dirty → 1.2.0
Change-Id: Ibab643b971f80e3774c393ff3988a765dc081196
2020-01-02 21:24:11 +01:00
Harald Welte 81c6a0a979 Bump version: 0.10.0.39-b723 → 1.0.0
Change-Id: I9b9d9331bdd1d9cdebdef5c3e0c49a1b18972abd
2019-01-20 15:19:07 +01:00
Oliver Smith b7237b139d build manuals moved here from osmo-gsm-manuals.git
Moved to doc/manuals/, with full commit history, in preceding merge commit.
Now incorporate in the build system.

Build with:

$ autoreconf -fi
$ ./configure --enable-manuals
$ make

Shared files from osmo-gsm-manuals.git are found automatically if
- the repository is checked out in ../osmo-gsm-manuals; or
- if it osmo-gsm-manuals was installed with "make install"; or
- OSMO_GSM_MANUALS_DIR is set.

Related: OS#3385
Change-Id: Ib5a22c2ea81fdde036bf9efb47d785a830b88c93
2018-11-27 18:46:32 +01:00
Neels Hofmeyr 6a973bab9c build: move include/{mtp,sccp} to include/osmocom/
Anywhere else in the Osmocom code base, we arrange headers in
include/osmocom/foo/ and pass -I ${root_srcdir}/include/.
This way including an osmocom header always has the format
  #include <osmocom/foo/bar.h>
whether we are including from the local source tree or from $prefix.

For some reason not clear to me, the mtp and sccp folders, even though they are
being installed to $prefix/include/osmocom/, were kept *next* to the osmocom/
dir, instead of inside it. Fix that weird situation.

The motivation is that I wanted to use a definition from sccp_types.h in a
public-API header. That is impossible if it requires
  #include <sccp/sccp_types.h>
in a local build, but
  #include <osmocom/sccp/sccp_types.h>
for any other source tree using libosmo-sccp. After this patch, both are
identical and including works without quirks. (The other patch that needed this
has changed in the meantime on and no longer needs this, but this still makes
sense for future hacking.)

The installed result does not change, since both mtp/*.h and sccp/*.h have
always been installed to $prefix/include/osmocom/{mtp,sccp}/. This merely
changes their position in the source tree.

The most curious situation before this is that any patch #including
<osmocom/sccp/sccp_types.h> might not get a notice that the header didn't
exist, but might instead include an older system-installed file.

Change-Id: I1209a4ecf9f692a8030b5c93cd281fc9dd58d105
2018-10-21 12:35:11 +00:00
Neels Hofmeyr 4a3e8f5b19 add tests/vty: VTY UI transcript testing
Add ss7_asp_vty_test, a shim test program with the sole purpose of exposing the
cs7 VTY nodes.

Add ss7_asp_test.vty, transcript for verifying VTY nodes using above program.

Add --enable-external-tests to configure.

Run jenkins.sh with --enable-external-tests.

Change-Id: I6a28684fa24d6e7de568623444297028eba2ab8c
2018-09-27 14:44:30 +02:00
Pau Espin 8c481d2825 Install systemd services with autotools
This commit re-adds ba3da6d725, plus fixes
two typos (sytemd->systemd) in that commit.

The commit is fine, we just need to add some extra configure flags in
osmo-ci.git.

Depends: https://gerrit.osmocom.org/#/c/osmo-ci/+/10857/
Change-Id: Ifc11d97c0c5fe1f7872b59147b1548b56951921b
2018-09-10 17:18:17 +02:00
Harald Welte c8143eccc2 Revert "Install systemd services with autotools"
This reverts commit ba3da6d725.

That commit broke master-{osmo-iuh,osmo-msc,osmo-sgsn,openbsc,osmo-bsc}
build jobs with

make[4]: Nothing to be done for 'install-exec-am'.
 /bin/mkdir -p '/lib/systemd/system'
 /usr/bin/install -c -m 644 osmo-stp.service '/lib/systemd/system'
/usr/bin/install: cannot create regular file '/lib/systemd/system/osmo-stp.service': Permission denied
make[4]: *** [install-systemdsystemunitDATA] Error 1

Change-Id: I009825d293e7e7a6c48d10452c10b3bb6da3e684
2018-09-09 20:20:38 +02:00
Pau Espin ba3da6d725 Install systemd services with autotools
Change-Id: Ie77ee4b32a75e2d207030ddc78d39fb664103d33
2018-09-07 20:29:04 +02:00
Pau Espin 688f230405 Bump version: 0.9.0.20-6265-dirty → 0.10.0
Change-Id: Ia087b9f03a73a08f0eaa461f61c6244aaf13e3d4
2018-07-27 18:45:40 +02:00
Pau Espin b241a26449 build: Install example cfg files
Change-Id: I93b73032b9a01a1e121ecf7c0cfcf3d5558efc7f
2018-07-02 16:44:39 +02:00
Pau Espin c88605c41c Bump version: 0.8.1.43-7e34-dirty → 0.9.0
Change-Id: Ie3d11408f35509138475e7edde285e1bf5bef8e0
2018-05-03 17:08:07 +02:00
Neels Hofmeyr 2d5026b92b configure: add --enable-werror
Provide a sane means of adding the -Werror compiler flag.

Currently, some of our jenkins.sh add -Werror by passing 'CFLAGS="-Werror"',
but that actually *overwrites* all the other CFLAGS we might want to have set.

Maintain these exceptions from -Werror:
a) deprecation (allow upstream to mark deprecation without breaking builds);
b) "#warning" pragmas (allow to remind ourselves of errors without breaking
   builds)

As a last configure step before generating the output files, print the complete
CFLAGS and CPPFLAGS by means of AC_MSG_RESULT.

Change-Id: Idb579d546d6f228e86bd49ca15aa87b86978205a
2018-03-05 20:39:36 +01:00
Martin Hauke 60d4be5427 build: AC_PROG_LIBTOOL is the same as LT_INIT
Change-Id: I30f8d289d9dca892e40cd7ed787029fbcafa2dff
2018-02-10 18:08:21 +01:00
Neels Hofmeyr 0a30a8522d add --enable-sanitize config option
Change-Id: Ie9bf734cb6cdee24e776cd64f9f1b800a7a9277c
2017-11-18 10:19:04 +00:00
Harald Welte e608ee0b94 update libosmocore/libosmo-netif dependency to current versions
Change-Id: I084b5968dec97b0bba0344425f880077ddada440
2017-10-27 20:36:19 +02:00
Max 793cf8a259 Add doxygen docs
Make sure doxygen generates library documentation by default (can be
disabled at compile time).

Change-Id: I2bf7438bcdde19dc88b9bc14c8ad9c8f49099f8a
Related: OS#2572
2017-10-18 10:42:52 +02:00
Max 02e029708a Use release helper from libosmocore
See
https://osmocom.org/projects/cellular-infrastructure/wiki/Make_a_new_release
for details.

Change-Id: I39b3bfa8a1ccf376215a3ce220cb3cf7a85471cb
Related: OS#1861
2017-08-29 12:48:21 +00:00
Pau Espin f356131808 contrib: Enable -Werror by default
Change-Id: I16a8ca7f0bfabeed6a9b58cda5e60bd58889f74d
2017-07-08 10:46:31 +00:00
Pau Espin d59ed0b3b4 configure.ac: Fix C(PP)FLAGS for BSD build
Issue first found in libosmocore. It seems the BSD build doesn't use
bash which means using += to append to a variable doesn't work
correctly.

Change-Id: I33f6b9de4990de0c4d3a6fc0bd7df632094e79ac
2017-07-08 10:46:31 +00:00
Neels Hofmeyr fa3215618b Revert "configure.ac: Use -Werror in C(PP)FLAGS"
As discussed in chat, -Werror should not be enabled by default.
Instead it should be added in our jenkins build scripts.

This reverts commit fc252ca384.

Change-Id: I92955c2f74f9a5c40e80028459100cf5e79a537b
2017-06-22 21:35:12 +00:00
Pau Espin fc252ca384 configure.ac: Use -Werror in C(PP)FLAGS
Change-Id: Ia753a3080ef54ac248dacce5cd692fdd38f7649a
2017-06-22 06:23:04 +00:00
Pau Espin e32bff4ef4 configure.ac: Use -Wall in C(PP)FLAGS
Change-Id: I1e49427b8267bbdb05d0121971a56359dbecd690
2017-06-22 06:23:04 +00:00
Max 37c53749f0 Fix debian builds
Add missing libosmogsm dependency.

Change-Id: I6e5cf393ffe81c582966ca0e9479e6deeffa9280
Fixes: OS#2182
2017-04-25 13:40:12 +02:00
Harald Welte 9654e65feb Add osmo-stp executable as new "Osmocom Signaling Transfer Point"
osmo-stp is able to define multiple M3UA and/or SUA application servers
(AS) as well as application server processes (ASPs).  Clients can then
connect via M3UA or SUA, perform the respective ASPSM / ASPTM state
changes and finally exchange MTP signaling such as ISUP or SCCP on top
of it.  Routing is currently only based on point codes (PC).  Routing table
is fully configurable with Destination PC and mask.

Shortcomings:
* xUA: only "override" traffic mode supported, no load-balance or broadcast
* xUA: no SNM supported, i.e. DAVA/DUNA/... messages are neither parsed
  nor generated
* SCCP: no Global Title based Routing (GTR) yet
* SCCP: no Global Title Translation (GTT) yet
* no M2PA / M2UA sigtran dialects
* no classic CS7 based signaling links(E1/T1 TDM)

Change-Id: If32227b8d3127c6178e4ee45527ce65f69bc7b1e
2017-04-13 18:05:01 +02:00
Harald Welte 996defec17 Add example program how to use M3UA+SCCP client and server
This is an example tool that can be run either as server (SG) or as
client (ASP) with a SCCP+M3UA stacking, and communicate via
connectionless and connection-oriented primitives over it

Change-Id: Id698ce2da5726e304dfa1773b794671dc80d853c
2017-04-10 11:48:34 +02:00
Harald Welte 85e03de7d1 remove tests/sigtran: it's not a test case
in tests/* we have unit tests that are run as part of the autotest suite
during 'make check'.  The code in tests/sigtran is an example, but not
a test.  As the API is changing anyway, let's remove it for now and
re-introduce actual tests and examples after the changes in API required
by the upcoming new SCCP core.

Change-Id: Ie471a197856c875eb4987bf9858d757312de24fb
2017-04-10 11:48:34 +02:00
Harald Welte 192cf0c2ac Add tests for xUA code + SCCP/SUA transcoding
Change-Id: I7ce038d72dca18fb83d5a12519c9a48267e52ab8
2017-04-10 11:48:34 +02:00
Harald Welte 2d3a709527 Add new 'osmo_ss7' SS7 core code with M3UA, ASP/AS FSM, ...
This is what aims to be a rather complete/proper implementation of the
SIGTRAN + SS7 protocol suite.  It has proper abstraction between the
layers with primitives, finite state machines for things like the AS and
ASP state machines, support for point code routing, etc.

What's not implemented at this point:
* re-integration of pre-existing SUA (pending)
* actual MTP2 and physical E1/T1 link support
* different trafic modes like broadcast/fail-over/load-balance

Change-Id: I375eb80f01acc013094851d91d1d3333ebc12bc7
2017-04-10 10:41:16 +02:00
Arran Cudbard-Bell 8e4bcfef3c Add missing xua.pc file
Change-Id: I5081799e1d7c7f5f3206e5f38060540bb4e3289b
Signed-off-by: Arran Cudbard-Bell <a.cudbardb@freeradius.org>
2016-11-03 12:36:41 +00:00
Neels Hofmeyr d6c7da8cc9 configure: check for pkg-config presence
Change-Id: I0066b33ce59d1e107ca8e7389599b232a033ba2e
2016-10-01 01:00:52 +02:00
Neels Hofmeyr 48372dad0e build: be robust against install-sh files above the root dir
Explicitly set AC_CONFIG_AUX_DIR.

To reproduce the error avoided by this patch:

  rm install-sh        # in case it was already generated.
  touch ../install-sh  # yes, outside this source tree
  autoreconf -fi

This will produce an error like

  ...
  configure.ac:16: error: required file '../ltmain.sh' not found
  configure.ac:5: installing '../missing'
  src/Makefile.am: installing '../depcomp'
  autoreconf: automake failed with exit status: 1

See also automake (vim `which automake`) and look for 'sub locate_aux_dir'.

Change-Id: Iec88e41c1fe80b436d6d08005871bead540e387d
2016-10-01 01:00:52 +02:00
Max 1b65a4ceeb Fix required version of libosmo-netif
Sponsored-by: On-Waves ehf

Signed-off-by: Max <msuraev@sysmocom.de>
2016-01-06 16:54:08 +01:00
Harald Welte b4d2736ecc Add some SUA client and server example code 2015-12-22 23:03:44 +01:00
Harald Welte 7be77b4a34 libosmo-sigtran: Add pkg-config integration 2015-12-22 23:03:44 +01:00
Harald Welte bf49cc1c00 Import SUA (SCCP User Adaptation) and SCCP User SAP
... this code originates from the osmo-iuh repository, but is now part
of a new shared libosmo-sigtran.so library generated in this repository.
2015-12-22 23:03:41 +01:00
Holger Hans Peter Freyther 4d244d3c31 XUA: Move m2ua headers to sigtran, create xua_types.h and m3ua_types.h
Begin with type definitions for m3ua
2015-03-23 11:06:51 +01:00
Holger Hans Peter Freyther 38dafe5241 misc: Fix the email address in the configure.ac 2012-03-26 16:37:37 +02:00
Holger Hans Peter Freyther 72df7f09ec tests: Run the existing tests with GNU Autotest
SCCP: Use DST/SRC Ref instead of the pointer value to create
stable releases.
2011-11-20 12:11:57 +01:00
Alexander Huemer 7f495a1a13 libosmo-sccp: add missing AC_LANG_SOURCE for current autoconf
autoconf >=2.68 demands the body of an AC_COMPILE_IFELSE to be wrapped in
an AC_LANG_SOURCE macro, otherwise outputs annoying warnings on the
invocation of `autoreconf -i`. this patch follows that demand.
2011-05-24 17:20:37 +02:00
Harald Welte d35a3079df namespace: use osmo_static_assert() instead of static_assert() 2011-05-08 09:43:49 +02:00
Harald Welte 2d97000f98 Update include paths with libosmocore 0.2.0 2011-03-23 18:30:22 +01:00