.. 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>
When configure is called with '--with-mysql="$(STAGING_DIR)/usr"' it tries
to detect mysql manually instead of using mysql_config. This doesn't always
work:
<snip>
checking for MySQL in /var/lib/buildbot/slaves/slave-lede-builds4/i386_pentium4/build/sdk/staging_dir/target-i386_pentium4_musl/usr... no
<snip>
This commit changes the configure argument to '--with-mysql=yes/no'. When
'yes' is selected configure uses mysql_config and then the detection works
reliably.
<snip>
checking for MySQL using mysql_config... yes 10.1.32
checking whether MYSQL_OPT_RECONNECT is declared... yes
checking whether MYSQL_OPT_READ_TIMEOUT is declared... yes
checking whether MYSQL_OPT_WRITE_TIMEOUT is declared... yes
checking whether mysql_set_character_set is declared... yes
<snip>
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- patches refreshed
- menuselect is bootstrapped from main bootstrap script now, extra call
removed
- drop a module that was removed upstream for being incomplete
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- patches refreshed
- menuselect is bootstrapped from main bootstrap script now, extra call
removed
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Despite all previous efforts chan-lantiq is not built by the build bots.
Checking the logs of a target build reveals that the chan-lantiq builds are
not even attempted.
During the target builds CONFIG_ALL is not set, meaning no regular package
gets selected. CONFIG_ALL_NONSHARED on the other hand is set. But
chan-lantiq still will not be selected, because it depends on "asterisk",
meaning asterisk needs to be selected first for chan-lantiq to become
available.
This commit changes the asterisk depend to "+asterisk", meaning asterisk
will be selected if chan-lantiq is selected.
This was tested with the SDK. A seed config file was added with the
following:
CONFIG_ALL_NONSHARED=y
Running menuselect showed that now chan-lantiq is selected
automatically. This should fix the problem.
The problem with "+asterisk" is that this breaks the asterisk menus for all
asterisk plugins/utilities that follow chan-lantiq alphabetically. To
address this put the chan-lantiq modules into their own sub menu "Telephony
Lantiq". This is not nice, but the alternative would be to rename the
packages to something like asterisk13-z-chan-lantiq. This would make it
harder to find the packages. Maybe somebody has a better idea in the
future.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
chan-lantiq currently is still not built by the build bots. Split the
package in two, one for Asterisk 13, the other for 15, to avoid a VARIANT
build. Maybe the build bots do not support nonshared VARIANT builds.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Tidy up the flags passed on to FS build system for Perl and Python
modules. Some flags seem a bit too random to include - this commit
removes them.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Underscores should not be used in package base names as they're used as
semantic separators by opkg.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
mod-avformat is only built when mod-avcodec is selected. baresip sets it
up like that in mk/modules.mk:
ifneq ($(USE_AVCODEC),)
MODULES += avcodec
ifneq ($(USE_AVFORMAT),)
MODULES += avformat
endif
endif
This commit updates the mod-avformat DEPENDS accordingly.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
There are two pulseaudio packages, pulseaudio-daemon and
pulseaudio-daemon-avahi. Both provide pulseaudio. Depend on pulseaudio
so the user may choose which one to install.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use explicit ident string ("siproxd") instead of NULL, as the latter is
not guaranteed to prepend the program name (e.g. unspecified in POSIX),
and may result in syslog messages identified only by PID.
Use consistent facility (LOG_DAEMON) across openlog() and syslog() calls.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Explain default configuration options and potential firewall settings.
Provide examples of using documented siproxd configuration directives.
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
Switch to using callback functions for UCI config processing, and remove
the unnecessary scan_interfaces() call together with related code.
Instead of explicitly handling every possible siproxd config option, use
callbacks to deal with those defined in the UCI config file, and directly
handle only selected options with desired default values. This shrinks
the init code by ~3.5 KB and simplifies updating to future siproxd
versions with new options.
(Note: this change exposed some long-standing, broken aspects of UCI
callback handling, fixed in https://github.com/openwrt/openwrt/pull/805.)
Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
- The main package does not actually depend on libpopt. Only the utility
smsq does. This commit reflects that in the dependencies.
- libxslt is only used if generating the XML documentation, which this
package does not use. So remove the bogus dependency.
- app-sms does not depend on libpopt either. It has another dependency
on libstdcpp, which is already covered by the main package. This removes
both dependencies.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- The main package does not actually depend on libpopt. Only the utility
smsq does. This commit reflects that in the dependencies.
- libxslt is only used if generating the XML documentation, which this
package does not use. So remove the bogus dependency.
- app-sms does not depend on libpopt either. It has another dependency
on libstdcpp, which is already covered by the main package. This removes
both dependencies.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently libstdc++ is hardcoded. Change that and use whatever standard
C++ lib has preference.
Note: Two modules, event_zmq and v8, do not compile against libuClibc++.
For them to be available libstdcpp needs to have preference.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The module is never attempted to build in the regular buildbot package
cycle. Stick back the nonshared flag to get at least some log during
the target build cycle.
This also updates the dependency on kmod-ltq-vmmc to be selective (+).
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The module list is necessary, unfortunately. But having working
PKG_CONFIG_DEPENDS is nice and the list rarely needs updating.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The module and util lists are necessary, unfortunately. But having
working PKG_CONFIG_DEPENDS is nice and the lists rarely need updating.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the hack. Instead just call make with .lastclean and afterward
make menuselect again. If .lastclean was not removed by menuselect this
will not do anything, which is nice.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The module and util lists are necessary, unfortunately. But having
working PKG_CONFIG_DEPENDS is nice and the lists rarely need updating.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the hack. Instead just call make with .lastclean and afterward
make menuselect again. If .lastclean was not removed by menuselect this
will not do anything, which is nice.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Previous revert only works when libstdcpp is the default C++ lib. To
make the compile work in all scenarios LIBS needs to be defined and
MAKE_FLAGS are required instead of MAKE_VARS, otherwise the included
variables are overridden.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This reverts commit b8b9818a13.
In hindsight I have to admit I did not correctly understand the
implications of the uclibc++.mk include.
The include allows a package to follow the user's choice regarding which
C++ library should be the standard. Linking against uClibc++ instead of
libstd++ is not a problem when running musl (which is what I had
incorrectly assumed), as both C++ libs are separate packages. And
uClibc++ is a lot smaller than libstd++, which is probably why it is
even the default C++ lib on OpenWrt currently.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This reverts commit 6857bc21eb.
In hindsight I have to admit I did not correctly understand the
implications of the uclibc++.mk include.
The include allows a package to follow the user's choice regarding which
C++ library should be the standard. Linking against uClibc++ instead of
libstd++ is not a problem when running musl (which is what I had
incorrectly assumed), as both C++ libs are separate packages. And
uClibc++ is a lot smaller than libstd++, which is probably why it is
even the default C++ lib on OpenWrt currently.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently there are two simple patches for libvpx. This commit puts the
second patch into the first.
Also added:
- CPPFLAGS
- a flag to address CVE-2017-0641
- comments
A tiff patch got refreshed due to the above.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently the routine that sets up the modules.conf file resides in
Build/Prepare.
When PKG_CONFIG_DEPENDS causes a reconfiguration, Build/Prepare is not
triggered. So if another module gets selected in menuconfig, this module
would not be added to modules.conf, meaning the rebuild would fail.
Add the routine to Build/Compile to address this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Some source files need to be copied into PKG_BUILD_DIR. This is
currently done in Build/Prepare.
When PKG_CONFIG_DEPENDS causes a reconfiguration, Build/Prepare is not
triggered again, meaning needed source files would not be copied.
Move these lines to Build/Compile to address this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Fixes:
AST-2018-004
AST-2018-005
AST-2018-006
- Remove res_pjsip_transport_management.so as it got moved into
res_pjsip's core as per AST-2018-003.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Fixes:
AST-2018-004
AST-2018-005
- Remove res_pjsip_transport_management.so as it got moved into
res_pjsip's core as per AST-2018-003.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use $(INSTALL_BIN) as the modules are installed by siproxd as
executables. Remove the wildcards from this line as they're not needed.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove LIBLTDL from the Makefile as well as a patch related to LTDL.
Both have in common that they accomplish absolutely nothing.
Also explicitly disable the use of the internal libltdl.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Use the default Build/Compile. Use MAKE_VARS to set up the variables
that are used by pcapsipdump's Makefile.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The include injects a lib depend on libuClibc++.so.0 into the package,
even on musl. Remove it and replace the depend with libstcpp instead.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Yate is the only package in OpenWrt which manually enables RTTI
(run-time type information). There's no explanation in the Makefile as
to why that would be needed or advisable. Remove it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
With this include libuClibc++.so.0 gets added as a lib depend, even on
musl. readelf shows:
Dynamic section at offset 0x10ea60 contains 23 entries:
Tag Type Name/Value
0x0000000000000001 (NEEDED) Shared library: [libuClibc++.so.0]
0x0000000000000001 (NEEDED) Shared library: [libc.so]
0x0000000000000001 (NEEDED) Shared library: [libgcc_s.so.1]
0x000000000000000e (SONAME) Library soname: [libyate.so.6.0.0]
Remove the include from the Makefile and add a depend on libstdcpp
instead.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This reverts commit 4cc2afdcdc which
disabled FORTIFY_SOURCE by removing OpenWrt's CPPFLAGS from the built.
Instead PKG_FORTIFY_SOURCE:=0 is defined, which is the proper way to do
it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
rtpproxy doesn't use OpenWrt's CPPFLAGS (i.e. used for including
fortify-source headers). Add them to CFLAGS.
Run autoreconf. It's usually a good idea.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Version bump
- Refresh debug-disable patch
- Add patch to add missing includes to fix:
rtpp_record.c: In function 'rtpp_record_open':
rtpp_record.c:228:62: error: 'DEFFILEMODE' undeclared (first use in this function)
rrc->fd = open(rrc->spath, O_WRONLY | O_CREAT | O_TRUNC, DEFFILEMODE);
^
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- The libraries and the Berkeley DB recovery utility are currently in
Libraries/Telephony and Utilities/Telephony. That makes little sense
as the are not general purpose libraries/utilities, hence it is better
to move them to where Kamailio 5 sits in menuconfig.
- Rename them by adding prefixes "lib" and "util" to their name.
- Update their titles a bit.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The recently added mod-db-berkeley comes with a companion utility.
Package kambdb_recover so it becomes available.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit moves libkamailio-ims & libtrie into their own packages to
keep the main package small.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
kamailio comes with internal libraries. Some are not built when only the
standard group of modules is compiled (i.e. no modules selected in
menuconfig).
The problem is that there is no way to rely on specific internal
libraries being available in the main kamailio package.
To fix this this add some modules (if they are not already selected)
that will kick of the build of the internal libraries in any case.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The INSTALL file from kamailio suggests to make the target "cfg" first.
All settinggs will then be reused when make is called again.
This has the side effect that "$(FPIC)" can be dropped from CFLAGS as
the build system adds the flags automatically now.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
When not specifying "run_target" the kamailio build system assumes
$(DESTDIR)/var/run/kamailio to be the run directory on the target
device. Add the variable to address this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The kamailio build system provides an RPATH "///usr/lib/kamailio/" when
linking. OpenWrt's rstrip.sh inspects this RPATH and drops it. Now the
modules cannot find the needed libraries. Fix this by specifying a path
that rstrip.sh accepts.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The initial commit for this plugin missed that it comes with a
configuration file and extra files that go into
/usr/share/kamailio/xhttp_pi.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This installs the snmp mibs files provided by mod_snmpstats. A patch is
added to make the kamailio build system install the files in a proper
location in PKG_INSTALL_DIR.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The aim is to add the missing modules that Debian packages, minus the
ones for which depends are missing on OpenWrt.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add install/conffile routine
- use it for main package
- setup BuildKamailio5Module to allow inclusion of configuration files
on a per-module basis (mod-tls is currently the only user)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- dictionary.kamailio & kamailio-basic.cfg are gone, remove from
Makefilei accordingly
- Install the config files from PKG_INSTALL_DIR
- Use $(INSTALL_CONF) for config files
- Remove gratuitous directory creation
- Refresh 050-fix-kamailio-utils.patch
- Remove src/modules/cnxcc/Makefile change from 120-libevent-libs.patch
as $(EXTRA_LIBS) has been removed from Makefile in previous commit
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Removes TLS_HOOKS as this is default anyway
- Removes -DUSE_PTHREAD_MUTEX as on supported arches FAST_LOCK is used
by default, which according to doc/tutorials/locking.txt is fastest.
-DUSE_PTHREAD_MUTEX will be set by the build system automatically in
case FAST_LOCK is unsupported, e.g. on ARC.
- Add OpenWrt LDFLAGS via LD_EXTRA_OPTS.
- With OpenWrt LDFLAGS and CPPFLAGS in place there is no need to declare
PCREDEFS, PCRELIBS nor EXTRA_LIBS. Remove them all.
- With this setup mod-dialplan now links to libpcre as well; add the
depend accordingly.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit changes Build/Compile, Build/Install and Build/InstallDev to
prevent building/installing items that are not selected. I.e. when
freeswitch-stable is not selected, only libfreetdm-stable gets built.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit renames libfreetdm to libfreetdm-stable. Also the depends
are changed to what they actually are, i.e. there is no depend on
freeswitch-stable anymore (libfreetdm.so is a standalone libary).
The FreeTDM modules get the same treatment.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
ilbcwebrtc and isaccodec currently depend on @!arc because the code does
not compile there. The code does not compile on aarch64 either.
Instead of adding @!aarch64 this commit adds a patch copied from Debian
that turns the error "Please add support for your architecture in
typedefs.h" into a warning, allowing the code to build.
Consequently this commit removes @!arc from the depends as well.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently three copies of every library are installed. Save space by
installing symbolic links instead.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
yate cannot be compiled against fortify-source headers at this moment:
In file included from /home/sk/tmp/lede/staging_dir/toolchain-x86_64_gcc-5.5.0_musl/include/fortify/unistd.h:23:0,
from ../yateclass.h:32,
from ../yatengine.h:29,
from ../yatephone.h:29,
from server/ysnmpagent.cpp:22:
/home/sk/tmp/lede/staging_dir/toolchain-x86_64_gcc-5.5.0_musl/include/fortify/fortify-headers.h:20:42: error: type of 'TelEngine::strcat' is unknown
To work around this remove CPPFLAGS from CFLAGS.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
When gcc 7 is used, -Werror=format-truncation finds snprintf() calls in
mod_cdr_mongodb.c and suspects that they may result in truncation. As a
result the build fails.
Work around this by adding -Wno-error=format-truncation to CFLAGS when
gcc support this.
JIRA-10939 has been raised upstream to follow up on this.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- perl and postgresql do not compile on ARC; disable the modules
accordingly
- ilbcwebrtc and isac also cause build failures on ARC; disable them as
well.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently conffiles is always filled with <module>.conf. This leads to
"no such file and directory" errors when the file actually does not
exist.
This commit adds a 6th column to BuildPlugin() which indicates if there
is a config file or not.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- remove ARGS that are default anyway
- enable sse2 when target is x86_64
- remove --enable-inline as that causes too many warnings:
ilbccodec.cpp:50:7: warning: inlining failed in call to 'virtual {anonymous}::iLBCFactory::~iLBCFactory()': call is unlikely and code size would grow [-Winline]
class iLBCFactory : public TranslatorFactory
^~~~~~~~~~~
ilbccodec.cpp:50:7: note: called from here
class iLBCFactory : public TranslatorFactory
^~~~~~~~~~~
- --enable-internalregex removed as yate can use external regex
- make some choices depending on whether a package is selected; otherwise the
build might fail, i.e. when spandsp is not installed but the Makefiles tells
the build system to use spandsp anyway
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- remove flags to don't have a reason for being there anymore (there is
no comment on why they're needed).
- add CPPFLAGS to CFLAGS so the compiler can use the FORTIFY_SOURCE
headers.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently the Makfile pulls in every dependency mentioned. Fix this by
prefixing the depends with the respective PACKAGE_* items.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Pass CPPFLAGS in the CFLAGS as otherwise the build system will ignore
them.
This way FORTIFY_SOURCE headers are passed to the compiler.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently INCL_MODULES is filled with all modules. This commit changes
this so that only the modules that are selected are added to it.
To further limit the number of modules built group_include="standard" is
added. This way only the modules of the standard group plus the modules
selected in menuconfig are built. The "standard" group only includes
modules without any depends.
This fixes build failures on targets where not all depends are
available, i.e. postgresql on ARC. Now these modules can be properly
prevented from being built.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently the Makefile pulls in depends even for packages which are not
selected. Fix this by prefixing the depends with the respective
PACKAGE_* item.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Adding KAM_MODULES variable is not needed. Remove it and call
BuildPackage from BuildKamailio5Module instead. For this to work
PKG_MAKE_ARGS and Build/Compile need to be moved up, before the module
evals.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The included libtiff is dated and has multiple unfixed CVEs. This commit
applies patches from upstream's master branch to use the system libtiff
instead.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Upstream seems to have updated their libtool. Instead of running
rebootstrap.sh, set PKG_FIXUP:=autoreconf. Otherwise the build would
fail due to libtool version conflicts.
This is actually nice, because now the build is a bit quicker due to
less autoconf and configure runs.
rebootstrap.sh was primarily used because it worked around some other
issues (e.g. not being able to detect how to convert files to the cross
compiler format, i.e. "func_convert_file_noop"), but that doesn't appear
to be needed anymore, which is nice.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- use upstream release tarball instead of git checkout
- update to recently released version 1.4.5
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The source does not change, but reflect the real version (2.2.1) in
PKG_VERSION. Also move from gz to xz to shave off a few Bytes.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This was suggested in PR #241 by @commodo. Python maintainers moved the
.mk files and also want to get rid of the include_mk construct.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Remove 003-disable-ast-xml-docs.patch, it doesn't apply anymore.
Instead change --enable-xmldoc into --disable-xmldoc in the Makefile.
- Refresh patches.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Remove 003-disable-ast-xml-docs.patch, it doesn't apply anymore.
Instead change --enable-xmldoc into --disable-xmldoc in the Makefile.
- Remove 055-ASTERISK-24517.patch again due to multiple hunk failures.
- Refresh patches.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit adds mod_freetdm (glue between FreeSWITCH and FreeTDM) and
the following FreeTDM modules:
- ftmod_analog
- ftmod_analog_em
- ftmod_libpri
- ftmod_pritap
- ftmod_skel
- ftmod_zt
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The OpenWrt telephony feed already has DAHDI support. This commit
enables FreeTDM so FreeSWITCH can make use of DAHDI via libpri.
This does not change the existing FreeSWITCH packages as FreeTDM is a
separate library in the FreeSWITCH distribution, hence no revision bump.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
uclibc doesn't include iconv. This commit adds a dependency to
libiconv-full when building against uclibc. iconv can be used by the
included apr and is a hard dependency of mod_gsmopen.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add procd init script
- script starts the daemon as user "baresip" instead of root
- add /etc/default/baresip
- add example configuration into /etc/baresip
- add conffiles definition
- prevent autostart after upgrade by using ENABLE_BARESIP variable in
/etc/default/baresip
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add procd init script
- script starts the daemon as user "restund" instead of root
- add /etc/default/restund
- declare /etc/init.d/restund a configuration file
- prevent autostart after upgrade by using ENABLE_RESTUND variable in
/etc/default/restund
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- add CROSS_COMPILE and OS to MAKE_FLAGS; this should help when
compiling on other OSes, e.g. Darwin.
- move RELEASE up (alphabetical sort)
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The patch is wrong. It may cause errors of the "illegal instruction" variety.
The libre package fix in commit e40f0ea06f makes
this patch unnecessary anyway. Drop it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
The current approach (creating a blocker file) is clumsy. Use a variable
in /etc/default/freeswitch instead.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add some dependencies to select modules. Dependencies confirmed by
menuselect.
Also fix description of res_monitor.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Add some dependencies to select modules. Dependencies confirmed by
menuselect.
Also fix description of res_monitor.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Remove the possibility to prevent the dependency on libedit. freeswitch
behaves very quirky without it.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
- Use "-nc -nf" always. When started by procd freeswitch detects the
console to be orphaned and disables it. So disable the interactive
console but force freeswitch to not fork into background.
- Improve readability of command parameters.
- Minor changes.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
Currently baresip often fails to build because the FFmpeg compile was
not successful:
CC [M] build-mipsel/modules/avcodec/avcodec.o
modules/avcodec/avcodec.c:9:32: fatal error: libavcodec/avcodec.h: No such file or directory
compilation terminated.
Address this by adding a configuration symbol that prevents the
FFmpeg-depending modules from being selected by default, except on i386
and x86_64.
It is better having baresip packages without these video modules than
not having baresip packages at all.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
re and baresip builds for 32bit x86 targets are currently failing:
build-i386/sip/auth.o: In function `sip_auth_encode':
/build/lede-snapshots/i386_pentium/build/sdk/build_dir/target-i386_pentium_musl/re-0.5.6/src/sip/auth.c:279: undefined reference to `__stack_chk_fail_local'
The undefined references occur because there is no linking done to ssp.
Fix this by setting LD to TARGET_CC, so ld is not called directly. This
also means one patch is not needed anymore.
Do the same for rem and restund as they basically all share the same
build system.
Compile-tested for x86, x86_64 and mips.
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>