PKG_NAME:=libks
PKG_VERSION:=1.6.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/signalwire/libks/tar.gz/$(PKG_VERSION)?
--- /dev/null
+--- a/src/include/libks/ks_ssl.h
++++ b/src/include/libks/ks_ssl.h
+@@ -25,6 +25,8 @@
+ #include <openssl/ssl.h>
+ #include <openssl/engine.h>
+ #include <openssl/x509v3.h>
++#include <openssl/bn.h>
++#include <openssl/rsa.h>
+
+ KS_BEGIN_EXTERN_C
+
+--- a/src/include/libks/kws.h
++++ b/src/include/libks/kws.h
+@@ -22,6 +22,8 @@
+
+ #pragma once
+
++#include <openssl/err.h>
++
+ #define WEBSOCKET_GUID "258EAFA5-E914-47DA-95CA-C5AB0DC85B11"
+ #define B64BUFFLEN 1024
+ #define KWS_MAX_HEADERS 64
+--- a/src/ks_ssl.c
++++ b/src/ks_ssl.c
+@@ -30,6 +30,7 @@ static int ssl_count = 0;
+ static int is_init = 0;
+ static ks_bool_t skip_ssl = KS_FALSE;
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ static inline void ks_ssl_lock_callback(int mode, int type, char *file, int line)
+ {
+ if (mode & CRYPTO_LOCK) {
+@@ -44,6 +45,7 @@ static inline unsigned long ks_ssl_thread_id(void)
+ {
+ return ks_thread_self_id();
+ }
++#endif
+
+ KS_DECLARE(void) ks_ssl_init_skip(ks_bool_t skip)
+ {
+@@ -58,6 +60,7 @@ KS_DECLARE(void) ks_ssl_init_ssl_locks(void)
+
+ is_init = 1;
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ if (!skip_ssl) {
+ SSL_library_init();
+ SSL_load_error_strings();
+@@ -81,6 +84,7 @@ KS_DECLARE(void) ks_ssl_init_ssl_locks(void)
+
+ ssl_count++;
+ }
++#endif
+ }
+
+ KS_DECLARE(void) ks_ssl_destroy_ssl_locks(void)
+@@ -91,6 +95,7 @@ KS_DECLARE(void) ks_ssl_destroy_ssl_locks(void)
+
+ is_init = 0;
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ if (!skip_ssl) {
+ if (ssl_count == 1) {
+ CRYPTO_set_locking_callback(NULL);
+@@ -111,6 +116,7 @@ KS_DECLARE(void) ks_ssl_destroy_ssl_locks(void)
+ ERR_free_strings();
+ EVP_cleanup();
+ }
++#endif
+ }
+
+ static int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days);
+@@ -159,6 +165,7 @@ KS_DECLARE(int) ks_gen_cert(const char *dir, const char *file)
+ }
+ }
+
++#if OPENSSL_VERSION_NUMBER < 0x10100000
+ X509_free(x509);
+ EVP_PKEY_free(pkey);
+
+@@ -169,6 +176,7 @@ KS_DECLARE(int) ks_gen_cert(const char *dir, const char *file)
+
+ //CRYPTO_mem_leaks(bio_err);
+ //BIO_free(bio_err);
++#endif
+
+
+ ks_safe_free(pvt);
+@@ -231,8 +239,8 @@ static int mkcert(X509 **x509p, EVP_PKEY **pkeyp, int bits, int serial, int days
+
+ X509_set_version(x, 0);
+ ASN1_INTEGER_set(X509_get_serialNumber(x), serial);
+- X509_gmtime_adj(X509_get_notBefore(x), -(long)60*60*24*7);
+- X509_gmtime_adj(X509_get_notAfter(x), (long)60*60*24*days);
++ X509_gmtime_adj(X509_getm_notBefore(x), -(long)60*60*24*7);
++ X509_gmtime_adj(X509_getm_notAfter(x), (long)60*60*24*days);
+ X509_set_pubkey(x, pk);
+
+ name = X509_get_subject_name(x);
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/freeswitch/sofia-sip.git
-PKG_SOURCE_DATE=2020-08-03
-PKG_SOURCE_VERSION:=f5d44540d32b646133f685f04cb8b6658f748714
+PKG_SOURCE_DATE=2020-08-31
+PKG_SOURCE_VERSION:=f6f29b483e9c31ce8d3e87419ec3deea8679312d
PKG_RELEASE:=1
-PKG_MIRROR_HASH:=cfb9b6c1335160f942b72c8660091c1a7eb4ae4ac461d0531cde4f4ca056b3e4
+PKG_MIRROR_HASH:=07b9b6198558542270699af2e31ff2331a49a5262e250cc78e3bf631dc444737
+
+# sofia-sip adds a version to include path
+# need to update this when the version changes
+VERSION_EQUIVALENT:=1.13
PKG_BUILD_PARALLEL:=1
--without-glib
define Build/InstallDev
- $(INSTALL_DIR) $(1)/usr/include/sofia-sip-1.12/sofia-{sip,resolv} \
+ $(INSTALL_DIR) $(1)/usr/include/sofia-sip-$(VERSION_EQUIVALENT)/sofia-{sip,resolv} \
$(1)/usr/share/sofia-sip
$(INSTALL_DATA) \
- $(PKG_INSTALL_DIR)/usr/include/sofia-sip-1.12/sofia-sip/*.h{,.in} \
- $(1)/usr/include/sofia-sip-1.12/sofia-sip
+ $(PKG_INSTALL_DIR)/usr/include/sofia-sip-$(VERSION_EQUIVALENT)/sofia-sip/*.h{,.in} \
+ $(1)/usr/include/sofia-sip-$(VERSION_EQUIVALENT)/sofia-sip
$(INSTALL_DATA) \
- $(PKG_INSTALL_DIR)/usr/include/sofia-sip-1.12/sofia-resolv/*.h \
- $(1)/usr/include/sofia-sip-1.12/sofia-resolv
+ $(PKG_INSTALL_DIR)/usr/include/sofia-sip-$(VERSION_EQUIVALENT)/sofia-resolv/*.h \
+ $(1)/usr/include/sofia-sip-$(VERSION_EQUIVALENT)/sofia-resolv
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libsofia-sip-ua.{a,so*} $(1)/usr/lib
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/sofia-sip-ua.pc \
include $(TOPDIR)/rules.mk
PKG_NAME:=freeswitch
-PKG_VERSION:=1.10.4
-PKG_RELEASE:=1
+PKG_VERSION:=1.10.5
+PKG_RELEASE:=2
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_SOURCE:=freeswitch-$(PKG_VERSION).-release.tar.xz
PKG_SOURCE_URL:=https://files.freeswitch.org/releases/freeswitch
-PKG_HASH:=492d8faae813dc21bda691f8d0c3bead1f541d6df69dba760c9d7bacbed717fc
+PKG_HASH:=3e26600767a82946eca94af2c8f14712783aa83db5fb1cc57585f544aecce327
PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch
PKG_BUILD_DIR:=$(BUILD_DIR)/freeswitch-$(PKG_VERSION).-release
-# configure in libs/spandsp fails without libjpeg-turbo and tiff
-PKG_BUILD_DEPENDS:= \
- libjpeg-turbo \
- tiff \
- perl/host
+PKG_BUILD_DEPENDS:=perl/host
PKG_FIXUP:=autoreconf
-# With mod_ssml and mod_rayo enabled the parallel compiles always failed
-PKG_BUILD_PARALLEL:=0
+PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_LICENSE:= \
$$(eval $$(call Download,$(1)))
endef
+define Package/freeswitch/enable/plugin
+ $(SED) '/$(1)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
+endef
+
define Package/freeswitch/install/bin
$(INSTALL_DIR) $(1)$(FS_BIN_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(FS_BIN_DIR)/$(2) \
+libpcre \
+libpthread \
+librt \
+ +libspandsp3 \
+libspeex \
+libspeexdsp \
+libsqlite3 \
--with-erlang=no
endif
-# Make mod_spandsp use fixed point math when soft float support is
-# enabled on target devices.
-ifeq ($(CONFIG_SOFT_FLOAT),y)
-CONFIGURE_ARGS+= \
- --enable-fixed-point
-endif
-
# FreeSWITCH dropped postgresql support from the core. postgresql
# support is now available via mod_pgsql. We still need to pass
# '--without-pgsql', otherwise apr-util links to libpq and we still
FS_FREERADIUS_CLIENT_FILE:=freeradius-client-1.1.7.tar.gz
FS_FREERADIUS_CLIENT_HASH:=eada2861b8f4928e3ac6b5bbfe11e92cd6cdcacfce40cae1085e77c1b6add0e9
-# spandsp
-FS_SPANDSP_VERSION:=a6266f22591ee6ed1be9282babe4bfdbc50d4b82
-FS_SPANDSP_FILE:=fs-spandsp-$(FS_SPANDSP_VERSION).tar.xz
-FS_SPANDSP_URL:=https://github.com/freeswitch/spandsp.git
-FS_SPANDSP_MIRROR_HASH:=4aa38003c07c05d9030eab93ec3b0b974be03013f9e898b1f053f7306bcfa5c8
-
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-event-zmq),)
$(eval $(call Download/files,zmq,$(FS_ZEROMQ_FILE),$(FS_ZEROMQ_URL),$(FS_ZEROMQ_HASH)))
endif
$(eval $(call Download/files,freeradius-client,$(FS_FREERADIUS_CLIENT_FILE),$(FS_LIBS_URL),$(FS_FREERADIUS_CLIENT_HASH)))
endif
-$(eval $(call Download/files,fs-spandsp,$(FS_SPANDSP_FILE),$(FS_SPANDSP_URL),,$(FS_SPANDSP_VERSION),spandsp,$(FS_SPANDSP_MIRROR_HASH),git))
-
# Need to update LDFLAGS for libs/unimrcp, otherwise it will try to link to a
# different apr/apr-util if found.
# FS_ANCHOR: string in build/acmacros/apr.m4 that will be replaced
define Build/Prepare
$(call Build/Prepare/Default)
- xzcat $(DL_DIR)/$(FS_SPANDSP_FILE) | tar -C $(PKG_BUILD_DIR)/libs $(TAR_OPTIONS)
- $(CP) ./files/spandsp-flags.patch $(PKG_BUILD_DIR)/libs/spandsp
- cd $(PKG_BUILD_DIR) && $(PATCH) -p1 < libs/spandsp/spandsp-flags.patch
-
echo '#applications/mod_random' >> $(PKG_BUILD_DIR)/modules.conf
echo '#codecs/mod_yuv' >> $(PKG_BUILD_DIR)/modules.conf
echo '#event_handlers/mod_event_test' >> $(PKG_BUILD_DIR)/modules.conf
$(SED) '/^#/!s/^/#/' $(PKG_BUILD_DIR)/modules.conf
$(foreach m,$(FS_MOD_AVAILABLE),
$(if $(CONFIG_PACKAGE_freeswitch-mod-$(subst _,-,$(m))),
- $(SED) '/mod_$(m)$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf))
+ $(call Package/freeswitch/enable/plugin,mod_$(m))))
+
+# Some of the dependencies that necessitate below hacks are documented in
+# src/mod/Makefile.am.
# Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
ifneq ($(CONFIG_PACKAGE_freeswitch-misc-grammar),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-pocketsphinx),)
- $(SED) '/mod_pocketsphinx$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+ $(call Package/freeswitch/enable/plugin,mod_pocketsphinx)
endif
# Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-gsmopen),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-spandsp),)
- $(SED) '/mod_spandsp$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
+ $(call Package/freeswitch/enable/plugin,mod_spandsp)
endif
+
+# Hack for mod_rayo - it has a build-time dep on mod_dingaling
+ifneq ($(CONFIG_PACKAGE_freeswitch-mod-rayo),)
+ $(call Package/freeswitch/enable/plugin,mod_dingaling)
+endif
+
+# Hack for mod_ssml - it has a build-time dep on mod_rayo. And mod_rayo needs
+# mod_dingaling :)
+ifneq ($(CONFIG_PACKAGE_freeswitch-mod-ssml),)
+ $(call Package/freeswitch/enable/plugin,mod_rayo)
+ $(call Package/freeswitch/enable/plugin,mod_dingaling)
endif
# Hack for mod_unimrcp - it has a build-time dep on mod_sofia
ifneq ($(CONFIG_PACKAGE_freeswitch-mod-unimrcp),)
-ifeq ($(CONFIG_PACKAGE_freeswitch-mod-sofia),)
- $(SED) '/mod_sofia$$$$/s/^#//' $(PKG_BUILD_DIR)/modules.conf
-endif
+ $(call Package/freeswitch/enable/plugin,mod_sofia)
endif
$(call Build/Configure/Default)
+++ /dev/null
---- a/libs/spandsp/configure.ac
-+++ b/libs/spandsp/configure.ac
-@@ -21,9 +21,12 @@
- AC_PREREQ([2.59])
- AC_INIT([spandsp], [1.99.0])
-
--CFLAGS="$CFLAGS $CONFIGURE_CFLAGS"
--CXXFLAGS="$CXXFLAGS $CONFIGURE_CXXFLAGS"
--LDFLAGS="$LDFLAGS $CONFIGURE_LDFLAGS"
-+m4_include(../apr/build/apr_common.m4)
-+
-+APR_ADDTO(CFLAGS, [$CONFIGURE_CFLAGS])
-+APR_ADDTO(CPPFLAGS, [$CONFIGURE_CPPFLAGS])
-+APR_ADDTO(CXXFLAGS, [$CONFIGURE_CXXFLAGS])
-+APR_ADDTO(LDFLAGS, [$CONFIGURE_LDFLAGS])
-
- SPANDSP_LT_CURRENT=3
- SPANDSP_LT_REVISION=0
--- /dev/null
+--- a/src/mod/applications/mod_spandsp/Makefile.am
++++ b/src/mod/applications/mod_spandsp/Makefile.am
+@@ -4,6 +4,6 @@ MODNAME=mod_spandsp
+ mod_LTLIBRARIES = mod_spandsp.la
+ mod_spandsp_la_SOURCES = mod_spandsp.c udptl.c mod_spandsp_fax.c mod_spandsp_dsp.c mod_spandsp_codecs.c mod_spandsp_modem.c
+ mod_spandsp_la_CFLAGS = $(AM_CFLAGS)
+-mod_spandsp_la_CPPFLAGS = $(SPANDSL_CFLAGS) -I.
++mod_spandsp_la_CPPFLAGS = $(SPANDSP_CFLAGS) -I.
+ mod_spandsp_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS) -ljpeg -lz -ltiff
+ mod_spandsp_la_LDFLAGS = -avoid-version -module -no-undefined -shared
--- /dev/null
+--- a/src/mod/endpoints/mod_gsmopen/Makefile.am
++++ b/src/mod/endpoints/mod_gsmopen/Makefile.am
+@@ -1,19 +1,9 @@
+ include $(top_srcdir)/build/modmake.rulesam
+ MODNAME=mod_gsmopen
+
+-SPANDSP_DIR=$(switch_srcdir)/libs/spandsp
+-SPANDSP_BUILDDIR=$(switch_builddir)/libs/spandsp
+-SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libspandsp.la
+-
+ mod_LTLIBRARIES = mod_gsmopen.la
+ mod_gsmopen_la_SOURCES = mod_gsmopen.cpp gsmopen_protocol.cpp
+ mod_gsmopen_la_CXXFLAGS = $(SWITCH_AM_CXXFLAGS)
+-mod_gsmopen_la_CPPFLAGS = -I$(SPANDSP_DIR)/src -I$(SPANDSP_BUILDDIR)/src -I.
+-mod_gsmopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA)
++mod_gsmopen_la_CPPFLAGS = $(SPANDSP_CFLAGS) -I.
++mod_gsmopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS)
+ mod_gsmopen_la_LDFLAGS = -avoid-version -module -no-undefined -lctb-0.16 -lgsmme
+-
+-BUILT_SOURCES = $(SPANDSP_LA)
+-
+-$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update
+- cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)"
+- $(TOUCH_TARGET)
--- /dev/null
+--- a/configure.ac
++++ b/configure.ac
+@@ -703,7 +703,7 @@ PKG_CHECK_MODULES([MARIADB], [libmariadb
+ ])
+ ])
+
+-PKG_CHECK_MODULES([SPANDSP], [spandsp >= 3.0],[
++PKG_CHECK_MODULES([SPANDSP], [spandsp3 >= 3.0],[
+ AM_CONDITIONAL([HAVE_SPANDSP],[true])],[
+ AC_MSG_ERROR([no usable spandsp; please install spandsp3 devel package or equivalent])
+ ])
+++ /dev/null
-commit 167294ea2649afd0ffedf4520b0f308979c3ca2a
-Author: Sebastian Kemper <sebastian_ml@gmx.net>
-Date: Fri Oct 18 18:28:07 2019 +0200
-
- [mod-sofia] Fix reINVITE after T38 is rejected
-
- From FS-11833.
-
- After FS sends a reINVITE to T38 which gets rejected by peer it is no
- longer in a state where it can properly answer a reINVITE which requests
- a change of the media setup.
-
- 1. FS sends INVITE (destination is a fax machine)
- 2. Call connects with "8 101"
- 3. FS sends reINVITE to T38
- 4. T38 rejected (488)
- 5. FS receives INVITE to "8"
- 6. FS replies with 200 OK without SDP
- 7. Call fails
-
- The bug is related to TFLAG_SDP. This flag is set when a media session
- is established. And when there's a reINVITE sofia_glue_do_invite() from
- sofia_glue.c is called and clears the flag again:
-
- sofia_clear_flag_locked(tech_pvt, TFLAG_SDP);
-
- So when FS sends a reINVITE to T38 the flag gets cleared. But when the
- reINVITE is rejected with 488 the flag is not set again. It stays
- cleared. So the call continues with the previously negotiated media, fax
- passthrough (8 101 in this case), but TFLAG_SDP is not set.
-
- So when FS receives a reINVITE at this point it doesn't see the need to
- renegotiate anything, even though it realizes that 2833 DTMF is now off:
-
- 2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5478 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
- 2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5533 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
- 2019-04-30 16:42:12.478025 [DEBUG] switch_core_media.c:5802 No 2833 in SDP. Disable 2833 dtmf and switch to INFO
-
- When FS doesn't send a reINVITE (fax_enable_t38_request=false) and the
- reINVITE to "8" is received, TFLAG_SDP is still set and then FS
- understands that it needs to renegotiate and replies with a 200 OK that
- includes SDP:
-
- 2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5478 Audio Codec Compare [PCMA:8:8000:20:64000:1]/[PCMA:8:8000:20:64000:1]
- 2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5533 Audio Codec Compare [PCMA:8:8000:20:64000:1] ++++ is saved as a match
- 2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:5802 No 2833 in SDP. Disable 2833 dtmf and switch to INFO
- 2019-04-30 16:41:19.358028 [DEBUG] sofia.c:8237 skemper was here in line 8232
- 2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:8390 skemper was here in line 8390.
- 2019-04-30 16:41:19.358028 [DEBUG] switch_core_media.c:8496 Audio params are unchanged for sofia/external/+called_number.
- 2019-04-30 16:41:19.358028 [DEBUG] sofia.c:8243 Processing updated SDP
-
- This fixes the state problem after a rejected T38 reINVITE by setting
- TFLAG_SDP.
-
- Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
-
---- a/src/mod/endpoints/mod_sofia/sofia.c
-+++ b/src/mod/endpoints/mod_sofia/sofia.c
-@@ -6536,6 +6536,7 @@ static void sofia_handle_sip_r_invite(sw
- switch_channel_clear_app_flag_key("T38", tech_pvt->channel, CF_APP_T38_REQ);
- switch_channel_set_app_flag_key("T38", tech_pvt->channel, CF_APP_T38_FAIL);
- switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "%s T38 invite failed\n", switch_channel_get_name(tech_pvt->channel));
-+ sofia_set_flag(tech_pvt, TFLAG_SDP);
- }
-
-
--- /dev/null
+commit 9c01bd4c78c678e989ac77522145d3bd46352f6f
+Author: Ciprian <ciprian.dosoftei@gmail.com>
+Date: Tue Sep 1 12:13:28 2020 -0400
+
+ [mod_rayo] Enable -fno-common compilation
+
+diff --git a/src/mod/event_handlers/mod_rayo/iks_helpers.h b/src/mod/event_handlers/mod_rayo/iks_helpers.h
+index e221abe390..b98dbf5be6 100644
+--- a/src/mod/event_handlers/mod_rayo/iks_helpers.h
++++ b/src/mod/event_handlers/mod_rayo/iks_helpers.h
+@@ -51,8 +51,7 @@ struct xmpp_error {
+
+ #undef XMPP_ERROR
+ #define XMPP_ERROR(def_name, name, type) \
+- SWITCH_DECLARE(const struct xmpp_error) def_name##_val; \
+- SWITCH_DECLARE(const struct xmpp_error *) def_name;
++ extern const struct xmpp_error *def_name;
+ #include "xmpp_errors.def"
+
+ /* See RFC-3920 XMPP core for error definitions */
+++ /dev/null
---- a/src/mod/event_handlers/mod_rayo/Makefile.am
-+++ b/src/mod/event_handlers/mod_rayo/Makefile.am
-@@ -8,7 +8,7 @@ IKS_LA=$(IKS_BUILDDIR)/src/libiksemel.la
- noinst_LTLIBRARIES = librayomod.la
- librayomod_la_SOURCES = mod_rayo.c iks_helpers.c nlsml.c rayo_components.c rayo_cpa_component.c rayo_cpa_detector.c rayo_elements.c rayo_fax_components.c
- librayomod_la_SOURCES += rayo_input_component.c rayo_output_component.c rayo_prompt_component.c rayo_record_component.c sasl.c srgs.c xmpp_streams.c rayo_exec_component.c
--librayomod_la_CFLAGS = $(AM_CFLAGS) -I$(switch_builddir)/libs/iksemel/include $(PCRE_CFLAGS)
-+librayomod_la_CFLAGS = $(AM_CFLAGS) -I$(switch_builddir)/libs/iksemel/include $(PCRE_CFLAGS) -fcommon
-
- mod_LTLIBRARIES = mod_rayo.la
- mod_rayo_la_SOURCES =
-@@ -25,7 +25,7 @@ $(IKS_LA): $(IKS_BUILDDIR) $(IKS_DIR) $(
- noinst_PROGRAMS = test/test_iks test/test_nlsml test/test_srgs
-
- test_test_iks_SOURCES = test/test_iks.c
--test_test_iks_CFLAGS = $(AM_CFLAGS) -I. -I$(switch_builddir)/libs/iksemel/include $(PCRE_CFLAGS) -DSWITCH_TEST_BASE_DIR_FOR_CONF=\"${abs_builddir}/test\" -DSWITCH_TEST_BASE_DIR_OVERRIDE=\"${abs_builddir}/test\"
-+test_test_iks_CFLAGS = $(AM_CFLAGS) -I. -I$(switch_builddir)/libs/iksemel/include $(PCRE_CFLAGS) -DSWITCH_TEST_BASE_DIR_FOR_CONF=\"${abs_builddir}/test\" -DSWITCH_TEST_BASE_DIR_OVERRIDE=\"${abs_builddir}/test\" -fcommon
- test_test_iks_LDFLAGS = $(AM_LDFLAGS) -avoid-version -no-undefined $(freeswitch_LDFLAGS) $(switch_builddir)/libfreeswitch.la $(CORE_LIBS) $(APR_LIBS)
- test_test_iks_LDADD = librayomod.la $(IKS_LA) $(PCRE_LIBS)
-
+++ /dev/null
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -130,7 +130,7 @@ CORE_CFLAGS += -I$(switch_srcdir)/libs/l
- CORE_CFLAGS += -DSWITCH_HAVE_YUV
- endif
- CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/crypto/include -Ilibs/srtp/crypto/include
--CORE_CFLAGS += $(SPANDSP_CFLAGS)
-+CORE_CFLAGS += -I$(switch_builddir)/libs/spandsp/src -I$(switch_srcdir)/libs/spandsp/src
- if ENABLE_LIBVPX
- CORE_CFLAGS += -DSWITCH_HAVE_VPX
- endif
-@@ -184,10 +184,13 @@ endif
- ##
- ## libfreeswitch
- ##
--noinst_LTLIBRARIES =
-+noinst_LTLIBRARIES = libfreeswitch_spandsp.la
- if ENABLE_LIBYUV
- noinst_LTLIBRARIES += libfreeswitch_libyuv.la
- endif
-+libfreeswitch_spandsp_la_SOURCES = libs/spandsp/src/plc.c libs/spandsp/src/alloc.c libs/spandsp/src/bit_operations.c
-+libfreeswitch_spandsp_la_CFLAGS = -Ilibs/spandsp/src $(CORE_CFLAGS) $(AM_CFLAGS)
-+CORE_LIBS+=libfreeswitch_spandsp.la
-
- if ENABLE_LIBYUV
- libfreeswitch_libyuv_la_SOURCES = \
-@@ -248,7 +251,7 @@ endif
- lib_LTLIBRARIES = libfreeswitch.la
- libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(SQLITE_CFLAGS) $(GUMBO_CFLAGS) $(FVAD_CFLAGS) $(FREETYPE_CFLAGS) $(CURL_CFLAGS) $(PCRE_CFLAGS) $(SPEEX_CFLAGS) $(LIBEDIT_CFLAGS) $(openssl_CFLAGS) $(AM_CFLAGS) $(TPL_CFLAGS)
- libfreeswitch_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) $(PLATFORM_CORE_LDFLAGS) -no-undefined
--libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(GUMBO_LIBS) $(FVAD_LIBS) $(FREETYPE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(PLATFORM_CORE_LIBS) $(TPL_LIBS) $(SPANDSP_LIBS)
-+libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(GUMBO_LIBS) $(FVAD_LIBS) $(FREETYPE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(PLATFORM_CORE_LIBS) $(TPL_LIBS)
- libfreeswitch_la_DEPENDENCIES = $(BUILT_SOURCES)
-
- if HAVE_PNG
-@@ -717,7 +720,9 @@ core-install: core_install
-
- clean_core: clean-libLTLIBRARIES
- rm -f $(libfreeswitch_la_OBJECTS)
-+ rm -f $(libfreeswitch_spandsp_la_OBJECTS)
- rm -f `echo $(libfreeswitch_la_OBJECTS) | sed -e's|.lo|.o|g'`
-+ rm -f `echo $(libfreeswitch_spandsp_la_OBJECTS) | sed -e's|.lo|.o|g'`
-
- install_core: install-libLTLIBRARIES
-
-@@ -782,6 +787,12 @@ iks-reconf:
- cd libs/iksemel && sh ./configure.gnu $(MY_DEFAULT_ARGS)
- $(MAKE) mod_dingaling-clean
-
-+spandsp-reconf:
-+ cd libs/spandsp && $(MAKE) clean || echo
-+ cd libs/spandsp && autoreconf -fi
-+ cd libs/spandsp && sh ./configure.gnu $(MY_DEFAULT_ARGS)
-+ cd libs/spandsp && $(MAKE)
-+
- cluecon:
- @clear
- @echo Thank you for updating. This is going to take a while so relax.
---- a/configure.ac
-+++ b/configure.ac
-@@ -703,11 +703,6 @@ PKG_CHECK_MODULES([MARIADB], [libmariadb
- ])
- ])
-
--PKG_CHECK_MODULES([SPANDSP], [spandsp >= 1.99],[
-- AM_CONDITIONAL([HAVE_SPANDSP],[true])],[
-- AC_MSG_ERROR([no usable spandsp; please install spandsp devel package or equivalent])
--])
--
- PKG_CHECK_MODULES([SOFIA_SIP], [sofia-sip-ua >= 1.12.12],[
- AM_CONDITIONAL([HAVE_SOFIA_SIP],[true])],[
- AC_MSG_ERROR([no usable sofia-sip; please install sofia-sip-ua devel package or equivalent])
-@@ -2104,6 +2099,7 @@ AC_CONFIG_SUBDIRS([libs/iksemel])
- AC_CONFIG_SUBDIRS([libs/libdingaling])
- AC_CONFIG_SUBDIRS([libs/freetdm])
- AC_CONFIG_SUBDIRS([libs/unimrcp])
-+AC_CONFIG_SUBDIRS([libs/spandsp])
- if test "x${enable_zrtp}" = "xyes"; then
- AC_CONFIG_SUBDIRS([libs/libzrtp])
- fi
---- a/debian/copyright
-+++ b/debian/copyright
-@@ -1310,6 +1310,45 @@ Files: libs/js/nsprpub/pr/tests/tmocon.c
- Copyright: 1998-2004 Netscape Communications Corporation
- License: MPL-1.1 or GPL-2+
-
-+Files: libs/spandsp/*
-+Copyright: 2001-2012, Steve Underwood
-+ 2006 Michael Jerris
-+ 1991-1997 Silicon Graphics, Inc.
-+ 1990-1997 Sam Leffler
-+ 1993 CMU
-+ 2004, Horizon Wimba, Inc.
-+ 1990, 1995 Frank D. Cringle.
-+License: LGPL-2.1
-+
-+Files: libs/spandsp/tests/*
-+ libs/spandsp/spandsp-sim/g1050.c
-+ libs/spandsp/spandsp-sim/line_model.c
-+ libs/spandsp/spandsp-sim/make_line_models.c
-+ libs/spandsp/spandsp-sim/spandsp-sim.h
-+ libs/spandsp/spandsp-sim/test_utils.c
-+ libs/spandsp/src/image_translate.c
-+ libs/spandsp/src/make_at_dictionary.c
-+ libs/spandsp/src/make_cielab_luts.c
-+ libs/spandsp/src/make_math_fixed_tables.c
-+ libs/spandsp/src/make_modem_filter.c
-+ libs/spandsp/test-data/etsi/fax/generate_etsi_300_242_pages.c
-+ libs/spandsp/test-data/itu/fax/generate_dithered_tif.c
-+ libs/spandsp/test-data/itu/fax/generate_sized_pages.c
-+ libs/spandsp/test-data/itu/fax/generate_striped_pages.c
-+Copyright: 2001-2012, Steve Underwood
-+License: GPL-2
-+
-+Files: libs/spandsp/tests/ademco_contactid_tests.c
-+ libs/spandsp/tests/regression_tests.sh
-+ libs/spandsp/tests/timezone_tests.c
-+ libs/spandsp/tests/tsb85_extra_tests.sh
-+ libs/spandsp/tests/tsb85_tests.c
-+ libs/spandsp/tests/tsb85_tests.sh
-+ libs/spandsp/tests/v42bis_tests.sh
-+ libs/spandsp/tests/fax_tests.sh
-+Copyright: 2001-2012, Steve Underwood
-+License: LGPL-2.1
-+
- Files: src/mod/applications/mod_cluechoo/sl.h
- Copyright: 1993 Toyoda Masashi
- License: FIXME
-@@ -1402,6 +1441,11 @@ Files: libs/libsndfile/src/G72x/*
- Copyright: Abandoned, Sun Microsystems, Inc.
- License: public-domain
-
-+Files: libs/spandsp/src/spandsp/fast_convert.h
-+Copyright: 2001-2004 Erik de Castro Lopo <erikd@mega-nerd.com>
-+ 2009 Steve Underwood
-+License: LGPL-2.1
-+
- Files: libs/libsndfile/*
- libs/win32/libsndfile/*
- Copyright: 1999-2009 Erik de Castro Lopo <erikd@mega-nerd.com>
---- a/src/mod/applications/mod_spandsp/Makefile.am
-+++ b/src/mod/applications/mod_spandsp/Makefile.am
-@@ -1,9 +1,17 @@
- include $(top_srcdir)/build/modmake.rulesam
- MODNAME=mod_spandsp
-
-+SPANDSP_DIR=$(switch_srcdir)/libs/spandsp
-+SPANDSP_BUILDDIR=$(switch_builddir)/libs/spandsp
-+SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libspandsp.la
-+
- mod_LTLIBRARIES = mod_spandsp.la
- mod_spandsp_la_SOURCES = mod_spandsp.c udptl.c mod_spandsp_fax.c mod_spandsp_dsp.c mod_spandsp_codecs.c mod_spandsp_modem.c
- mod_spandsp_la_CFLAGS = $(AM_CFLAGS)
--mod_spandsp_la_CPPFLAGS = $(SPANDSL_CFLAGS) -I.
--mod_spandsp_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LIBS) -ljpeg -lz -ltiff
-+mod_spandsp_la_CPPFLAGS = -I$(SPANDSP_DIR)/src -I$(SPANDSP_BUILDDIR)/src -I.
-+mod_spandsp_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA) $(SPANDSP_LA_JBIG) $(SPANDSP_LA_LZMA) -ljpeg -lz -ltiff
- mod_spandsp_la_LDFLAGS = -avoid-version -module -no-undefined -shared
-+
-+$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update
-+ cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)"
-+ $(TOUCH_TARGET)
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=rtpengine
-PKG_VERSION:=mr8.5.1.1
-PKG_RELEASE:=2
+PKG_VERSION:=mr8.5.1.2
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/sipwise/rtpengine/tar.gz/$(PKG_VERSION)?
-PKG_HASH:=170377d663f9f9da790aa1ff262001940bfc4e930547807182fcceb8d8ee987e
+PKG_HASH:=ffc85d736ee58c4f74374ebc336fd14e43031be7bbd6acff27447cc25aff9558
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
-PKG_BUILD_PARALLEL:=1
+# When building in parallel, some files (like streambuf.c or dtmflib.c)
+# are generated multiple times by the rtpengine build system.
+# Intermittently they then contain garbage, leading to redefinition
+# errors.
+PKG_BUILD_PARALLEL:=0
PKG_BUILD_DEPENDS:=gperf/host
include $(TOPDIR)/rules.mk
PKG_NAME:=siproxd
-PKG_VERSION:=0.8.2
-PKG_RELEASE:=6
+PKG_VERSION:=0.8.3
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/siproxd
-PKG_HASH:=526ce491b0cc189e2766c62432aff3ebb995e551d7261ea32c02a90c7bf7ccd0
+PKG_HASH:=9a6d7a6bb6fff162775b1e1fb7018de9c69642cbf8626185dc6ffceeeba07736
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1
define Package/siproxd-mod-$(subst _,-,$(1))
$$(call Package/siproxd/Default)
TITLE:= siproxd $(1) plugin
- DEPENDS:=siproxd
+ DEPENDS:=siproxd $(2)
endef
define Package/siproxd-mod-$(subst _,-,$(1))/install
endef
$(eval $(call BuildPackage,siproxd))
+$(eval $(call BuildPlugin,blacklist,+libsqlite3))
$(eval $(call BuildPlugin,codecfilter))
$(eval $(call BuildPlugin,defaulttarget))
$(eval $(call BuildPlugin,demo))
$(eval $(call BuildPlugin,prefix))
$(eval $(call BuildPlugin,regex))
$(eval $(call BuildPlugin,shortdial))
+$(eval $(call BuildPlugin,stats))
$(eval $(call BuildPlugin,stripheader))
$(eval $(call BuildPlugin,stun))
$(eval $(call BuildPlugin,siptrunk))
procd_set_param command "$PROG" --config "$conf_file"
procd_set_param pidfile "$pid_file"
procd_set_param respawn
- procd_set_param stderr 1
procd_add_jail siproxd log
procd_add_jail_mount /etc/passwd /etc/group /etc/TZ /dev/null
procd_add_jail_mount "$conf_file"
--- /dev/null
+diff -urN siproxd-0.8.3/src/siproxd.h siproxd-0.8.3-patch/src/siproxd.h
+--- siproxd-0.8.3/src/siproxd.h 2019-11-09 09:42:04.000000000 -0800
++++ siproxd-0.8.3-patch/src/siproxd.h 2020-09-04 20:02:47.961246801 -0700
+@@ -282,13 +282,13 @@
+ #define TCP_IDLE_TO 300 /* TCP connection idle timeout in seconds */
+ #define TCP_CONNECT_TO 500 /* TCP connect() timeout in msec */
+
+-#define URLMAP_SIZE 512 /* number of URL mapping table entries */
++#define URLMAP_SIZE 128 /* number of URL mapping table entries */
+ /* this limits the number of clients! */
+
+ #define SOURCECACHE_SIZE 256 /* number of return addresses */
+ #define DEJITTERLIMIT 1500000 /* max value for dejitter configuration */
+
+-#define RTPPROXY_SIZE 1024 /* number of rtp proxy entries */
++#define RTPPROXY_SIZE 256 /* number of rtp proxy entries */
+ /* this limits the number of calls! */
+
+ #define BUFFER_SIZE 8196 /* input buffer for read from socket */
+++ /dev/null
---- a/src/log.c
-+++ b/src/log.c
-@@ -77,7 +77,7 @@
- static pthread_mutex_t log_mutex = PTHREAD_MUTEX_INITIALIZER;
-
- void log_init(void) {
-- openlog(NULL,LOG_NDELAY|LOG_PID,LOG_DAEMON);
-+ openlog("siproxd",LOG_NDELAY|LOG_PID,LOG_DAEMON);
- }
-
- void log_end(void) {
-@@ -257,7 +257,7 @@
- va_copy(ap_copy, ap);
- vsnprintf(outbuf, sizeof(outbuf), format, ap_copy);
- va_end(ap_copy);
-- syslog(LOG_USER|level, "%s:%i %s%s", file, line, label, outbuf);
-+ syslog(LOG_DAEMON|level, "%s:%i %s%s", file, line, label, outbuf);
- return;
- }
-
+++ /dev/null
---- a/src/accessctl.c
-+++ b/src/accessctl.c
-@@ -34,7 +34,7 @@
- static char const ident[]="$Id: accessctl.c 521 2015-09-13 08:43:04Z hb9xar $";
-
- /* configuration storage */
--struct siproxd_config configuration;
-+extern struct siproxd_config configuration;
-
-
- /*
+++ /dev/null
---- a/src/resolve.c
-+++ b/src/resolve.c
-@@ -28,8 +28,10 @@
- #include <arpa/nameser_compat.h>
- #endif
-
-+#include <stdio.h>
- #include <resolv.h>
- #include <string.h>
-+#include <sys/types.h>
-
- #include "log.h"
-