Fixes:
| In debian/ngcp-rtpengine-iptables-setup line 15:
| TABLE=$(/usr/libexec/rtpengine/rtpengine-get-table --config-file=$CONFIG_FILE)
| ^----------^ SC2086: Double quote to prevent globbing and word splitting.
|
| In el/rtpengine.init line 36:
| configfile=${CONFIG_FILE-/etc/rtpengine/rtpengine.conf}
| ^--------^ SC2034: configfile appears unused. Verify use (or export if used externally).
|
| In el/rtpengine.init line 38:
| TABLE=$(/usr/libexec/rtpengine/rtpengine-get-table --config-file=$CONFIG_FILE)
| ^----------^ SC2086: Double quote to prevent globbing and word splitting.
Those went unnoticed in commit 111b0a769c, but are failing
in github actions with shellcheck v0.7.2.
While at it, ensure that /etc/rtpengine/rtpengine.conf
is used as fallback, if CONFIG_FILE isn't defined.
Change-Id: I1c1948245a907bd6d299b242a9faff960d0608bc
These can be set from the config file, which makes the support in the
sysvinit script redundant. Remove all these and leave only the minimally
relevant ones involved in the startup of the daemon.
Change-Id: I3faac4594d7f1a21e65761036c2ab153acb96152
This centralizes the table setting into the respective config files
instead of keeping copies all over the place, that can easily get out
of sync.
Change-Id: I12f3fa172f34861365c31c8d8718b3fae8a9de5b
Bullseye doesn't install iptables by default any more, but the included
startup script uses iptables to set up the kernel forwarding by default.
Add an explicit dependency.
closes#1343
Change-Id: I6c222c290e51177f92136f9df59fa769c05ec266
We should eventually try to reduce the amount of -Wno-* options, but for
now this is a net improvement.
Change-Id: I3bd03679acbc157c0d1b3c257a542e2eec0e5ee9
This construct was used due to ancient bogus shell implementations, but
it is of no relevance anymore. Use the "modern" -z test instead.
Change-Id: Iad882c99148e548e926b083df8ca428c591e2c4f
Fixes: shellcheck SC2268
When we disable transcoding we should completely disable building the
rtpengine-recording daemon packages too. We accomplish that by using a
build-profile.
This also removes the Debianism from the upstream build system and moves
the setting to the Debian packaging.
Change-Id: Idf7783823d36b49ce03610fb1f4386afe5887029
iptables-dev is only available until Debian/buster and no longer exists in
Debian/bullseye (current testing) nor unstable/sid:
| builddeps:. : Depends: iptables-dev (>= 1.4) but it is not installable
Even in Debian/buster iptables-dev is already a transitional/dummy package.
Support iptables-dev as alternative Build-Dependency, just in case
someone is building the package against a system where libxtables-dev
doesn't exist yet.
Change-Id: I28c4c81ac474c646d80a0146baa2446dde7073c3
shellcheck v0.7.1 complains about a bunch of issues:
SC2154: status is referenced but not assigned.
SC2181: Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
SC2207: Prefer mapfile or read -a to split command output (or quote to avoid splitting).
SC2235: Use { ..; } instead of (..) to avoid subshell overhead.
SC2236: Use -n instead of ! -z.
The "$status" variable disappeared in d4763aba14.
The init scripts of ngcp-rtpengine-daemon and
ngcp-rtpengine-recording-daemon had a logic bug, where a failing stop
action didn't properly return, but continued execution of the following
firewalling code (ngcp-rtpengine-iptables-setup). Thanks to Guillem
Gover for spotting this one. While at it, no longer execute under
'set -e'.
Change-Id: Ia50e76f615564a288627e6e42ec8f7eb082de74c
rtpengine-ctl uses Config::Tiny for reading the config file.
This commit adds the dependency to the utils package.
Change-Id: Iae0892fe9c8d30435eecc513cf538122b2fbe2c7
This was forgotten to be taken care of in commit 2868fc6f55.
Otherwise `module-assistant auto-install ngcp-rtpengine-kernel-source` fails with:
| dh_installdocs: Please specify the compatibility level in debian/compat
| make[1]: *** [debian/rules:64: binary-modules] Error 2
| make[1]: Leaving directory '/usr/src/modules/ngcp-rtpengine'
Fixes#853
Change-Id: I0a433daaaebdab09f8247a391624d8f1a6d045bc
- Stop copying debian/compat into the kernel source packages.
- Use dh_installsystemd instead of deprecated dh_systemd_*.
- Disable dwz as it cannot cope with some of the plugins generated.
Change-Id: Ibdc92e94955ef3c5d89b24fc341474236c49b986
We now use systemd presets, and always install a policy-rc.d script, so
there's no reason to disable these at package build time. Let's switch
to the Debian defaults, so that third-party users get these to work out
of the box, in case the want to build and install the packages.
Change-Id: I0b0af3ffa1fe4daa72562f07fd95b606f96c0f88
The rtpengine kernel module only cares about UDP packets, so narrow down
our iptables rule accordingly.
Change-Id: I33856efa6b39372104b05ec0dc6f34ad0b5e0cbd
There might be a firewall script that installs and manages the
xt_RTPENGINE rules even if rtpengine isn't running at the point. Leave
the module loaded if possible and unload it only for a package removal
or upgrade.
Change-Id: I5a35e965379aebd757a45883f82bbcb5fa2412e8
Log lines written to stderr that are consumed by journald will already
have timestamps added to them. Drop the redundant unixtime output for
this use case.
Change-Id: I34886a69a0ef90de2eb84ee8f446cbad624302c1
This service should be stopped when we disable the ngcp-recording-daemon,
but ngcp-service has logic to skip services of Type oneshot.
In this case turning it into a Type=simple is fine because even though
there are no daemons/programs remaining after execution, we do set
RemainAfterExit=yes explicitly.
Change-Id: I3bde666ae1ed19ac56d38b3e011714e66615a378
These are names used in the ngcp-service nsservices.yml file, adding
them here makes using the system more consistent.
Change-Id: I66b0149cbfe70d2260a6c50617a52e53604256da
Move the Debian specific cleaning into a debian/clean file to avoid
having to add an override. And rely on the upstream Makefile which
should always be doing the correct job.
Change-Id: I6eb554428eafdcad13ea0490fca745ae72390f9c
The dh_clean -k is an obsolete way to specify dh_prep, the last one
should not be executed so remove it.
Change-Id: I9d244fbe410acac8751b6d09e11cd032a32dc5a3
This makes it difficult to interpose local scripts to override local
behavior, for testing purposes for example.
Warned-by: lintian
Change-Id: I5e1feda02a26f482728f5404496c5870ec93d8aa
To avoid repeated strcmp()s and make use of switch()'s optimised binary
lookup, we employ a second build step that preprocesses certain .c files
and uses gperf to substitute pseudomacros with their respective constant
hash value.
Change-Id: Id89c4728a0fc7aa911691d4dd1ba8e7b3916a983
We do not use a proper mount unit because that requires the mount point
to be encoded in the filename which is variable and depends on the value
coming from config.yml.
Change-Id: Ibb637c533c94bc3db119111460ca647a50a205af
Debian relies on the output of lsb-release in dkms, while
it doesn't strictly depend on it (it's just a Recommends).
We reported the bug towards dkms in Debian as
https://bugs.debian.org/896814
The best we can do until the underlying bug in dkms is fixed
is to depend on the lsb-release package in our ngcp-rtpengine-kernel-dkms
itself.
Change-Id: I2946b971ff463cec8f6e198b4a618ed0e056534c
Thanks: Richard Fuchs for debugging the issue
While still not the ideal implementation, this is certainly better than
the sysvinit script wrapper. We then will "only" need to move the setup
scripts into proper service files later on.
Change-Id: I990d6847117a4b91a8365a5e307fd96cf5b1899f
Properly switching to native systemd service files is too intrusive for
these services at this point of the release cycle. Let's use this hack
for now, and then convert these to the serveral .service, and .mount
units required.
Change-Id: I8f66bfd8be5924232bf2c34d42b18d2a332db3ee
These daemons require these facilities to be setup. Previously this
was implied and shadowed by the sshd dependency, but once removed
the implicit dependencies disappeared, make them explicit now.
Change-Id: I13b9b797da0d69636c0f87d92d80a9af46c0726c
The package was only being installed as module for the kernel version running at
the time it was installed.
Change-Id: I217367664ad40d50c92b49fae89569fe43edf684
If we are creating the kernel forwarding table, we have to make sure it
has been deleted already, otherwise we can get into collisions with the
already setup forwardings, and the subsequent add will fail anyway.
Change-Id: I2601c602543ff3e3493bae296d263dde545ff352
- Add missing quotes.
- Switch some problematic usages to use bash arrays.
- Override shellcheck errors (these might need fixing in the future).
Change-Id: Id451ff9f4c5d5ef9b3826544908d64e9c08c5797