Do not attempt to change permissions/ownership if the package gets
upgraded from a version higher than the next release.
Do not fail if the user deleted the config file.
Be verbose when changing permissions.
Related: OS#4107
Change-Id: I1bcbe414fd18101e4d875a16539deab7baf9cb5f
* Explicitly chown /var/lib/osmocom to osmocom:osmocom, instead of
relying on systemd to do it when the service starts up. This does not
work with the systemd versions in debian 10 and almalinux 8.
* deb: Use "useradd" instead of the interactive "adduser" perl script
from Debian. This makes it consistent with how we do it in rpm, and
avoids the dependency on "adduser".
* deb: Consistently use tabs through the file, instead of mixing tabs
and spaces.
* deb: Remove support for the "dpkg-statoverride --list" logic. This
seems to be a rather obscure feature to override permissions for
certain files or directories, for which it does not seem to be a good
idea to make the postinst script less maintainable. Something similar
can be achieved by using your own Osmocom config file in a different
path with different permissions.
Related: OS#4107
Change-Id: I6dd0205fb65d4ad5a79821c111865e67fb293a73
Create osmocom user & group during package installation.
Fix the configuration dir/files permission to match.
Related: OS#4107
Tweaked-By: Oliver Smith <osmith@sysmocom.de>
Change-Id: Ic24b43bde8d4af0641365f276106eb3cd016be2c
This way we notify the lower layers that state must be reset, eg. when
Iuh conn drops.
Related: OS#6826
Change-Id: I282f3e75d31b3e481136aade34b30074300ab631
They are not valid anymore since the Iuh conn is closed.
If kept alive, then if GTP/RTP traffic comes from CN while shutting down
the payloads may be forwarded to LLSK which may have been closed (eg.
because shutdown procedure was started precisely due to death LLSK
because other end closed it).
Related: OS#6826
Change-Id: I51aa449e7fd5b1049fcaaeef3f1378423a838c05
This allows easily identifying the prim_srv{_link} in logs.
Depends: libosmo-netif.git Change-Id Iba683e4d65e0aba81e13bdf1b9d5a9065b1fc89c
Change-Id: Idae27bc9a2a223710edb9fca905ad5ae924dde80
Don't use the wildcard IPv4 address for RTP sockets, but instead use
the address explicitly configured by the user for the Iuh interface.
Closes: SYS#6657
Change-Id: I90e2cbb1765d4d2db5a19f64f0ff09cdc18b7911
Depends: libosmocore.git Change-Id I6b5c0bf8ca97e6358d992fb2ff45ffd53ba15197
Keep the last line running the CTRL tests commented out as the
CTRL interface is not implemented yet. Add a TODO.
Change-Id: I76e24184aecafa8460d1da9419a424d9990730c5
Related: OS#5989
At startup, osmo-hnodeb connects the Iuh socket to the HNBGW, and start
the LLSK unix socket link_server waiting for lower layers to connect.
If for some reason the lower layers don't connect and an Iuh messages
arrives which was to be forwarded to LLSK, it would try to access it
without first checking if it was already available.
This patch adds a check to avoid a crash when accessing the null
pointer.
Change-Id: I32d8f91b2fc5401ace386e1085c248476228cd18
By default systemd will execute service with root directory (or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it to 'osmocom' subdir of state directory (/var/lib for system instance) instead.
Related: OS#4821
Change-Id: I67564759f43193f4739b0b194d5f5da92e3bc6ae
This bug showed up when running the whole TTCN3 hnodeb-test testsuite.
llsk_audio_sapi_version_confirmed() was setting the expected struct size
fo the version previously set.
Related: SYS#5516
Change-Id: Ic94881f46b20ba2817b56d88ada9da5d13b1e294
This commit introduces support for the new llsk_audio SAPI v1.
This new version is almost the same as v0, with the exception that
primitive <REQUEST,HNB_AUDIO_PRIM_CONN_ESTABLISH> wins an extra field
appended at the end:
"""
uint8_t rfci[HNB_MAX_RFCIS]; /* values range 6 bits */
"""
This allows lowerlayers to provide an unordered array of RFCIs, which
was seen may happen under some conditions. For instance:
"""
rfci[HNB_MAX_RFCIS] = { 2, 3, 1};
[0] RFCI 2
[1] RFCI 3
[2] RFCI 1
"""
OsmoHNodeB still supports v0 if the lowerlayer asks for it, and will
continue having the exact behavior as before in this case (using
position in the array as RFCI). Hence, no compatibility breakage occurs
in this patch. New clients, on the other hand, can provide the extra
information by announcing V1 support during version negotiation at
startup.
Related: SYS#5516
Change-Id: I860d18b80c1041bf63a1570d435e0568c0f6b01b
NOTICE: This commit implies an API change when using libosmogsm.
However, the previous API was never available in any libosmogsm release,
and only available in both libosmogsm and osmo-hnodeb master, so we are
only breaking compatibility between different master versions, which is
acceptable.
Related: SYS#5969
Change-Id: Ia26a945147d68511bb1750d51ed91909e48b4139
We build with --enable-werror during development and in CI. If the code
is built with a different compiler that throws additional warnings, it
should not stop the build.
This patch also effectively removes dependency on autoconf-archive.
Related: OS#5289
Related: SYS#5789
Change-Id: Ie30d8024ee2ad48073dd8be2e02856b6ce1a6b0b
It doesn't make much sense to pull whole libgtp to implement only the
user plan side of GTP. Let's drop it and add a minimal GTP-U
implementation here.
Related: SYS#5516
Change-Id: I53ad4915aaed3bc7574036e963be10514e370fe2
Use the recently introduced IuUP support in libosmocore to send and receive
proper IuUP over RTP instead of regular RTP.
The LLSK AUDIO primitives are updated to provide required information
back and forth.
Depends: libosmocore.git Change-Id Ibe356fa7b1abaca0091e368db8478e79c09c6cb0
Related: SYS#5516
Change-Id: Ie137809e1f91dfd702853c52be97ca79e8604eab
This config file is also installed and used by the systemd service by
default. Local ip address of 127.0.0.3 is used by default to avoid
collisions with default configs of osmo-sgsn and osmo-ggsn.
Related: OS#5360
Change-Id: I02d628f48ca5adbc46e75a015c39a6fb5614a2d6
This is needed for instance:
* AUDIO: video calls
* GTP: secondary pdp contexts
For better abstraction, now both AUDIO and GTP conns use unique ID
namespaces, and one ID is used to identify each one. Each conn relate in
turn to a UE since a context_id is passed during connection
establishment.
Related: SYS#5516
Change-Id: Ib3f60d5ba21defe5259c25e2034fc2217c4d93df
This first implementation uses libgtp to manage the GTPv1-U socket and
pdp contexts, as a proof of concept to have something working for now.
At a later step, it is expected to drop libgtp and use some adhoc code
to handle GTP-U.
Related: SYS#5516
Change-Id: I5a6f5dfc4e508c92adb35210b4dc576d64353366