Commit graph

1032 commits

Author SHA1 Message Date
Sebastian Kemper
edbeb1b9a3 asterisk-chan-dongle: fix iconv lib detection
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>
2020-06-11 19:27:51 +02:00
micmac1
ea6d48b680
Merge pull request #538 from micmac1/fs-check
freeswitch: prevent libcheck use
2020-06-10 20:21:45 +02:00
Sebastian Kemper
9710018e41 freeswitch: prevent libcheck use
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>
2020-06-09 18:56:31 +02:00
Sebastian Kemper
9b0e13700a asterisk-chan-dongle: bump + cleanup
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>
2020-06-09 18:46:39 +02:00
micmac1
ab2f142730
Merge pull request #534 from micmac1/fs_rename
freeswitch-stable: rename to freeswitch
2020-05-30 07:09:33 +02:00
Jiri Slachta
8765715d80
Merge pull request #531 from micmac1/ast16100
asterisk-16.x: bump to 16.10.0 + init/config changes
2020-05-24 21:04:29 +02:00
Sebastian Kemper
df5338fffb freeswitch-stable-mod-bcg729: rename
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-23 20:02:21 +02:00
Sebastian Kemper
b282a782ce freeswitch-stable-mod-bcg729: move folder
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-23 20:00:18 +02:00
Sebastian Kemper
e3b3dce36e freeswitch-stable: rename to just freeswitch
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-23 19:55:50 +02:00
Sebastian Kemper
b7ada77e17 freeswitch-stable: move folder
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-23 19:46:12 +02:00
Sebastian Kemper
7a5e32f4dc rtpengine: work around sporadic build failures
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>
2020-05-21 17:40:45 +02:00
Sebastian Kemper
aa54d6f005 rtpengine: clean up 01-cflags.patch
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>
2020-05-21 17:38:21 +02:00
Sebastian Kemper
e4f1bac168 rtpengine: prevent use of host dpkg utilities
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-17 12:56:01 +02:00
Sebastian Kemper
b3e439a903 rtpengine: prevent picking up host libsystemd
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-17 12:52:29 +02:00
Sebastian Kemper
985365c3f2 asterisk-16.x: sort out lua detection
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>
2020-05-16 21:00:25 +02:00
Sebastian Kemper
e44fb87cc7 asterisk-16.x: update init and configuration
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>
2020-05-14 21:56:52 +02:00
Sebastian Kemper
54d0fb32eb asterisk-16.x: bump to 16.10.0
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>
2020-05-14 21:48:45 +02:00
Sebastian Kemper
439cff8707 freeswitch-stable: disable sofia-sip tests
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>
2020-05-13 18:27:43 +02:00
Sebastian Kemper
55a6e9f583 freeswitch-stable: bump to 1.10.3
Patches refreshed. Two patches can be dropped.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-05-12 18:45:54 +02:00
micmac1
7408b6245f
Merge pull request #528 from micmac1/fs-init2
freeswitch-stable: improve init script
2020-05-12 18:40:38 +02:00
micmac1
1929fee28d
Merge pull request #526 from micmac1/rtpengine
rtpengine: new package
2020-05-06 19:09:24 +02:00
Sebastian Kemper
ff67aa6f79 rtpengine: new package
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>
2020-05-04 20:01:01 +02:00
Sebastian Kemper
d3df6110c8 freeswitch-stable: improve init script
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>
2020-05-04 19:26:41 +02:00
Sebastian Kemper
18ab4c3987 kamailio-5.x: remove "-funroll-loops"
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>
2020-04-24 21:09:25 +02:00
Sebastian Kemper
c09085b076 kamailio-5.x: add app_python3
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>
2020-04-22 18:29:43 +02:00
Sebastian Kemper
60ea8ff676 kamailio-5.x: update build setup
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>
2020-04-22 18:29:43 +02:00
Jiri Slachta
3c7e4c382e kamailio-5.x: update to 5.3.3
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>
2020-04-09 18:00:49 +02:00
Sebastian Kemper
0c9dbc341c freeswitch-stable: remove python support
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>
2020-04-04 11:27:55 +02:00
Hannu Nyman
0dfeff844c freeswitch-stable: remove opencv module
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>
2020-03-21 21:51:19 +02:00
Sebastian Kemper
9e16abbcde freeswitch-stable: revert libpq pc file workaround
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>
2020-03-21 09:44:51 +01:00
Sebastian Kemper
9cff8aecfd freeswitch-stable: use pg_config for now
libpq's pkg-config file is currently broken. Use pg_config instead.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2020-03-07 09:58:26 +01:00
Sebastian Kemper
357949967f asterisk-16.x: fix compile with PKG_ASLR_PIE
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>
2020-01-11 23:44:40 +01:00
Sebastian Kemper
e2bd729545 freeswitch-stable: bump to 1.10.2
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>
2020-01-01 15:11:22 +01:00
Sebastian Kemper
b372ae6847 freeswitch-stable: fix weak md in gentls_cert
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>
2019-12-20 09:38:06 +01:00
Sebastian Kemper
1e97ec344a freeswitch-stable: add mod_signalwire
This plugin allows to make a connection to the SignalWire CLOUD.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-12-17 18:50:11 +01:00
Sebastian Kemper
c02a6fa325 sngrep: add configuration menu
Makes ipv6, pcre and eep optional. Defaults unchanged.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-12-03 13:42:28 +01:00
Sebastian Kemper
8aa5832961 sngrep: update to git snapshot
Also adds PKG_BUILD_PARALLEL:=1 and updates description.

Fixes #491

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-12-03 13:37:43 +01:00
Jiri Slachta
fc9aa2b3ea
Merge pull request #487 from micmac1/AST-2019-006_007
[master] asterisk-16.x: add fixes for AST-2019-006 and 007
2019-12-01 22:22:10 +01:00
Sebastian Kemper
4204b2755b freeswitch-stable: patch CVEs in included libvpx
Patch taken from Debian Buster, fixes:

CVE-2019-9232
CVE-2019-9325
CVE-2019-9371
CVE-2019-9433

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-11-29 20:33:57 +01:00
Sebastian Kemper
7e41004b1e asterisk-16.x: add fixes for AST-2019-006 and 007
https://downloads.asterisk.org/pub/security/AST-2019-006.html
https://downloads.asterisk.org/pub/security/AST-2019-007.html

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-11-22 18:03:54 +01:00
Sebastian Kemper
e1b0371bcc freeswitch-stable: update OpenSSL depend
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>
2019-11-05 23:29:40 +01:00
Sebastian Kemper
b8fe35e965 freeswitch-stable: fix reINVITE after T38 is rejected
For comments see added patch.

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
2019-11-05 23:27:28 +01:00
Sebastian Kemper
c2bfc7145f asterisk-16.x: remove libxml2 hacks
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>
2019-10-28 20:40:05 +01:00
Sebastian Kemper
cb2986c56a kamailio-5.x: remove rtp_media_server package
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>
2019-10-25 20:21:32 +02:00
Jiri Slachta
354bc0ce32
Merge pull request #480 from micmac1/kam-mods
kamailio-5.x: add new modules + cleanup
2019-10-24 23:27:01 +02:00
Jiri Slachta
eb0cc5d07d
Merge pull request #478 from jslachta/asterisk-16.6.1
asterisk-16.x: version bump to 16.6.1
2019-10-24 22:34:18 +02:00
Sebastian Kemper
6b571fb4dd kamailio-5.x: add new modules + cleanup
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>
2019-10-24 22:33:29 +02:00
Jiri Slachta
498baa74a7
Merge pull request #477 from jslachta/kamailio-5.3
kamailio-5.x: version bump to 5.3.0
2019-10-24 07:10:27 +02:00
Jiri Slachta
fc68138d42 baresip: add VP8 and VP9 module
Signed-off-by: Jiri Slachta <jiri@slachta.eu>
2019-10-24 07:06:15 +02:00
Jiri Slachta
3fd4eed6a2 asterisk-16.x: version bump to 16.6.1
Signed-off-by: Jiri Slachta <jiri@slachta.eu>
2019-10-22 23:56:12 +02:00