Make sure asterisk has permission to access /dev/vmmc* devices as it
will segfault if started without.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
- Resolves GHSA-98rc-4j27-74hh, GHSA-hxj9-xwr8-w8pq, GHSA-5743-x3p5-3rg7
and GHSA-8857-hfmw-vg8f
- patches refreshed
- patch 180-app_queue_time_t.patch added to fix new warnings, sent
upstream (see [1])
- 180-res_crypto.c-Avoid-using-the-non-portable-ALLPERMS-m.patch and
190-chan_iax2.c-Avoid-crash-with-IAX2-switch-support.patch removed as
they're included in upstream release tar ball.
[1] https://github.com/asterisk/asterisk/pull/516
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Resolve network devices by first trying 'network_get_device' (L3) and
falling back to 'network_get_physdev' (L2) on failure, which allows using
Wireguard interfaces. Both are needed to avoid breaking existing usage
for some interfaces (e.g. 'wan').
Also add myself as a maintainer.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Bump rtpengine to release 11.5.1.12.
New 11.x release require libopus as a new library and also moved to
PCRE2 library.
Refresh patches and also introduce a new one to disable docs as they
changed doc generation tool and now would require a new prereq and docs
are not useful and would waste space on an embedded scenario.
For recording module libcurl is also now required.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Backport merged patch and move package to PCRE2 as PCRE is EOL and won't
receive any security updates anymore.
Additional patch are backported to minimize changes to the backport
patches. Only patch 010 required adaptation due to a fix backported in
5.7 in the same place where the patch fixed some whitespace issue.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Bump kamailio to release 5.7.2 to make it easier to backport PCRE2
patches.
Drop upstream patch related to time_t and python3 fixes.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add patch fixing fragile kamcmd where output bin can be renamed to
invalid names due to ENV variable clash.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Add patch to convert the package to PCRE2 as PCRE is EOL and won't
receive any security updates anymore.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
By using an nftables set in this script it's easier to install
and use this script now that OpenWrt uses nftables by default.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
Reported by Sergio in issue #821. This adds upstream patch for the
crash. See upstream issue [1] for details.
[1] https://github.com/asterisk/asterisk/issues/180
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Based on Paul Fertser <fercerpav@gmail.com>'s guidance:
Change AUTORELEASE in rules.mk to:
```
AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile))
```
then update all affected packages by:
```
for i in $(git grep -l PKG_RELEASE:=.*AUTORELEASE | sed 's^.*/\([^/]*\)/Makefile^\1^';);
do
make package/$i/clean
done
```
Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
- bump to 20.3.0
- new modules: app-broadcast, app-if, app-signal, func-export,
res-pjsip-aoc and res-pjsip-rfc3329
- remove "--without-vpb", not available anymore
- add configuration file for res-http-media-cache
- drop libsrtp2 from res-pjproject dependencies, see changes in
pjproject package
- refresh patches
- add upstream patch
180-res_crypto.c-Avoid-using-the-non-portable-ALLPERMS-m.patch to fix
build [1]
[1] https://github.com/asterisk/asterisk/issues/149
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- bump to 2.13
- new option "--disable-libsrtp" now available so we can get rid of
dependency on libsrtp2 (asterisk's SRTP support doesn't depend on pjproject)
- new option "--disable-upnp"
- 0007-execinfo.patch not required anymore, pjproject now checks for
__GLIBC__
- sync patches with asterisk 20.3.0
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Python was updated to 3.11 and app_python3 doesn't compile anymore.
This commit adds three upstream patches to resolve this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add patch fixing compilation warning for kernel module.
Always dynamically allocate buffer for proc_control_read_write.
Fix compilation warning:
/builder/shared-workdir/build/build_dir/target-arm_cortex-a8+vfpv3_musl_eabi/rtpengine-no-transcode/rtpengine-mr10.5.2.6/kernel-module/xt_RTPENGINE.c: In function 'proc_control_read_write':
/builder/shared-workdir/build/build_dir/target-arm_cortex-a8+vfpv3_musl_eabi/rtpengine-no-transcode/rtpengine-mr10.5.2.6/kernel-module/xt_RTPENGINE.c:3573:1: error: the frame size of 1272 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
3573 | }
| ^
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Catch up with the changes in the packages repository. All changes are
manual cherry picks from the packages repo and listed below.
ci: update github actions to v3
Update checkout and upload-artifact action to v3 to mute nodejs
deprecation warning.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 52570d4242822e3db678f5484c2ca3e72f485d52)
CI: deprecate $(AUTORELEASE) via comments
Autorelease causes some issues like heavy bandwidth usage as well as
non-deterministic package releases whenever someone doesn't use the full
git log.
With this comment all modified packages are checked and if they use
the autorelease feature, kindly comment to the user to change that.
Signed-off-by: Paul Spooren <paul.spooren@rhebo.com>
[ move check to separate workflow to handle ci limitation ]
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
(cherry picked from commit 61d59fd54254b97218aa4e861b1f933d5c5e0bc4)
ci: only comment AUTORELEASE deprecation if exists
If it doesn't exists, don't confuse the contributors.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 75ff4ba358aa0357f0af62cb980568bdc8d390a1)
github-ci: error on any shell errors
Enable `errexit` and `nounset` [POSIX shell options][1]
in `.github/workflows/entrypoint.sh` so that the script fails
if any command within the script fails.
[1]: https://pubs.opengroup.org/onlinepubs/9699919799//utilities/V3_chap02.html#set
Reported-by: Marius Dinu <m95d+git@psihoexpert.ro>
Fixes: https://github.com/openwrt/packages/issues/19953
Signed-off-by: Alois Klink <alois@aloisklink.com>
(cherry picked from commit 18d3c529fa4ab8dafcf6c147cf3cb55792d8ca10)
CI: update build architectures
Removed arc_archs - archs38 was marked as source-only [1].
Renamed powerpc_8540 to powerpc_8548 [2].
1. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=c01641bcc7236d2e2de3ea65444b0cf2898df351
2. https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=2cad88b99fdae9766de84e6c1cb56f111eb53748
Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
(cherry picked from commit 29041e8f8eb42dcd8eee03602348b39dbf9d0c70)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
See commit 5c545bdb "treewide: replace PKG_USE_MIPS16:=0 with
PKG_BUILD_FLAGS:=no-mips16" on the main repository.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Since OpenWrt updated autoconf to 2.71 configure fails, because
"$ac_dir" is now empty when configure attempts to run
"./tools/versioncheck". With previous autoconf "$ac_dir" contained
"autoconf" at this point in the script.
As a workaround "$ac_dir" is replaced with "$ac_aux_dir", which
incidentally contains "autoconf".
Also a build dependency is added for gettext-full, as it provides
iconv.m4. Previously this was provided by libiconv, but not anymore.
Without iconv.m4 autoreconf fails.
Some patches were refreshed to allow CI to pass.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Include an upstream patch to fix random parallel build failures, such
as:
CC [M] build-arm/modules/ctrl_dbus/ctrl_dbus.o
modules/ctrl_dbus/ctrl_dbus.c:69:10: fatal error: baresipbus.h: No such
file or directory
69 | #include "baresipbus.h"
| ^~~~~~~~~~~~~~
Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
The rtpengine daemon requires lws_get_ssl(). This function is not
available in libwebsockets-mbedtls. This commit updates the dependency
to libwebsockets-openssl.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Backports two security fixes (c4d3498 and 450baca) from pjproject 2.13.
Source: asterisk 20.0.1.
Also drop AUTORELEASE as OpenWrt project wants to get rid of it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
"check_ipaddr()" & "start_service()" are functions, hence "return"
should be used instead of "exit".
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
"check_listen()" & "start_service()" are functions, hence "return"
should be used instead of "exit".
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The recent libshout update causes compile failures due to deprecation.
This works around it. Can be removed once issue is fixed upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This just makes it so libbsd is picked up through pkg-config. It adds
support for libobsd without breaking libbsd.
Signed-off-by: Guilherme Janczak <guilherme.janczak@yandex.com>
No longer existing modules removed from OpenWrt Makefile. Same for
configure switches. Patches refreshed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The Makefile currently advertises that descriptions can be added by
specifying a string in argument 3 of BuildKamailioModule, but there's
actually no mechanism for this. This commit adds the missing pieces.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- minor version bump
- mod-dingaling, mod-unimrcp and apr-util got removed from source tar
ball, prompting some cleanup
- patches refreshed
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add new modules
- res-geolocation depends on asterisk being built with libxlt support,
but to make libxslt a general dependency is probably not a good idea
for small devices, so this adds a config option
ASTERISK_LIBXSLT_SUPPORT that is off by default except on x86_64
builds
- correct some module titles by removing the extraneous "support" string
- refresh patches
- 170-time-add-support-for-time64-libcs.patch,
180_build-fix-bininstall-launchd-issue-on-cross-platfrom.patch and
190-logger-workaround-woefully-small-BUFSIZ-in-MUSL.patch removed as
included in upstream release
- added 170-menuselect-force-use-of-xml2-config.patch as upstream
switched to use pkg-config for libxml2 detection, which would be fine,
except OpenWrt's host libxml2 is static and Asterisk can't handle that
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add "--disable-android-mediacodec" to configure
- add EXCLUDE_APP=1 to "make" calls so some apps aren't built (speeds up
the build a bit)
- drop "sed" call as no longer needed
- drop uclibc related patches
(0002-uclibc-linker-unrecognized-options.patch and
0003-non-gnu-pthreads.patch)
- update 0004-config_site.patch to sync up with Asterisk 18.14.0
- drop 0005-remove-hardcoded-lstdc++.patch as uclibcxx was removed from
OpenWrt
- update 0006-fix-pkg_config-file.patch as there were some changes in
this area upstream
- add 0007-execinfo.patch to prevent errors due to missing <execinfo.h>
- sync patches with 18.14.0
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
openwrt recently stopped using libiconv-stub in the BUILD_NLS=n case.
Instead the libc's iconv has to be used.
This commit changes the iconv include path passed to
asterisk-chan-dongle for the BUILD_NLS=n case to
$(TOOLCHAIN_DIR)/include. That's where musl and glibc store iconv.h.
Also, the patch 200-fix-iconv-detection.patch gets replaced with a sed
script that only runs in the BUILD_NLS=y case.
And finally, $(AUTORELEASE) is added.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Catch up with the changes in the packages repository. All changes are
manual cherry picks from the packages repo and listed below.
github: adapt templates
Remove refs to LEDE and use "OpenWrt" instead of "OpenWRT"
Remove instructions on self-checking pull request content for the
following considerations
- The checks are now enforced by travis autocheck scripts
- Github now prompts users to refer to the contributing guide on
submitting new issue and pull request
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
(cherry picked from commit f552f738e2d4bb1fc15acde8b7410e3d37586e2f)
repo: Add more information to the issue template
Rephrase the template a bit and add information about
older releases and forks.
Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
(cherry picked from commit 31179ef2a414412871c1c23a9b3e506a5eab1ef8)
CI: use new `openwrt` Docker username
We now own `openwrtorg` and `openwrt`, where the latter replaces the
former. Slowly migrate over.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit b164a3aa32caa181feff8074ecce3a42b052b060)
CI: define matrix individually and add targets
This allows more specific definition per test, like on which target
packages should be compiled.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 3701000051afe81c0f6c166a924828706cf21b05)
CI: reformat extra long line
Better readability on split screens.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 81f7461e66c877a9d1f6c751fd92252e950370c3)
CI: test build dependent packages
By using OPKGs `whatdepends` all packages dependent on a library are
printed. Use that feature to obtain packages which a version change may
break and build them as well.
Change "default" packages to contain a lib on which other packages
depend, instead of compiling `tmux` compile `attendedsysupgrade-common`
on which other packages depend.
Ignore any LuCI packages which only contains translations.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit c0d0c64f6ca1cbed2586812cad9d7da7b6e5e542)
CI: revert adding of *depending* packages
While the idea may make sense the current implementation is faulty.
Problem is that OpenWrt uses the folder name of packages within the
build system while `opkg` spits out the actual packages names.
An example, compiling the packages of folder `vim` (`make
package/vim/compile`) creates a package called `xxd`, where `make
package/xxd/compile` would fail.
The current implementation uses `opkg` to figure out dependent packages,
but the resulting names do not match the above mentioned folders.
Revert this for now until we come up with a better implementation to
avoid false positive CI failures.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit a2bda4cc69e4121dccba097578bbd0bd40d0675d)
github-ci: fix small typo
Signed-off-by: Michael Heimpold <mhei@heimpold.de>
(cherry picked from commit 05a3011b00f7128c5f46c2d05999937fc01dc2ca)
CI: update SDK action to v3
No also check mirror hashes and badly formated init files
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 291d1f255abefbc05e53bb3019ed7a13e1826ef2)
github-ci: also build mipsel_24kc / mt7621
Signed-off-by: Kevin David <kevin.p.david@gmail.com>
This seems like a fairly popular configuration and is at least handy for me for temporary testing.
(cherry picked from commit a5de3d04557eccd1db58a35ab9f76b38eab4bfb4)
artifacts: use git commit sha in name
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit bbf983721cf41fd94388b16ce90f018d6c0496f5)
CI: add PKG-INFO metadata file
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit a40c1b3e442eccbf0619f06b473705f4a4a0ac6d)
CI: do not crash during PKG-INFO generation if there are no packages
Signed-off-by: Peter van Dijk <peter.van.dijk@powerdns.com>
(cherry picked from commit b5132de5cf4f7d0562445cf3c65f9f1a4bcb1bbf)
CI: fix runtime testing for non master branch
The runtime testing always ran on master branch aka snapshots since the
branch wasn't passed over to the container execution!
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit f535d770901674d7d9f3d8cd9abe566d9db63ebe)
ci: use openwrt/gh-action-sdk@v4
In order to use feeds from GH mirror for GH actions, thus saving a lot
of resources being wasted. While at it fix whitespace issue.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
(cherry picked from commit b1355832a05f96d96081044a90b4c9137eb15fad)
github: fix typo in issue template
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
(cherry picked from commit ffdc2b09eada82dd563f23a9a51e4ef8e233920f)
ci: Look for changed packages in the PR branch only
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 6b2294ac379ecae55993a8faa583910423f620e7)
ci: Use openwrt/gh-action-sdk@v5
The previous build errors with v5 have been fixed. This version builds
packages as a normal user instead of as root.
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
(cherry picked from commit 37f9b77b01fd148c946dc313869602fb8203eaea)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some security issues were fixed. Upstream labelled them as follows:
GHSA-79jq-hh82-cv9g: Fix Out-of-bound read in sip_method_d
GHSA-g3x6-p824-x6hm: Fix Out-of-bound read in url_canonize2 and
url_canonize3
GHSA-8w5j-6g2j-pxcp: Fix Heap-buffer-overflow in parse_descs and
parse_message
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use OpenSSL instead of the internal crypto backend. Everything in
OpenWrt that links to libsrtp2 depends on OpenSSL anyway.
Upsides:
- the libsrtp2 package size shrinks a bit (for example from 35 to 24
KiB on ath79)
- allows to use more cipher suites
- may allow for hardware acceleration
Closes#763
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since upstream commit b40c4d59b1dd803cad79060fb5b5a48d249ba578
"--disable-xmldoc" does no longer prevent the linking to libxslt, if
available. If that's the case one is greeted with the following error:
Package asterisk is missing dependencies for the following libraries:
libxslt.so.1
This commit explicitly disables the use of libxslt, to avoid the
dependency.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
FS is not yet ready for FFMPEG 5.0. Upstream has a related issue already
([1]).
Also move to AUTORELEASE.
[1] https://github.com/signalwire/freeswitch/issues/1560
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
utils/const_str_hash is called by rtpengine build system. The Perl
script uses shebang "#!/usr/bin/perl" and depends on perl-IPC-Cmd. If
this is missing the build will fail:
../utils/const_str_hash < "control_ng.c" > "control_ng.strhash.c"
Can't locate IPC/Cmd.pm in @INC (you may need to install the IPC::Cmd module) (@INC contains: /usr/local/lib64/perl5/5.34 /usr/local/share/perl5/5.34 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ../utils/const_str_hash line 6.
BEGIN failed--compilation aborted at ../utils/const_str_hash line 6.
make[4]: *** [../lib/common.Makefile:46: control_ng.strhash.c] Error 2
OpenWrt does not depend on perl-IPC-Cmd being available, so this commit
makes rtpengine build depend on perl/host, which provides this Perl
module.
Closes#748
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This includes time64 fixes plus allows reproducible builds.
Also switch to $(AUTORELEASE)
Closes#613Closes#742
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
kamailio macos build fails due to kamailio Makefile checks OS
(`uname -s`) and OSREL (`uname -r`). If build host is not Linux,
then these checks will provide different results, but OpenWrt is
always Linux so target OS should be always Linux.
This patch explicitly specifies OS=linux and OSREL=$(LINUX_UNAME_VERSION)
to avoid using build host values for target build.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
Most gstreamer packages aren't build when the target does not have
AUDIO_SUPPORT. This can be seen with realtek target (4kec).
This commit makes the gst plugins depend on AUDIO_SUPPORT, because
otherwise the build dies with this error:
Package baresip-mod-gst-video is missing dependencies for the following libraries:
libgstapp-1.0.so.0
Note: compiling baresip on a target without AUDIO_SUPPORT may be
questionable anyway.
Close#730
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
yate configure script uses `uname -s` to determine OS and changes
build logic regarding to build host OS. OpenWrt is always Linux so
it should be built as for Linux.
This patch uses fakeuname tool to pass `uname -s` checks as Linux
on macos build host.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
coturn build fails on macos due using `ar -r` by default, but macos
system `ar` is not compatible with the objects generated by OpenWrt
GCC toolchain.
This patch redefines ARCHIVERCMD="$(TARGET_AR) -r" to make it possible
to build coturn on macos build host.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
coturn package is reproducible unless the build OS is Ubuntu
coturn configure script detects Ubuntu build host([1]) and changes
compilation flags so produced OpenWrt binaries are different on
Ubuntu and any other build OS (e.g. Debian). It might be necessary
for native build but this check is not valid for cross-compiling.
This patch set LIBEV_OK=1 to generate the same binaries on Ubuntu
and other build OS
Refs:
[1] https://github.com/coturn/coturn/blob/upstream/4.5.2/configure#L426-L435
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
libpri can not be built on macos for OpenWrt Linux target due to:
1. Makefile uses `ar` and `ranlib` (without using make variables).
MacOS system ar and ranlib are not compatible with the objects
generated by OpenWrt GCC toolchain. This commit adds patch to
add an ability to redefine `ar` and `ranlib` tools.
Upstream issue: https://issues.asterisk.org/jira/browse/PRI-188
2. Makefile detects Darwin using `uname -s` and changes build logic
but it is not need for cross-platfrom build. This commit
redefines OSARCH=Linux in OpenWrt Makefile
3. After redefining OSARCH=Linux, libpri Makefile uses /sbin/ldconfig
that does not exist on MacOS. This commit redefines LDCONFIG=ldconfig
in OpenWrt Makefile to use ldconfig provided by OpenWrt.
Patch '001-fix-include-signal-h-warning.patch' was refreshed to pass
CI checks. The payload of this patch was not changed.
Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
The upstream commit 6073c91fcf0a46a1525d500c274fa5ab96af7dda broke
non-quectel devices due to the channel driver unable to complete
initialization.
This is fixed in the latest upstream commit.
Signed-off-by: Shaleen Jain <shaleen@jain.sh>
If there is enabled CONFIG_BUILD_NLS, coturn can not be compiled.
It fails with the following error:
Package coturn is missing dependencies for the following libraries:
libintl.so.8
But thanks to @micmac1, it was realized that libintl
is not used anywhere in coturn, that's why there was sent PR to upstream.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
This was upstreamed recently. All twelve commits were squashed into a
single patch.
Also the Makefile is switched to AUTORELEASE.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
With the recently updated openldap, kamailio fails to build. This adds
an upstreamed patch to resolve this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Patches taken from [1].
Added a postinstall note about the upcoming deletion of this package.
[1] https://github.com/wireapp/restund/pull/7
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
(cherry picked from commit dec6316f2f)
This is meant as a replacement for restund.
By default, sqlite3 support is enabled. The DBs to use can be freely
changed in menuselect, though. sqlite3 is enabled by default as it is
the upstream default DB.
The package installs turnserver, which includes an init script. Options
can be set via /etc/config/turnserver and /etc/turnserver.conf.
turnserver is started as root and later drops privileges to user/group
turnserver/turnserver.
DB schemas etc. get installed to /usr/share/coturn. The default DB path
is set to /etc/turnserver, to avoid volatile /var on OpenWrt.
/etc/turnserver is created and permissions are automatically set to only
allow access for user turnserver (done via fakeroot).
The utilities coturn provides are installed as well.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- bump to version 1.1.0
- change to use AUTORELEASE
- drop rtcpsummary from baresip-mods as it is now part of the default
modules
- update BARESIP_MOD_OPTIONS to allow for defining multiple variables
per module (the new module ctrl-dbus requires both HAVE_GLIB and
USE_DBUS)
- add new modules:
- aac
- amr (openamr still missing, but maybe amr passthrough becomes
possible)
- ausine
- ctrl_dbus
- ebuacip
- gst
- gst_video
- httpreq
- l16
- mixausrc
- mqtt
- multicast
- opus_multistream
- serreg
- snapshot
- speex_pp
- syslog
- vidinfo
-updated 002-fix-rem-include.patch
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- bump to version 1.0.0
- change to use AUTORELEASE
- point to github instead of now-defunct www.creytiv.com
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add upstream build fix related to libsrtp version bump
- switch to $(AUTORELEASE)
- refresh patch
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- switch to $(AUTORELEASE)
- update upstream URL
- add ABI_VERSION
- drop patch that is included upstream
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Setting AST_MODULE_SELF_SYM is no longer required.
Update the Makefile patch for the new version, the functional changes are
the same except the added -Wall compiler flag.
Switch to AUTORELEASE while at it.
Signed-off-by: Andre Heider <a.heider@gmail.com>
This is a patch in a patch. It may happen that the patch was already
applied previously, so this amends the patch line to continue if the
patch doesn't apply. It also sets the direction to forward-only.
Also removes two trailing whitespace warnings.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- freetdm is now external
- added the freeswitch library to InstallDev in preparation for freetdm
package
- add time64 change which always uses "lld" format and casts
- various fixes related to general build and time64 especially
- patches refreshed
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Provide quick hint to users to sort out possible/likely permission
issue.
Also refreshes some patches.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently the asterisk init script starts the service with the group
"asterisk". Like this, even if the asterisk user is part of other groups,
asterisk will not be able to make use of them. So for instance if you add the
user to the group "dialout", asterisk will run under group "asterisk", instead
of "asterisk" _and_ "dialout".
Not specifying the group gets rid of this limitation.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The removed patch has been applied upstream and is part of this release.
Switch to AUTORELEASE while at it.
Signed-off-by: Andre Heider <a.heider@gmail.com>
Currently the freeswitch init script starts the service with the group
"freeswitch". Like this, even if the freeswitch user is part of other
groups, freeswitch will not be able to make use of them. So for instance
if you add the user to the group "dialout", freeswitch will run under
group "freeswitch", instead of "freeswitch" _and_ "dialout".
Not specifying the group gets rid of this limitation.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Sporadic build failures are visible on the build bots.
libyate.so: undefined reference to `TelEngine::ClientLogic::initStaticData()'
libyate.so: undefined reference to `TelEngine::DefaultLogic::DefaultLogic(char const*, int)'
collect2: error: ld returned 1 exit status
Turning off parallel builds should (hopefully) work around this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Bump to last commit. Includes fix for DTMF causing call release when
using Asterisk 18 (see [1]).
[1] https://github.com/openwrt/telephony/issues/631
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This
- updates the dependencies
- makes rtpengine use spandsp3 (it supports this version now)
- fixes /etc/modules.d/ipt-rtpengine (needs user and group ids instead
of names)
- adds user as well when kmod is installed so that abovementioned user
and group ids are available
- adds /etc/modules.d/ipt-rtpengine to conffiles
- removes 01-cflags.patch since upstream fixed the flag handling
- removes 200-openssl-deprecated.patch as it was integrated upstream
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
It's not wanted, so add "--disable-nls" to override user selecting
CONFIG_BUILD_NLS.
This also updates 01-update-autotools.patch to make these disappear:
ERROR: Use of AM_GNU_GETTEXT without [external] argument is no longer supported.
Makefile.am:21: warning: 'intl' should not be in SUBDIRS when AM_GNU_GETTEXT([external]) is used
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Issue #672 shows that the current macro has some pitfalls, at least when
running within OpenWrt's buildroot.
The macro is used to detect these tools:
1. xml2-config
2. mysql_config
3. neon-config
4. net-snmp-config
5. sdl-config (we're not using SDL)
The macro also adds configure arguments that allow to specify a path
like so:
--with-mysqlclient=PATH
Macro problems:
1. If no PATH is specified, it adds "/bin" to the search path.
Obviously this is a bad thing when cross-compiling.
2. If a PATH is specified, it adds it to the start of every include
and library path it encounters. These paths are then broken.
This commit makes problem 1 go away by making the addition of
"${$1_DIR}/bin" to the PATH dependent on there being a PATH handed to
the macro. An alternative would be to remove the PATH addition
altogether, but then the macro wouldn't behave as expected.
It also removes the path filtering of the include and lib dirs to
address problem 2.
Closes#672
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This sets STOP to 10 to allow for a graceful shutdown. Users may
additionally need to set "term_timeout" in /etc/config/freeswitch to a
sensible value.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Fixes some issues, for instance a segfault during shutdown when
sofia-sip wasn't fully loaded, see [1]. The segfault was reproducible
by simply calling "freeswitch -help".
The added patch is to address a library versioning regression, patch is
from upstream.
[1] https://github.com/freeswitch/sofia-sip/issues/58
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Update deps of asterisk-res-pjproject. It depends on res_sorcery_config,
which is part of asterisk-res-sorcery.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
On the build bots the patch patches clashes with Build/Prepare. This
commit removes it in favor of a simple sed script. The resulting change
is identical.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
src/Makefile.defs adds "-march=..." to target flags for ARM targets.
This can clash with the OpenWrt target flags in
CONFIG_TARGET_OPTIMIZATION. If for example the latter is set to
"-mcpu=cortex-a9" the following warning is issued:
cc1: warning: switch '-mcpu=cortex-a9' conflicts with '-march=armv5t' switch
This commit removes these flags. The addition is unwanted when
cross-compiling.
An issue was raised for this recently, see [1].
[1] https://github.com/openwrt/packages/issues/16135
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some SIP UAs support lots of features and codecs which results in
large SIP messages. YATE, with its default configuration, truncates
and fails to parse received SIP messages which are larger than 1500
bytes. Let's increase the default max message size for OpenWrt users
to make it easier to use yate out-of-the-box.
The new max size of 8192 bytes has been arbitrarily chosen.
I've seen the SIP UA baresip produce messages larger than 1500 bytes
with its default configuration when authentication is used.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
New yate modules in this release:
yate-mod-ilbcwebrtc
yate-mod-speexcodec
yate-mod-wiresniff
Some patches were removed:
110-no-libnsl.patch - not needed
120-create-thread-key-on-access.patch - not needed
150-video-codecs-mapping.patch - already applied upstream
Some additional changes:
* An upstream fix (r6470) is cherry-picked to avoid crashing when YATE
receives an invalid SIP message.
* Build directory changed to include package version.
* Set PKG_BUILD_PARALLEL to allow parallelized build of yate.
* Speed up build if yate-mod-ilbccodec or yate-mod-sqlitedb is
disabled (disable ilbc and sqlite in configure step).
* Removing umbrella package yate-collection-basic. It isn't built and
hasn't been built for years and I think the modules it wants to
install are a bit strange and probably not useful to most
users. From the name yate-collection-basic I would expect to get
some basic functionality, but why would I then need
yate-mod-dumbchan, yate-mod-rmanager and yate-mod-tonegen? What is
the use case? I think it's better that users themselves install the
packages needed for their use case, especially in OpenWrt where
flash space usually is limited and you don't want to install more
packages than what you really need.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
Upstream implemented or updated IPv6 support.
This commit also updates the package title and fixes some
spelling/grammar in the package's description.
PKG_MIRRIR_HASH removed from Makefile as per suggestion in [1] (svn
checkouts aren't reproducible).
[1] https://openwrt.org/docs/guide-developer/packages
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This adds a term_timeout uci option which can be used to change the
default timeout that procd uses while waiting for freeswitch to exit
once the TERM signal is sent. freeswitch may take a bit longer to exit,
so adding this option is likely appreciated. By default procd's default
is used, though.
Logging is updated in init script and hotplug script. The used facility
is changed from user to daemon, for instance.
An issue was fixed in the parsing of the ntpq output. In case a positive
offset was printed the parsing failed. Apparently ntpq is now adding a
'+', so this is now accounted for.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- patches which are now upstream were removed
- some patches were refreshed
- 003-modmake-fix.patch was amended a bit because of upstream commit
91f12b5 (it changed tests/unit/Makefile.am so that it doesn't
redefine AM_CFLAGS and AM_CPPFLAGS, which results in duplicated flags)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Neither configure.ac nor configure.in exists, so autoreconf is a no-op.
This commit drops it.
Also, run "make dep" as advertised by the README and the configure
script.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This sets PKG_EXTMOD_SUBDIRS so kernel.mk can find the DAHDI
Module.symvers file.
Also, this puts KERNEL_MAKE_FLAGS into the make flags. This way
Module.symvers files of other modules are made available, plus there is
no need anymore to specify ARCH and CROSS_COMPILE, as KERNEL_MAKE_FLAGS
already takes care of that.
TARGET_CONFIGURE_OPTS is dropped because this seems out of place
(configure vs. compile).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This sets PKG_EXTMOD_SUBDIRS so kernel.mk can find the rtpengine
Module.symvers file.
Also, this puts KERNEL_MAKE_FLAGS into the make flags used to compile
the kernel module. This way Module.symvers files of other modules are
made available, plus there is no need anymore to specify ARCH and
CROSS_COMPILE, as KERNEL_MAKE_FLAGS already takes care of that.
While updating make flags this also adds PKG_JOBS for completeness'
sake.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
rtpengine is not primarily about kernel modules. It's an application
(which also offers a kernel module). So build it in BUILD_DIR instead of
KERNEL_BUILD_DIR.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Uriparser is a compliant URI parsing and handling library for RFC 3986.
For now, this is not included in OpenWrt feeds, but in Turris OS
uriparser is used as dependency for Updater-ng.
When Asterisk finds in build system there is uriparser or anything else mentioned in configure,
it tries to enable it by default. This applies to every package in
OpenWrt and because of that new packages which are added to OpenWrt tries to disable almost
everything by default. Because if someone adds library, some packages
are not compiled or tested.
Fixes:
Package asterisk is missing dependencies for the following libraries:
liburiparser.so.1
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
Variable 'UID' is set readonly in some calling contexts, yielding errors
during e.g. ImageBuilder usage:
Enabling rpcd
./etc/init.d/siproxd: line 14: UID: readonly variable
Enabling siproxd
Enabling sysctl
Rename UID and GID variables as SIPROXD_UID and SIPROXD_GID.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This commit makes asterisk-chan-rtp depend on
asterisk-res-rtp-multicast. Without the res-rtp-multicast module
chan-rtp cannot be loaded:
OpenWrt*CLI> module load chan_rtp.so
Unable to load module chan_rtp.so
Command 'module load chan_rtp.so' failed.
[Jan 9 08:51:01] ERROR[16337]: loader.c:281 module_load_error: Error loading module 'chan_rtp.so': Error relocating /usr/lib/asterisk/modules/chan_rtp.so: ast_multicast_rtp_create_options: symbol not found
This issue was mentioned in the OpenWrt forum ([1]).
[1] https://forum.openwrt.org/t/asterisk-makes-a-problem-with-loading/84816
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This reverts commit 150b85ab35.
OpenWrt upstream updated the lua package so that liblua now is linked
to libdl.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Backport upstream patch fixing this issue.
Remove uClibc-ng patch as it's no longer in the tree.
Refresh patches.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Currently building for archs target against glibc fails:
checking for mandatory modules: CAP GSM ILBC LIBEDIT LIBXML2 LUA PJPROJECT SQLITE3 SRTP ZLIB... fail
configure: ***
configure: *** The LUA installation appears to be missing or broken.
Checking config.log reveals:
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlopen'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlclose'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlerror'
/home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/toolchain-arc_archs_gcc-8.4.0_glibc/bin/../lib/gcc/arc-openwrt-linux-gnu/8.4.0/../../../../arc-openwrt-linux-gnu/bin/ld: /home/sk/tmp/sdk/openwrt-sdk-archs38-generic_gcc-8.4.0_glibc.Linux-x86_64/staging_dir/target-arc_archs_glibc/usr/lib/liblua.so: undefined reference to `dlsym'
This commit adds "-ldl" to lua linker flags so compilation against glibc
works. This has no ill effect on musl where libdl is just an empty
library archive.
This is not something that should be sent upstream, as they maybe
support non-Linux platforms as well.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Fix patch 230 as it's a patch of a patch with fuzz and wrong offsets.
It seems something on CentOS 7 doesn't like fuzz.
The AC_TRY_RUN section was removed as upstream added a check whether or
not cross compilation is being done, making it no/op.
Refresh other patches.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The patch "010-fix-non-glibc-builds.patch" is broken. The test for
HAVE_EXECINFO_H must happen after including "<autoconfig.h>".
Instead of fixing the patch this commit removes it. In lieu,
CONFIGURES_ARGS are added to the Makefile. These disable the building of
some tools that are not packaged anyway. Like this, "xpp/xtalk/debug.c"
is avoided, hence the patch becomes irrelevant.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This is a response to [1] and [2]. In short, since upstream commit
"channel.c: Resolve issue with receiving SIP INFO packets for DTMF" a
segmentation fault occurs during DTMF when no timing module is loaded.
This commit adds the timerfd timing module to the asterisk base package.
Other possibilities would have been res_timing_pthread and
res_timing_dahdi, but timerfd is the obvious choice because it's
efficient and OpenWrt offers the required kernel support (see [3] for
more details).
Note: even without any timing module the segmentation fault should not
occur according to upstream. Upstream is still working on that. But in
general it makes sense to have a timing module available (loaded) and
the module is tiny anyway.
[1] https://github.com/openwrt/telephony/issues/597
[2] https://issues.asterisk.org/jira/browse/ASTERISK-28800
[3] https://wiki.asterisk.org/wiki/display/AST/Timing+Interfaces
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Bumps kamailio to version 5.4.2 and removes the suffix, as there is only
one kamailio version at a time anyway.
Also:
- Replaces a few $(PKG_NAME) uses with simply "kamailio"
- Drops the use of variable PKG_VARIANT (was not set anyway)
- Drops 160-openssl-deprecated.patch (upstream first accepted the
patch, then dropped it again after crashes were reported, see [1])
[1] https://github.com/kamailio/kamailio/issues/2466
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The Erlang module build checks for libs and includes using the erl tool.
This is a hostpkg tool providing paths into the staging/hostpkg.
Of course this fails:
arc-openwrt-linux-uclibc-gcc -shared -Wl,-O2 -Wl,-E -L/builder/shared-workdir/build/sdk/staging_dir/toolchain-arc_arc700_gcc-8.4.0_uClibc/usr/lib -L/builder/shared-workdir/build/sdk/staging_dir/toolchain-arc_arc700_gcc-8.4.0_uClibc/lib -L/builder/shared-workdir/build/sdk/staging_dir/target-arc_arc700_uClibc/usr/lib/libiconv-stub/lib -Wl,-rpath-link=/builder/shared-workdir/build/sdk/staging_dir/target-arc_arc700_uClibc/usr/lib/libiconv-stub/lib -L/builder/shared-workdir/build/sdk/staging_dir/target-arc_arc700_uClibc/usr/lib/libintl-stub/lib -Wl,-rpath-link=/builder/shared-workdir/build/sdk/staging_dir/target-arc_arc700_uClibc/usr/lib/libintl-stub/lib -znow -zrelro -pthread -rdynamic "-ldl" -Wl,-Bsymbolic-functions handle_emsg.o pv_xbuff.o cnode.o erl_api.o epmd.o erl_helpers.o pv_ref.o pv_pid.o pv_atom.o worker.o handle_rpc.o pv_list.o pv_tuple.o erlang_mod.o -L/builder/shared-workdir/build/sdk/staging_dir/hostpkg/lib/erlang/lib/erl_interface-4.0/lib -lei -lpthread -o erlang.so
/builder/shared-workdir/build/sdk/staging_dir/toolchain-arc_arc700_gcc-8.4.0_uClibc/bin/../lib/gcc/arc-openwrt-linux-uclibc/8.4.0/../../../../arc-openwrt-linux-uclibc/bin/ld: /builder/shared-workdir/build/sdk/staging_dir/hostpkg/lib/erlang/lib/erl_interface-4.0/lib/libei.a: error adding symbols: file format not recognized
collect2: error: ld returned 1 exit status
../../Makefile.rules:191: recipe for target 'erlang.so' failed
make[6]: *** [erlang.so] Error 1
This patch prevents this by relying on the standard paths, where Erlang
resides in OpenWrt.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Also use PKG_SOURCE_DATE now to proper things up. And use INSTALL_DATA
for the configuration file.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Bump commit as upstream recently added some bits to support Asterisk 18.
- Switch to INSTALL_DATA for configuration file.
- Remove VARIANT-related bits as we only have one Asterisk version.
- Remove dep on app_voicemail as chan-sccp has no hard dependency on it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Bump to new LTS release.
- Move to folder asterisk and remove AST_MAJOR_VERSION variable, as we
only have one version anyway.
- Add new modules.
- Rename voicemail to app-voicemail.
- Remove deps of voicemail on res-adsi and res-smdi as they are
optional.
- Use INSTALL_DATA for headers.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream dropped autotools support, so this converts the build to use
cmake. Adds a simple include fix as well as a fix for older c++
compilers (the latter is a patch from upstream).
Support for pcaps is now also compiled in, to follow what upstream
considers a "common" build.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
There are no secrets in /etc/restund.conf. Remove the postinstall script
and install the file with regular permissions.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
We can now set permissions directly thanks to OpenWrt having added
fakeroot support.. This also changes the permissions of /etc/baresip so
that baresip can write to this directory. For instance it wants to write
the file /etc/baresip/current_contact for which it needs the appropriate
permissions (baresip is started by user baresip).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Bump to upstream release 2.3.0. Move folder and change PKG_NAME so that
we don't have to deal with how github names the tar.gz archive.
Also, don't install the libsrtp2.so symlink anymore on target, as it is
not required and only used in staging.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- remove 010-openssl-deprecated.patch as upstream seems to have fixed
the issue
- upstream closed down the server http://www.creytiv.com/ so this
changes URLs
- dtmfio module removed upstream
- always set DESTDIR so that PREFIX is /usr instead of /usr/local
- update 002-fix-rem-include.patch and remove LIBREM_PATH usage
altogether as it only adds broken include paths which aren't useful in
the end anyway
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- remove 010-openssl-deprecated.patch as it does not apply anymore and
upstream seems to have fixed the issue
- upstream closed down the server http://www.creytiv.com/ so this
changes URLs
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add a configuration option SIPROXD_MAX_CLIENTS used for compile-time sizing
of the maximum supported proxy clients. Set this to a default value of 32,
which is more suitable for a small network or CPE router and uses much
less memory than the upstream value of 512 (e.g. RSS of 2 MB vs 17 MB).
Drop the following patch in favour of the new config option:
* 005-reduce-rtpproxy-urlmap-size.patch
Also fix an incorrect configure option, and silence many warnings due to
unused VCS 'ident' variables in the sources.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This patch was used in 1.10.4 but now it's not used anymore because the
external spandsp3 package is used. Drop the file.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
1. Upstream fixed the parallel build issue in
90ea0b7a1fdd7d8c5adaac87d74ed1c3c74086d0, so no need to force it off
anymore.
2. The same sed script for uncommenting modules in modules.conf is used
multiple times. This commit puts the script into a define that can be
reused.
3. Some ifdefs removed. They only clutter up the Makefile. The sed
script can run a few extra times, it does not matter.
4. Add a few extra dependencies that came to light.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Minor version bump. This also partially reverts
7e7ab06ccd by disabling parallel builds,
as there are sporadic build failures again
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This release includes bug fixes and improvements accumulated over the last
4 years of development snapshots [1].
Bump upstream version, build new plugins 'stats' and 'blacklist', and add
an 'sqlite3' package dependency for siproxd-mod-blacklist.
Disable procd capturing stderr to syslog, since siproxd in 'foreground'
mode writes both to syslog and stderr, duplicating log messages.
Include a patch to drastically reduce memory usage (RSS from 17MB to 5MB
on ipq40xx platform):
* 005-reduce-rtpproxy-urlmap-size.patch
Drop the following patches now included upstream:
* 010-syslog-msg.patch
* 020-gcc10.patch
* 100-musl-compat.patch
[1] http://siproxd.sourceforge.net/index.php?op=changelog.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This now uses the external spandsp3 package.
Patches:
- 390-t38-reinvite-488-fix.patch removed (finally upstreamed)
- 340-mod-spandsp-fix-typo.patch and 350-gsmopen-spandsp-fixup.patch
added (both accepted into upstream master already)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Includes fix that buildroot submitted upstream.
This introduces a variable to make following upstream versions a bit
easier.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit adds an updated spandsp library. This is not a drop-in
replacement for the "old" spandsp library. Applications that want to use
it need to be updated a bit, according to upstream info [1].
In an effort to not cause any problems for OpenWrt, this package
installs the library and headers in the staging directory into
non-standard paths:
Library: $(STAGING_DIR/usr/lib/spandsp3/lib
Headers: $(STAGING_DIR/usr/lib/spandsp3/include
This way they are hidden aways from all normal users (like asterisk,
baresip etc.) and won't interfere.
To use the new spandsp library users can look for the spandsp3
pkg-config file (the regular spandsp installs spandsp.pc, this package
installs spandsp3.pc). This should be enough. The first such user will
likely be the freeswitch package, once it gets updated to 1.10.5.
[1] https://github.com/freeswitch/spandsp/issues/5
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream split out spandsp as well. But their spandsp "fork" may not be
a drop-in replacement for the regular spandsp. For now we keep it built
into freeswitch via patch.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This works around the build failure with gcc-10 until there is a patch
for dahdi-tools that is reviewed and acknowledged by upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- package two new modules: dlgs and pv_headers
- upstream actually provides three more new modules, but two are missing
dependencies in OpenWrt and one is related to systemd
- use INSTALL_DATA instead of INSTALL_CONF for kamailio configuration
files (not talking about /etc/config/kamailio) as they're default
configuration
- refresh 050-fix-kamailio-utils.patch
- drop upstreamed 150-python3-cross-compile.patch
- libsrutils is no longer packaged as upstream moved it into the core
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
No need to have this symbol around here. libfreetdm is part of the same
package (freeswitch) anyway.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
A small but important oversight crept into the last asterisk-chan-dongle
update. The iconv library detection was changed to look for iconv()
instead of libiconv().
Reminder: the autoconf macros for finding libraries do _not_ include any
extra headers when testing the compile. So the redefinitions done in
iconv.h provided by any libiconv (stub or regular) aren't visible during
the test the macros execute.
This means that when testing for iconv() the only iconv that can be
detected is the one from libc. Moreover, if the libc doesn't provide
iconv, the check will fail. Below example is with uclibc:
checking for iconv in -liconv... no
configure: error: iconv library missing
Makefile:87: recipe for target '/builder/shared-workdir/build/sdk/build_dir/target-arc_archs_uClibc/asterisk-chan-dongle-asterisk16/asterisk-chan-dongle-2020-05-28-328b2b7d/.configured_a17fb5ef857664f03cd0ce37cc5ea591' failed
So, this changes the patch to look for libiconv(), again.
Also, instead of using AC_CHECK_LIB this uses AC_SEARCH_LIBS, like
upstream does. There apparently was a problem with that in the past, but
now it works fine.
checking for rm... rm
checking for library containing libiconv... -liconv
checking for sqlite3_open in -lsqlite3... yes
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently we disable some sofia tests to prevent build failure. An issue
was actually raised upstream ([1]) where this was discussed.
This cleared up some doubts. For instance it was established that
libcheck is used as a test framework, if the lib is detected. In OpenWrt
libcheck is available, so it may be in staging during the freeswitch
build.
Upstream also mentioned that libcheck is not always compatible with
freeswitch, which depends on the libcheck version.
This commit prevents libcheck detection. This is nicer than explicitly
disabling tests that fail.
[1] https://github.com/signalwire/freeswitch/issues/681
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Bump dongle plugin to latest git revision. PKG_SOURCE_SUBDIR and
PKG_BUILD_DIR are removed because defaults are fine. PKG_VERSION is
replaced by PKG_SOURCE_DATE, which is in line with OpenWrt
recommendation.
Soft deps are removed as per request in issue #536.
iconv handling is updated. Upstream now lets us specify the include
directory, so that makes the patch simpler. The iconv lib detection is
also updated so that it never picks the libc iconv. This way we get the
same iconv handling independent of the libc in use. Now it'll be always
iconv-stub or iconv-full.
libsqlite3 dep is made explicit. There was always a dep on it, but it
was implicit via asterisk. When the dep is made explicit, the dongle
package picks up on the sqlite3 ABI_VERSION, which is nice.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The rtpengine build system uses the Makefiles to generate source files
on the fly. This usually works fine, but when building in parallel,
intermittently the generated files contain garbage (like, lines are
repeated, causing redefinition errors).
As a workaround this commit disables parallel builds.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit follows upstream, how they include the Debian build system
flags, appending them to their own. To that end OpenWrt's flags are now
saved at the beginning of the Makefiles, and appended at the bottom of
lib/lib.Makefile.
This also sorts out the iptables module compile, to use OpenWrt's
LDFLAGS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
We have both liblua and liblua5.3 in $(STAGING_DIR)/usr. But the headers
for liblua5.3 are in (STAGING_DIR)/usr/include/lua5.3. The way things
are now, Asterisk uses the headers from liblua and links against
liblua5.3.
The easiest way out of this is to turn off the lua detection that is
based on version numbers. The next detection looks for a version-less
lua, which works fine.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit changes handling of configuration and init a bit:
1. Asterisk configuration files are installed with $(INSTALL_DATA). This
way there is no need to chown /etc/asterisk to user asterisk. The
package provides the standard asterisk configuration (no secrets) so
it's OK to install it readable for all. If users put something
sensitive in there they can update permissions how they like.
2. The init script no longer creates directories that the users can
configure in /etc/config/asterisk, which could be all kinds of
strange directories. Instead only the default directories are
created, and only the ones that reside on volatile memory. The other
directories are now created by the package itself.
3. This commit removes the ability to choose a user/group via
/etc/config/asterisk. This makes the init script simpler. If anybody
wants to play around with the user/group, then it's up to them to fix
the permissions.
4. "local" is removed because it's not POSIX.
5. From issue #520 we know that adding the user to the dialout group
does not help with the device permissions for chan_lantiq. This
removes it again.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Patches refreshed, no longer needed patches are dropped.
This adds directory "/usr/share/asterisk/firmware/iax" to silence a
run-time warning.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream commit 2dced93 "[sofia-sip] Build internal tests" enabled the
building of tests. One of them causes build failures on the build bots:
Making all in s2check
make[11]: Entering directory '/builder/shared-workdir/build/sdk/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/freeswitch-1.10.3.-release/libs/sofia-sip/s2check'
COMPILE s2tcase.o
s2tcase.c: In function 's2_tcase_add_test':
s2tcase.c:60:27: error: passing argument 2 of '_tcase_add_test' from incompatible pointer type [-Werror=incompatible-pointer-types]
_tcase_add_test(tc, tf, name, signo, 0, start, end);
^~
In file included from s2tcase.c:35:
/builder/shared-workdir/build/sdk/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include/check.h:331:69: note: expected 'const TTest *' {aka 'const struct TTest *'} but argument is of type 'TFun' {aka 'void (*)(int)'}
CK_DLL_EXP void CK_EXPORT _tcase_add_test(TCase * tc, const TTest * ttest,
~~~~~~~~~~~~~~^~~~~
s2tcase.c:60:31: error: passing argument 3 of '_tcase_add_test' makes integer from pointer without a cast [-Werror=int-conversion]
_tcase_add_test(tc, tf, name, signo, 0, start, end);
^~~~
In file included from s2tcase.c:35:
/builder/shared-workdir/build/sdk/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include/check.h:332:47: note: expected 'int' but argument is of type 'const char *'
int _signal, int allowed_exit_value,
~~~~^~~~~~~
s2tcase.c:60:7: error: too many arguments to function '_tcase_add_test'
_tcase_add_test(tc, tf, name, signo, 0, start, end);
^~~~~~~~~~~~~~~
In file included from s2tcase.c:35:
/builder/shared-workdir/build/sdk/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include/check.h:331:27: note: declared here
CK_DLL_EXP void CK_EXPORT _tcase_add_test(TCase * tc, const TTest * ttest,
^~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
I can't reproduce this at home. Not with a master checkout, not with a
current SDK. But the tests are not needed for the OpenWrt packages
anyway, so this commit disables them again.
No rev bump is done because this has no effect on the packages.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
rtpengine is a proxy for RTP traffic. It has lots of capabilities,
including transcoding, in-kernel forwarding and SRTP transport, to name
a few.
Packaging:
1. regular rtpengine
2. rtpengine variant without transcoding support (smaller dependency
tree)
3. recording daemon
4. kernel module
5. iptables module
Simple init scripts (procd) are included, plus a hotplug script for
rtpengine.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This is in response to a posting on oss-security ([1]).
This commit removes the ability to choose a user/group via
/etc/config/freeswitch. This makes the init script simpler. If anybody
wants to play around with the user/group, then it's up to them to fix
the permissions.
The complex awk script is deleted and replaced by two for-loops,
basically. The first loop creates "/var/lib/freeswitch" and
"/var/run/freeswitch" and chowns them to freeswitch, in case they don't
exist already.
The second loop checks if the other directories (either the default ones
or the ones specified by the user) exist. If any is missing it uses "su"
to create that directory as user "freeswitch".
The reasoning behind this is that a) this works for the defaults
(example: "/tmp/freeswitch/db") and b) the user can specify anything
he/she wants in "/etc/config/freeswitch", which could be all kinds of
strange directories. "mkdir" may now fail, as we're not calling it as
root anymore, but we err on the side of caution, as the saying goes.
Calls to "chmod" are eliminated. Instead the desired mode is provided to
"mkdir". The latter applies the mode only to the final directory.
Possible parent directories are created with the regular umask alone.
A dependency on the "su" utility is added to the Makefile.
"local" also gets removed because it is undefined in POSIX.
[1] https://www.openwall.com/lists/oss-security/2020/04/30/1
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since recent commit 60ea8ff OpenWrt flags are added to CC_EXTRA_OPTS
instead of CFLAGS, allowing upstream flags to pass into our builds.
Upstream passes "-funroll-loops", which increases package sizes
significantly.
Example mips:
kamailio5_5.3.3-1_mips_24kc.ipk: 1019K
kamailio5_5.3.3-2_mips_24kc.ipk: 1,4M
This commit removes "-funroll-loops", reducing the size to previous
level.
kamailio5_5.3.3-2_mips_24kc.ipk: 1021K
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
On some 32 bit targets dahdi-linux currently fails to build.
Examples:
ERROR: "__divdi3" [/builder/shared-workdir/build/sdk/build_dir/target-powerpc_8540_musl/linux-mpc85xx_generic/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.ko] undefined!
ERROR: "__udivdi3" [/builder/shared-workdir/build/sdk/build_dir/target-powerpc_8540_musl/linux-mpc85xx_generic/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.ko] undefined!
ERROR: "__moddi3" [/builder/shared-workdir/build/sdk/build_dir/target-powerpc_8540_musl/linux-mpc85xx_generic/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp.ko] undefined!
ERROR: "__divdi3" [/builder/shared-workdir/build/sdk/build_dir/target-powerpc_8540_musl/linux-mpc85xx_generic/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp.ko] undefined!
or
ERROR: "__aeabi_ldivmod" [/store/buildbot/slave/shared-workdir/build/sdk/build_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/linux-bcm27xx_bcm2708/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.ko] undefined!
ERROR: "__aeabi_uldivmod" [/store/buildbot/slave/shared-workdir/build/sdk/build_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/linux-bcm27xx_bcm2708/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp_usb.ko] undefined!
ERROR: "__aeabi_ldivmod" [/store/buildbot/slave/shared-workdir/build/sdk/build_dir/target-arm_arm1176jzf-s+vfp_musl_eabi/linux-bcm27xx_bcm2708/dahdi-linux-3.1.0/drivers/dahdi/xpp/xpp.ko] undefined!
Problem was reported to upstream already by third party ([1]). Patch
attached to bug report is not sufficient.
This commit adds a patch from PLD Linux ([2]) to address the build
failures.
[1] https://issues.asterisk.org/jira/browse/DAHLIN-371
[2] https://github.com/pld-linux/dahdi-linux/blob/master/math64.patch
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Adds the Python 3 module. Patch is required because otherwise the
module's Makefile tries to get the includes from host python.
The patch also adds "--embed" to the python-config call that discovers
LDFLAGS as otherwise the python lib is not linked into the module.
Patch has been accepted upstream already.
Adding PYTHON3 to MAKE_VARS tells the Makefile which python to use.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This switches the Makefile away from calling "make" manually to using
OpenWrt default build defines. This way PKG_BUILD_PARALLEL and
PKG_INSTALL can be used.
To achieve this the flags are added to MAKE_FLAGS. The flags are also
tidied up as per example from Alpine Linux. Like this the build is
cleaner, for instance this gets rid of the wrong share directory
("//share/kamailio" instead of "/usr/share/kamailio") and things like
multi-slashes in directory names (ex. "///usr/lib/kamailio/modules").
lib_target was removed after verifying that the correct RPATH
"/usr/lib/kamailio" is still in place without it.
CFLAGS is replaced by CC_EXTRA_OPTS (same is already done for LDFLAGS).
This way upstream source can add flags like "-Wall" to OpenWrt builds.
Extra flags LOCALBASE, SYSBASE and CROSS get removed as they aren't
needed anymore with the "Alpine Linux" flags.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently CI doesn't work, because the dependencies from the packages
repo are not available.
<snip>
WARNING: No feed for package 'libopenldap' found
WARNING: No feed for package 'libidn2' found
WARNING: No feed for package 'libssh2' found
<snip>
This commit adds the packages repo.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
We like to use "kamailio-5.x:" and "asterisk-16.x:" in commit message
subject lines. So relax the regex for it to allow the dots.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit updates kamailio to version 5.3.3.
Within this commit the python support is removed, since
the python 2.x support is removed and app-python3 is not
ready yet.
Signed-off-by: Jiri Slachta <jiri@slachta.eu>
Following the removal of python2 from packages this commit removes
python support from this package. FreeSWITCH at present does not support
python3.
120-fix-copts.patch is refreshed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the opencv module from freeswitch-stable. The module
has been marked BROKEN already for some time, and currently
it causes a dependency error, as the opencv package itself
was removed from the packages feed.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
The libpq pkg-config file has been fixed in packages, so we can revert
the commit that introduced the workaround.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit provides compatibility with kernel 5.4.
Except for the version bump this commit updates the HFC-S PCI driver to
not rely on the macro "dahdi_pci_module" anymore, because it has been
removed upstream in commit 4af6f69.
Also, a patch is added that makes the include of "<linux/pci-aspm.h>"
conditional on the kernel version, because starting with kernel 5.4 this
header has been removed and its contents merged into "pci.h".
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This adds CircleCI as Continous Integration. It will provide compile
test against ath79 target and together with it, it checks if the commit
starts with the package name and it checks if the Signed-off-by matches
the author of the commit.
For example, it can avoid mistakes with broken patches, mismatched changes.
This comes from packages feed and it is being used there and also in
LuCI repository.
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
CFLAGS aren't used when compiling objects for check_expr2. This commits
adds the flags, which fixes the compilation when PKG_ASLR_PIE is
enabled. Note: The STANDALONE define is removed because it is already
defined in _ASTCFLAGS.
Fixes#502
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Patches refreshed, two patches removed (included upstream), fixed one
typo (will send pull request to upstream if nobody did so yet).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
gentls_cert generates certificates that are deemed too weak by Debian's
OpenSSL (on Buster and up). This patch upgrades the message digest to
SHA256 to address this.
See patch for details. Sent upstream ([1]).
[1] https://github.com/signalwire/freeswitch/pull/126
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
FS supports OpenSSL 1.1 but still relies on some of its deprecated
symbols. This commit updates the package's depends to reflect that.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The .pc file uses hard-coded paths:
prefix=/usr
exec_prefix=${prefix}
libdir=/usr/lib
includedir=/usr/include
It also pushes "-I/usr/include" into CFLAGS. This commit amends all of
that.
Resolve: #483
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
There were problems in the past with OpenWrt's libxml2 package (also
it's host package). This led to quite a few workarounds in the asterisk
Makefile.
Recent changes in the libxml2 package have cleared this up.
1. a proper xml2-config file is now installed by both libxml2 and
libxml2/host
2. xml2-config is now installed with a host triplet prefix (e.g.
"mips-openwrt-linux-xml2-config" for libxml2 and
"x86_64-pc-linux-gnu-xml2-config" for libxml2/host), additionally
these tools get a symbolic link to xml2-config
That means that now OpenWrt's libxml2 can be properly detected and the
workarounds are no longer required.
This commit also removes an explicit dependency on libxml2 from
res-calendar-caldav. The base package already depends on libxml2, hence
the dependency is implicit.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
menuconfig is currently showing warnings for kamailio:
WARNING: Makefile 'package/feeds/telephony/kamailio-5.x/Makefile' has a dependency on 'bcunit', which does not exist
WARNING: Makefile 'package/feeds/telephony/kamailio-5.x/Makefile' has a dependency on 'mediastreamer2', which does not exist
WARNING: Makefile 'package/feeds/telephony/kamailio-5.x/Makefile' has a dependency on 'ortp', which does not exist
This commit removes the module in question to clear the warnings.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Quote from Asterisk commit e6cc1f5083bbb85a76280e4bbada7be265b0a106:
"Issues in pjproject 2.9 caused us to revert some of their changes as a
work around. This introduced another issue where pjproject wouldn't
build with older gcc versions such as that found on CentOS 6. This
commit replaces the reverts with the official fixes for the original
issues and allows pjproject to be built on CentOS 6 again."
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
From upstream release notes:
Six new modules:
- app_lua_sr – old Lua API before introduction of KEMI
- lost – HELD (RFC6155) and LOST (RFC5222) location-based routing
- kemix – KEMI specific extensions
- rtp_media_server – embedded RTP and media processing
functionalities for Kamailio (like playing media or bridging in a
B2BUA manner, includes support for different codecs, including Opus)
- secfilter – filters to allow/block using whitelists/blacklist based
on user agents, IP addresses, countries, domains and users
- xhttp_prom – generates suitable metrics for a Prometheus monitoring
platform, answering to Prometheus pull requests
Additionally this removes libxml2 dependency from modules, because base
kamailio package already depends on it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Also adds two new modules, app-attended-transfer and app-blind-transfer.
Patches refreshed, the ones that are part of the source tarball are
dropped.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Version bump as preparation for Asterisk update.
In other news:
- upgrades ULRs to https
- adds new configure switch --disable-darwin-ssl (doesn't apply to
OpenWrt, but disable it explicitly anyway)
- use INSTALL_DATA for pkg-config file
- patch naming changed to be in line with Asterisk's patch naming,
making maintenance easier
- drops some patches, adds some new ones from Asterisk (mainly reverts
of some pjproject commits which turned out to cause memory leaks)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
When libbsd is available in staging it will be picked up by pcapsipdump
during the compile. The binary will link to libbsd, causing an
additional dependency. Currently the builds on the bots are failing
because of this.
The only function pcapsipdump is using from libbsd is strlcpy(). This
function is also provided by uClibc as well as musl.
Attached patch adds a detection mechanism that checks whether libc
provides strlcpy(). This way the dependency on libbsd is only required if
building against a libc which doesn't package strlcpy(), like glibc.
DEPENDS are updated to reflect that.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The last official release is quite old. But pcapsipdump's trunk has seen
a steady stream of fixes and improvements. This commit updates the
package to a current SVN snapshot.
MAKE_FLAGS is simplified. The deleted ARGS are provided by OpenWrt
buildroot, no need to specify them again. All that is needed is LIBS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Version bump.
- add ABI_VERSION as per OpenWrt package policies [1]
- don't package version-less symlink also as per [1]
- add --disable-silent-rules to keep build verbose
- remove leftover whitespace
- drop patch now included in tarball
[1] https://openwrt.org/docs/guide-developer/package-policies
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Update snapshot to latest. Includes a fix for a memory leak.
Version handling changed to use PKG_SOURCE_DATE and PKG_SOURCE_VERSION
as per OpenWrt package policies [1].
PKG_BUILD_PARALLEL:=1 added.
[1] https://openwrt.org/docs/guide-developer/package-policies
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream accepted OpenWrt patches, so most can be removed.
Other changes:
- version handling changed to use PKG_SOURCE_DATE and PKG_SOURCE_VERSION
as per OpenWrt package policies [1]
- ./files/rtpproxy.config renamed to ./files/rtpproxy.conf also as per
OpenWrt package policies [1]
- no longer needed Makefile variables dropped (PKG_SOURCE_SUBDIR etc.)
- PKG_CHECK_FORMAT_SECURITY:=0 dropped, patch for that upstreamed as
well
- PKG_BUILD_PARALLEL:=1 added
- PKG_LICENSE_FILES updated
- dropped bcg729 deactivation hack (fixed by adding bcg729 pkg-config
file in other commit)
- dependency on libatomic now required
- updated rtpproxy-mod-acct-csv TITLE
- added --without-xsltproc to CONFIGURE_ARGS to prevent build failure
- added new module rtpproxy-mod-acct-rtcp-hep
- added utilities extractaudio and makeann
- updated patch to prevent debug build of rtpp_acct_rtcp_hep
[1] https://openwrt.org/docs/guide-developer/package-policies
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Minor version bump.
Also renamed ./files/kamailio.config to ./files/kamailio.conf as per
OpenWrt package policies [1].
One patch refreshed.
[1] https://openwrt.org/docs/guide-developer/package-policies
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use $(INSTALL_CONF) instead of $(CP) for module configuration files.
$(INSTALL_CONF) is already used for the init script and utility
configuration files
Rename ./files/asterisk.config to ./files/asterisk.conf as per OpenWrt
package policies page [1].
[1] https://openwrt.org/docs/guide-developer/package-policies
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add patch for a remote crash vulnerability. Crash can occur when
negotiating for T.38 with a declined stream.
CVE-2019-15297
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
As per convention the configuration file in the files directory should
carry the extension .conf.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The bundled libvpx got updated and now includes some extra tools. But
the linker is fed with some options it doesn't like, which results in
this:
/builder/shared-workdir/build/sdk/staging_dir/toolchain-x86_64_gcc-7.4.0_musl/bin/x86_64-openwrt-linux-musl-ld: unrecognized option '-Wl,-rpath-link=/builder/shared-workdir/build/sdk/staging_dir/target-x86_64_musl/usr/lib/libiconv-stub/lib'
/builder/shared-workdir/build/sdk/staging_dir/toolchain-x86_64_gcc-7.4.0_musl/bin/x86_64-openwrt-linux-musl-ld: use the --help option for usage information
/builder/shared-workdir/build/sdk/build_dir/target-x86_64_musl/freeswitch-1.10.0.-release/libs/libvpx/tools.mk:52: recipe for target 'tools/tiny_ssim' failed
make[6]: *** [tools/tiny_ssim] Error 1
freeswitch doesn't need these tools, it just needs the library, so this
commit just disables them.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Utility not usable right now because it has run-time deps on plugins for
TTS, which we don't have currently. But the utility is built by default,
so package it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- PostgreSQL is a module now, it's no longer in the core. This commit
removes the related options.
- New modules: mod_mariadb and mod_pgsql. The latter cannot be compiled
against uclibcpp because of a missing header ("unordered_map").
- Fixed a typo in the eval line for mod_mp4v.
- Refreshed patches.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
@arnysch pointed out on openwrt-devel that chan-lantiq fails to build
against kernel 4.19.x. He already fixed this upstream, so we can just
bump the snapshot to get chan-lantiq to compile again.
This also means that we can remove the malloc/free patch as it is
included upstream as well.
Finally, Build/Prepare and the file "default.exports" can be dropped as
the file got included upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Converts the init script to procd. The user "asterisk" is added to the
system. This user will be used by default.
The init script no longer extracts its configuration from
"/etc/default/asterisk". Instead the uci configuration
"/etc/config/asterisk" is introduced.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Recently liblua5.3 was added in the base repo. When both default liblua
and liblua5.3 are staged, asterisk will prefer the latter. But then the
dependency is wrong, because the linked-to lib is in liblua5.3.
This commit upgrades the dependency from liblua to liblua5.3.
Resolves#441.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since OpenWrt commit e82a4d9cfb ("config: regenerate *_shipped sources")
a few recursive dependencies have been discovered that were not visible
before.
$ make menuconfig
tmp/.config-package.in:103098:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:103098: symbol PACKAGE_baresip-mod-pulse depends on PACKAGE_baresip-mod-pulse
tmp/.config-package.in:121863:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:121863: symbol PACKAGE_pulseaudio-profiles depends on PACKAGE_pulseaudio-profiles
tmp/.config-package.in:121878:error: recursive dependency detected!
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"
tmp/.config-package.in:121878: symbol PACKAGE_pulseaudio-tools depends on PACKAGE_pulseaudio-tools
The recursive dependencies were reported at [1] and [2].
This commit addresses the recursive dependency of baresip-mod-pulse. The
new dependency string may look a bit peculiar, but it works and when
specified like this pulseaudio (when selected) doesn't get compiled
automatically when the intention is only to build baresip with mod-pulse
disabled (which in general is why we have the "patsubst" in the module
builder - but this is only triggered when the dependency has a leading
"+").
[1] https://github.com/openwrt/packages/issues/9300
[2] https://forum.openwrt.org/t/make-menuconfig-errors-this-day/38673/5
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The telephony headers [1] were removed from the kernel, so the Asterisk
channel driver chan-phone can not be built anymore (it depends on these
headers). This causes failures on the build bots on targets which use
kernel 4.19.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The telephony headers [1] were removed from the kernel, so the Asterisk
channel driver chan-phone can not be built anymore (it depends on these
headers). This causes failures on the build bots on targets which use
kernel 4.19.
This commit removes chan-phone.
[1] c26dd817d9
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit goes back from using a git checkout to using a regular
upstream tarball. Version bumped to 3.0.0 which works with kernels
equal to or greater than 4.15. Patches refreshed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- added trailing '--' to logger to make it foolproof
- the script now checks if user and group exist
- directory creation is now done via awk script (more robust)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
"check whether UPDATE is supported on outgoing calls", commit 5de36abd:
In ASTERISK-27095 an issue had been fixed because of which chan_pjsip was not
trying to send UPDATE messages when connected_line_method was set to invite.
However this only solved the issue for incoming INVITES. For outgoing INVITES
(important when transferring calls) the options variable needs to be updated
at a different place.
"Add patch for double free issue in timer heap", commit 9c11399b:
Fixed#2172: Avoid double reference counter decrements in
timer in the scenario of race condition between
pj_timer_heap_cancel() and pj_timer_heap_poll().
"Add timer patch from pjproject r5934", commit d4cd2a97.
Signed-off-by: Andre Heider <a.heider@gmail.com>
The current patch disables semaphore use always. But musl and glibc
support semaphores. Only uClibc doesn't support them (the functions are
defined but just throw an error when called).
The patch is updated to allow Asterisk to use the system semaphores when
using anything but uClibc. It is also renamed to reflect that.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The current module descriptions look a bit topsy-turvy.
This updates the BuildAsteriskModule macro to simply take any sentence
(without trying to integrate the input into another string). If the
input contains '\n' a line break is inserted.
The module descriptions were updated from menuselect-tree.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Initial commit of Asterisk 16. Cleans up Makefile; the version number
now only occurs once in it.
Upstream removed the following modules:
- format_jpeg
- res_pjsip_registrar_expire (functionality was moved into
res_pjsip_registrar.)
pjsip has a new dependency, res-http-websocket.
Notes:
- replaced res_ninit patch
Replaced patch with the one from Alpine. It's a bit more flexible and
allows usage of res_ninit where available (when building against
glibc).
- fixed musl compiles
astmm.h now always gets included by asterisk.h, redefining allocators.
This causes breakage on musl:
ccache_cc -o chan_pjsip.o -c chan_pjsip.c -MD -MT chan_pjsip.o -MF .chan_pjsip.o.d -MP -pthread -I/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1/include -Os -pipe -mno-branch-likely -mips32r2 -mtune=24kc -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -msoft-float -mips16 -minterlink-mips16 -iremap/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1:asterisk-16.2.1 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libiconv-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libintl-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/include -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/usr/include -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/include/fortify -I/home/sk/tmp/openwrt/staging_dir/toolchain-mips_24kc_gcc-7.4.0_musl/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libiconv-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/lib/libintl-stub/include -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include/libxml2 -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fPIC -DAST_MODULE=\"chan_pjsip\" -DAST_MODULE_SELF_SYM=__internal_chan_pjsip_self -DPJ_AUTOCONF=1 -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0 -fPIC -I/home/sk/tmp/openwrt/staging_dir/target-mips_24kc_musl/usr/include
In file included from /home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1/include/asterisk.h:23:0,
from chan_pjsip.c:35:
/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1/include/asterisk/astmm.h:158:35: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
Do_not_use_calloc__use_ast_calloc->fail(a, b)
^
/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1/include/asterisk/astmm.h:162:77: error: expected '=', ',', ';', 'asm' or '__attribute__' before '->' token
Do_not_use_free__use_ast_free_or_ast_std_free_for_remotely_allocated_memory->fail(a)
^
make[4]: *** [/home/sk/tmp/openwrt/build_dir/target-mips_24kc_musl/asterisk-16.2.1/Makefile.rules:153: chan_pjsip.o] Error 1
The problem is that with _GNU_SOURCE defined musl also declares calloc in
<sched.h> - and when asterisk's source includes <sched.h> _after_
"asterisk/astmm.h" the definition clashes with the macro. Timo Teräs from
Alpine Linux fixed this by including <pthread.h> in "asterisk/compat.h". He
chose to include <pthread.h> instead of <sched.h> because the original
header inclusion chain seems to be "asterisk/astobj2.h" ->
"asterisk/lock.h" -> <pthread.h> -> <sched.h>. It seems Asterisk
practically never includes <sched.h> directly.
- added loader workaround for musl
When the modules are loaded, asterisk segfaults on musl.
Asterisk Dynamic Loader Starting:
[Mar 2 22:30:05] NOTICE[20712]: loader.c:2230 load_modules: 91 modules will be loaded.
Segmentation fault
[48817.544248] do_page_fault(): sending SIGSEGV to asterisk for invalid read access from 00000000
[48817.544258] epc = 77f6b764 in libc.so[77ef8000+94000]
[48817.544285] ra = 0048d579 in asterisk[400000+160000]
The real problem is that the loader expects dlopen to always run the
constructor, which doesn't happen with musl, because its dlopen is
permanent.
This commit adds a new configure switch '--enable-permanent-dlopen'.
When enabled, the loader will manually call 'ast_module_register(...)'
and 'ast_module_unregister(...)' when needed.
- allow eventfd detection
Asterisk 16 wants to use eventfd, but it doesn't allow the detection
during cross-compiling. This results in runtime warnings, for instance
when shutting down:
[Mar 2 22:37:41] WARNING[21593]: alertpipe.c:112 ast_alertpipe_read: read() failed: Bad file descriptor
[Mar 2 22:37:41] WARNING[21593]: alertpipe.c:112 ast_alertpipe_read: read() failed: Bad file descriptor
[Mar 2 22:37:41] WARNING[21593]: alertpipe.c:112 ast_alertpipe_read: read() failed: Bad file descriptor
Relax the configure script so that eventfd can also be detected when
cross-compiling.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This adds two (three, really) sed scripts to update the default
configuration. All example accounts are getting disabled/commented. And
the module_path is set to the actual path.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The files in /usr/share/baresip are all read-only anyway, so
INSTALL_DATA can be used.
Use it as well for the included (default) modules, otherwise they'll
have different permissions than the extra modules.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
It is not a nice user experience when a package changes configuration
files during an upgrade. Remove this from the postinstall routine.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The ffmpeg full variant does not compile on i386_pentium currently.
Disable ffmpeg support on i386 to prevent breakage on the buildbots.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
It is not a nice user experience when a package changes configuration
files during an upgrade. Remove this from the postinstall routine.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The ffmpeg full variant does not compile on i386_pentium currently.
Disable mod_av on i386 to prevent breakage on the buildbots.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add two patches that were submitted upstream to address warnings that
occur when using gcc 8.3 (like arc does currently) which turn into
errors (-Werror).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The libhiredis package now contais a fix for its pkgconfig file. This
allows to add prefixes, which is needed when cross-compiling in
environments like OpenWrt.
Therefore, the workaround in kamailio is no longer needed and can be
removed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since the update to openssl-1.1.1a the compile fails like this:
CC src/libfreeswitch_la-switch_rtp.lo
src/switch_rtp.c: In function 'switch_rtp_get_random':
src/switch_rtp.c:2419:2: error: implicit declaration of function 'RAND_bytes'; did you mean 'RSA_bits'? [-Werror=implicit-function-declaration]
RAND_bytes(buf, len);
^~~~~~~~~~
RSA_bits
cc1: all warnings being treated as errors
make[4]: *** [Makefile:2377: src/libfreeswitch_la-switch_rtp.lo] Error 1
This patch adds the missing include.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently builds for ARC are failing, causing follow-up breakage. It
seems that uclibc defines __GLIBC__ on the build bots.
This commit adds a test for execinfo.h to the configure script. The
result of the test is then used in xpp/xtalk/debug.c.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- bump to 5.2.1
- drops sources.openwrt.org from PKG_SOURCE_URL because this mirror is
meant as last resort
- adds six new modules (app_python3 marked @BROKEN - doesn't compile
yet)
- 050-fix-kamailio-utils.patch refreshed. Alpine pushed a fix upstream
that fixes the quoting issue, so this part could be dropped. I found
some other issue with kamctl, where the prompt (for password) wasn't
shown because OpenWrt doesn't have /dev/stderr. So I fixed that and
added it to this patch as well. Sent upstream.
- hiredis handling was changed upstream. They changed the default
include from "hiredis/hiredis.h" (which worked for us) to "hiredis.h".
And the only way to get "hiredis/hiredis.h" is via pkg-config, which
upstream doesn't allow during cross-compile, probably because hiredis
pkg-config is rubbish. Patch added to forces pkg-config detection.
Also includes a fix for a logical error in the Makefile regarding
header setup. Sent upstream.
Patch to fix hiredis pkg-config file sent upstream (also to OpenWrt
package maintainer). Even without hiredis patch we can get away with
forcing pkg-config detection of hiredis.
- dropped two patches that were upstreamed
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. And I cannot change the
copyright message from a third party either. This commit reverts the
changes.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add two patches to fix general compile issues. The first masks out some
glibc specific extensions if using a different libc.
The second fixes a compile issue with newer compilers.
Like this it's possible to easily add more executables to the packages
should the need (or wish) arise. This also gets rid of the following
warnings:
cc1: note: someone does not honour COPTS correctly, passed 2 times
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. And I cannot change the
copyright message from a third party either. This commit reverts the
changes.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream fixed dependency on libpcap. The lib does not link to it
anymore as it does not need it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Version bump. New version does not have too many changes, but upstream
cleaned up the autoconf files. As a result autoreconf is now needed to
get the configure script.
This commit adds a configure switch to get the make output as verbose as
in the past.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In a previous commit I updated the copyright message. But that was not
correct as I am not affiliated with OpenWrt. This commit reverts the
change.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Maintainer is not affiliated with OpenWrt so copyright needs to be set
to maintainer instead of OpenWrt. Also correct the year - it should read
the year in which the Makefile was first written.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
sources.openwrt.org is used by the build system as a last-resort mirror.
It's not supposed to be used as a regular source mirror. Remove it from
PKG_SOURCE_URL.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Refresh patches + add patch to remove luajit detection, which was added
upstream for this release. luajit is available in OpenWrt, but seems to
always fail on the buildbots. To prevent surprises in the future disable
it for now.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Although siproxd normally logs to syslog, it's debug output appears to go
only to stderr. Adjust procd setup to also capture stderr in syslog.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
This has the advantage of being available in the package catalog and
hence anytime both pre- and post-installation for someone looking for
information, using only the 'opkg info siproxd' command.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Patch from upstream:
Summary Remote crash vulnerability DNS SRV and NAPTR lookups
Nature of Advisory Denial Of Service
Susceptibility Remote Unauthenticated Sessions
Severity Moderate
Exploits Known No
Reported On October 23, 2018
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- clean up variable names
- add options to uci config to enable/disable logging
- remove option change_perm as it's hacky
- change check before mkdir and friends to prevent
overwriting/chown/chmod of existing files/directories (important)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Don't force freeswitch to off during postinstall. It's not common
practice (anywhere) and it may be confusing.
Add a link to the Wiki, too, and bump the revision.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
There is no point in keeping the hotplug script in an extra package.
Move it to the main package.
The priority of the script is changed from 99 to 90 as the freeswitch
init script uses the same.
The postinstall script will check if 99-freeswitch exists. If it does a
warning is displayed with the suggestion to uninstall the hotplug
package.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
procd runs as pid 1. When freeswitch realizes that its parent has pid 1,
it thinks that it has been orphaned and terminates the console thread.
That's why procd isn't able to get freeswitch's console output.
This commit mutes the check in src/switch_console.c. Now console output
is properly logged. The workaround parameters "-nc -nf" are replaced by
a proper "-c" ("console").
Additionally this commit hands control over killing freeswitch to procd.
It's no longer done by the script. This simplifies things quite a bit.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Following up the discussion in pull request #388 this commit removes the
depend on libx264 and prevents baresip from linking to libx264.
baresip can still use a H.264 encoder through ffmpeg, which is the
preferred way anyway.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Minor version bump. Two CVE patches can be removed as they're already
included in the source. One patch was refreshed.
Also:
- https://sources.openwrt.org is added as primary source URL to lessen
the load on kamailio upstream
- Build/Configure is defined as empty (because there is no configure
script in the source tree
- patch is added to fix dp_replace(); the function was first added in the
5.1 release and didn't work; patch was accepted upstream
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the depend on mod-db-sqlite from some modules. They may depend on
a db module, but any will do. And mod-jsonrpcs also does not depend on
mod-json.
Maybe things were different in the past. But today these depends aren't
needed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
kamailio can be started with multiple "-l" ("listen") parameters to tell
it which IPs to listen on. This can also be configured in kamailio.cfg,
of course.
This commit adds the ability to the init script to translate iface names
like "wan" into IP addresses and hand them over to kamailio as command
line arguments. This is useful when using a network connection where IPs
are dynamically assigned.
kamailio can also work with interface names, e.g. "eth0". But it may
listen to all IPs configured on the interface. To avoid this the commit
differentiates beteen IPv4 ("listen") and IPv6 ("listen6"). So if the
user wants kamailio to only listen on an IPv4 address configured on a
certain iface ("wan" for instance), he/she can just specify a list entry
"listen" with that iface.
An explanation is also added to the uci configuration file.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Commit f84dda74e6 ("kamailio-5.x: enable
FAST_LOCK for MIPS") turned out to be problematic, because it changed
the ARCH to "mips2" not only for "mips", but also for some "mipsel"
targets, which was unintentional.
Address this by filtering for "mips" specifically before setting the
variable.
Also, get rid of PKG_BUILD_PARALLEL, because adding it really didn't
change anything - due to the way "make" is called. Leave a comment to
prevent repetition (read: prevent _me_ from doing the same mistake again
in the future).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit
- updates init script to use procd
- adds a default user 'kamailio' (kamailio will switch to this user)
- introduces uci init config (instead of /etc/default/kamailio)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
rtpproxy expects IPs as parameters. Lots of OpenWrt devices use
connections where the IP is dynamically assigned. This commit adds shell
functions to convert an iface like 'wan' to an IP address before adding
the parameter to the rtpproxy command line.
Explanation is provided in /etc/config/rtpproxy. Some whitespace issues
were also fixed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add log_level option to uci config. Paired with the comment it makes
setting the log level easier when no man page is around.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Update rtpproxy init script to use procd.
Also increases the start priority to 90 (like the hotplug script) to
make sure rtpproxy is started before kamailio.
Fixes some whitespace issues along the way, too.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Install hotplug script along with rtpproxy. It will only be used if
enabled by the user (via uci config file).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
With OpenWrt default awk - so awk from busybox - the filter is broken,
causing jsonrpc calls to fail, i.e. when running "kamctl ps". Below
patch makes the filter portable. Patch was already accepted upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add package for Opus codec support plugin. Variants for both asterisk13
and asterisk15 included.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
.. because the musl implementation doesn't seem to be fully compatible
with yate. We switched to the musl implementation in f6ad95d.
Yate has this regexp:
^([[:alpha:]][[:alnum:]]+:)?/?/?([^[:space:][:cntrl:]@]+@)?([[:alnum:]._+-]+|[[][[:xdigit:].:]+[]])(:[0-9]+)?
Given a string like
sip:012345678@11.111.11.111:5060;user=phone
musl's regexec() returns these matches:
index start end
0 -1 0
1 0 32 sip:012345678@11.111.11.111:5060
2 -1 -1
3 0 14 sip:012345678@
4 14 27 11.111.11.111
5 27 32 :5060
.. but this is what yate expects:
index start end
0 -1 0
1 0 32 sip:012345678@11.111.11.111:5060
2 0 4 sip:
3 4 14 012345678@
4 14 27 11.111.11.111
5 27 32 :5060
Fixes#378
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
- bump version
- go back to using release tarballs (unavailable when 1.8.1 was
initially released)
- add OpenWrt mirror
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add upstream fix for AST-2018-009: Remote crash vulnerability in HTTP
websocket upgrade
The vulnerability affects the res_http_websocket.so module.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add upstream fix for AST-2018-009: Remote crash vulnerability in HTTP
websocket upgrade
The vulnerability affects the res_http_websocket.so module.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
In Kamailio before 5.0.7 and 5.1.x before 5.1.4, a crafted SIP message with
an invalid Via header causes a segmentation fault and crashes Kamailio. The
reason is missing input validation in the crcitt_string_array core function
for calculating a CRC hash for To tags. (An additional error is present in
the check_via_address core function: this function also misses input
validation.) This could result in denial of service and potentially the
execution of arbitrary code.
Patch from upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit replaces /etc/default/freeswitch with /etc/config/freeswitch.
This way the init and hotplug configuration can be done with uci instead of
having to edit a file.
This also does away with the busybox ntpd warning. ntpd uses the same
configuration in system and it looks like busybox's ntpd is not used when
ntpd is installed.
Lastly some log strings are amended to start with a lowercase letter.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
There is a discussion ongoing if parallel builds should be enabled by
default. For freeswitch parallel builds are known to fail when certain
modules are enabled. This commit preemptively disables parallel builds
explicitly.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
A recent commit in packages/lang/perl is causing a problem with the
perlmod.mk include. Work around this by including perlver.mk instead and
setting up PERL_CMD and PERL_SITELIB manually.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
CVE-2018-14767: "In Kamailio before 5.0.7 and 5.1.x before 5.1.4, a
crafted SIP message with a double "To" header and an empty "To" tag
causes a segmentation fault and crash. The reason is missing input
validation in the "build_res_buf_from_sip_req" core function. This could
result in denial of service and potentially the execution of arbitrary
code."
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Sometimes freeswitch doesn't exit after receiving the SIGTERM signal.
This can be reproduced by sending SIGTERM to a freeswitch instance which
is initializing (which can take quite some time).
Instead of just giving up and exiting - leaving a hung freeswitch
process on the system - this commit adds some lines to the init script
that send SIGKILL to freeswitch in case the attempt to terminate it with
SIGTERM fails.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Applied a patch, submitted upstream at
https://freeswitch.org/jira/browse/FS-11193
that fixes two memory leaks in mod_event_multicast.c
Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
- Bump version from 1.6.20 to 1.8.1 (includes OpenSSL 1.1.0 support).
- Upstream didn't provide a source tarball yet, switch to git to grab
the release.
- freeradius-client got updated to 1.1.7 by upstream, update version and
checksum accordingly.
- tiff, libvpx and pcre patches are no longer needed, drop them.
- Refresh the remaining patches. Only minor changes were needed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the hack for iconv on uclibc. Instead include nls.mk which will
sort out the iconv depends.
This changes the iconv patch. AC_SEARCH_LIB doesn't work properly for
openwrt/lede. Instead use AC_CHECK_LIB.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The sed script used on libs/unimrcp is used to set LDFLAGS using
APR_SETVAR. Since nls.mk is included there are LDFLAGS with commas. But
the macro APR_SETVAR uses commas to separate arguments, so now the
LDFLAGS are only getting partially copied.
Solve this by surrounding LDFLAGS with brackets ([...]).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Removes the uClibc iconv hack. Instead nls.mk is included to sort out
iconv depends.
mod_gsmopen isn't able to figure out if iconv's inbuf is const. In
OpenWrt this is the case with libiconv-full, not with libiconv-stub. To
aid mod_gsmopen update 270-fix-uclibc-iconv-in-gsmopen.patch so that we
can pass on if inbuf is const via CFLAGS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The macro included in apr/apr-util is incorrect. It results in extra
brackets being put into conftest.c, for example:
#include "confdefs.h"
[
#include <stddef.h>
#include <iconv.h>
]
int main(int argc, const char *const *argv) {
[
iconv(0,(char **)0,(size_t *)0,(char **)0,(size_t *)0);
]
return 0; }
The test always fails with:
error: expected identifier or '(' before '[' token
The following checks are affected:
- variable length arrays
- type of inbuf parameter to iconv
Fix from upstream (Apache).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
libmariadb 10.2 needs to be linked in together with iconv. Include nls.mk
to help the build system find the iconv library.
Also update func_iconv's depend. We want to use the variable
$(ICONV_DEPENDS) provided by nls.mk. It resolves to
+BUILD_NLS:libiconv-full. This cannot be handled properly right now, as the
module depends filter cannot handle +<SYMBOL>:<package> depends. So add
another field to the Makefile's module function for complex depends, which
are passed on unfiltered.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
libmariadb 10.2 needs to be linked in together with iconv. Include nls.mk
to help the build system find the iconv library.
Also update func_iconv's depend. We want to use the variable
$(ICONV_DEPENDS) provided by nls.mk. It resolves to
+BUILD_NLS:libiconv-full. This cannot be handled properly right now, as the
module depends filter cannot handle +<SYMBOL>:<package> depends. So add
another field to the Makefile's module function for complex depends, which
are passed on unfiltered.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Since libmariadb 10.2.x requires to be linked in together with iconv,
include nls.mk to help the build system find it.
Also fix a type in PKG_CONFIG_DEPENDS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently compiles fail with:
CC libfreeswitch_la-switch_regex.lo
src/switch_regex.c: In function 'switch_regex_compile':
src/switch_regex.c:40:9: error: return from incompatible pointer type [-Werror=incompatible-pointer-types]
return pcre_compile(pattern, options, errorptr, erroroffset, tables);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
Makefile:2100: recipe for target 'libfreeswitch_la-switch_regex.lo' failed
make[5]: *** [libfreeswitch_la-switch_regex.lo] Error 1
Fix cherry-picked from upstream.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Switch to use procd for init, with support for jails. Clean up code and
restructure callback processing to be more robust and understandable. This
also fixes a bug processing multiple siproxd config sections, as reported
by Michael Kuron.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
When there is no sounds cache declared the build system will not attempt to
download any sound packs or their SHA1 checksums.
This is to be preferred because:
a) the build may occur offline, causing it to fail
b) plain http is used by the build system for downloading
There is no drawback here because the standard sound packs are included in
the Asterisk source tarball already.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
When there is no sounds cache declared the build system will not attempt to
download any sound packs or their SHA1 checksums.
This is to be preferred because:
a) the build may occur offline, causing it to fail
b) plain http is used by the build system for downloading
There is no drawback here because the standard sound packs are included in
the Asterisk source tarball already.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2018-05-21 23:09:26 +02:00
295 changed files with 14048 additions and 10334 deletions
Please make sure that the issue subject starts with `<package-name>: ` so that it's easily identifiable.
Please make sure that the issue subject starts with `<package-name>: `
This repo here is ONLY for packages maintained in this repo. For base packages residing in the same repo as the build system and maintained by core devs, please consider opening tickets there for more timely responses
Also make sure that the package is maintained in this repository and not in base which should be submitted at https://bugs.openwrt.org or in the LuCI repository which should be submitted at https://github.com/openwrt/luci/issues.
- OpenWrt: https://dev.openwrt.org/newticket
- LEDE: https://bugs.lede-project.org/
- Most LuCI packages: https://github.com/openwrt/luci/issues
Issues related to releases below 18.06 and forks are not supported or maintained and will be closed.
Thanks for your contribution
Please remove this text (before ---) and fill the following template
-------------------------------
# Issue template (remove lines from top till here)
Maintainer: @<github-user> (find it by checking history of the package Makefile)
Environment: (put here arch, model, OpenWRT/LEDE version)
Maintainer: @\<github-user> (find it by checking history of the package Makefile)
Environment: (put here arch, model, OpenWrt version)
Description:
```
Formating code blocks by wrapping them with pairs of ```
Format code blocks by wrapping them with pairs of ```