diff --git a/net/freeswitch-stable/Config.in b/net/freeswitch-stable/Config.in index 153175f..de0c82a 100644 --- a/net/freeswitch-stable/Config.in +++ b/net/freeswitch-stable/Config.in @@ -45,29 +45,6 @@ config FS_STABLE_WITH_SRTP help Compile with SRTP support. -config FS_STABLE_WITH_V8 - bool "Compile with V8 support" - depends on arm||i386||mipsel||x86_64 - default y if x86_64 - help - The sole purpose of this symbol is to prevent mod_v8 from being built - by the build bots. Currently the only exception is x86_64. The build is - time-consuming and the module is quite large, making it an unlikely - choice for devices with limited resources. - - If you want mod_v8 to become available, select 'y'. - -config FS_STABLE_WITH_V8_SNAPSHOT - bool "Include heap snapshot" - depends on FS_STABLE_WITH_V8 - default n - help - V8 can be built with a heap snapshot for faster initialization. Default - is 'n' because of seemingly random segmentation faults observed when - generating the snapshot. - - Only select 'y' if you know what you are doing. - config FS_STABLE_WITH_VPX bool "Compile with VPx support" depends on FS_STABLE_WITH_LIBYUV diff --git a/net/freeswitch-stable/Makefile b/net/freeswitch-stable/Makefile index fb85bfb..029bc2f 100644 --- a/net/freeswitch-stable/Makefile +++ b/net/freeswitch-stable/Makefile @@ -9,13 +9,17 @@ include $(TOPDIR)/rules.mk PRG_NAME:=freeswitch PKG_NAME:=$(PRG_NAME)-stable -PKG_VERSION:=1.6.20 -PKG_RELEASE:=9 +PKG_VERSION:=1.8.2 +PKG_RELEASE:=1 PKG_MAINTAINER:=Sebastian Kemper PKG_SOURCE:=$(PRG_NAME)-$(PKG_VERSION).tar.xz -PKG_SOURCE_URL:=https://files.$(PRG_NAME).org/releases/$(PRG_NAME) -PKG_HASH:=dbb0f73109171bd381772b247b8ef581f6a176964619082a1fe031b004086f6b +PKG_SOURCE_URL := \ + https://sources.openwrt.org/ \ + https://files.$(PRG_NAME).org/releases/$(PRG_NAME) +PKG_HASH:=ebcf3db970ea9bb534c0983a1c9eef88395deb6e0902d8d6407bf217b2f27b9a + +PKG_CPE_ID:=cpe:/a:freeswitch:freeswitch PKG_BUILD_DIR:=$(BUILD_DIR)/$(PRG_NAME)-$(PKG_VERSION) @@ -29,7 +33,7 @@ PKG_BUILD_DEPENDS:= \ PKG_FIXUP:=autoreconf # With mod_ssml and mod_rayo enabled the parallel compiles always failed -#PKG_BUILD_PARALLEL:=1 +PKG_BUILD_PARALLEL:=0 PKG_INSTALL:=1 PKG_LICENSE:= \ @@ -121,6 +125,7 @@ FS_STABLE_MOD_AVAILABLE:= \ event_test \ event_zmq \ expr \ + fail2ban \ fifo \ format_cdr \ $(FTDM) \ @@ -160,6 +165,7 @@ FS_STABLE_MOD_AVAILABLE:= \ python \ radius_cdr \ random \ + raven \ rayo \ redis \ rss \ @@ -203,9 +209,9 @@ FS_STABLE_MOD_AVAILABLE:= \ translate \ tts_commandline \ unimrcp \ - v8 \ valet_parking \ verto \ + video_filter \ vmd \ voicemail \ voicemail_ivr \ @@ -226,7 +232,6 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_FS_STABLE_WITH_PGSQL \ CONFIG_FS_STABLE_WITH_PNG \ CONFIG_FS_STABLE_WITH_SRTP \ - CONFIG_FS_STABLE_WITH_V8_SNAPSHOT \ CONFIG_FS_STABLE_WITH_VPX \ CONFIG_FS_STABLE_WITH_ZRTP \ CONFIG_LIBC \ @@ -395,7 +400,7 @@ endef define Package/$(PKG_NAME)/conffiles $(FS_STABLE_SYSCONF_DIR)/$(PRG_NAME) -$(FS_STABLE_SYSCONF_DIR)/default/$(PRG_NAME) +$(FS_STABLE_SYSCONF_DIR)/config/$(PRG_NAME) $(FS_STABLE_SYSCONF_DIR)/init.d/$(PRG_NAME) endef @@ -408,61 +413,42 @@ $(call Package/$(PKG_NAME)/install/lib,$(1),lib$(PRG_NAME)) $(INSTALL_DIR) $(1)$(FS_STABLE_IMAGES_DIR) $(INSTALL_DIR) $(1)$(FS_STABLE_SCRIPTS_DIR) $(INSTALL_DIR) $(1)$(FS_STABLE_SOUNDS_DIR) - $(INSTALL_DIR) $(1)$(FS_STABLE_SYSCONF_DIR)/default + $(INSTALL_DIR) $(1)$(FS_STABLE_SYSCONF_DIR)/config + $(INSTALL_DIR) $(1)$(FS_STABLE_SYSCONF_DIR)/hotplug.d/iface $(INSTALL_DIR) $(1)$(FS_STABLE_SYSCONF_DIR)/init.d $(INSTALL_DIR) $(1)$(FS_STABLE_TLS_DIR) $(INSTALL_BIN) ./files/$(PRG_NAME).init \ $(1)$(FS_STABLE_SYSCONF_DIR)/init.d/$(PRG_NAME) - $(INSTALL_CONF) ./files/$(PRG_NAME).default \ - $(1)$(FS_STABLE_SYSCONF_DIR)/default/$(PRG_NAME) + $(INSTALL_BIN) ./files/$(PRG_NAME).hotplug \ + $(1)$(FS_STABLE_SYSCONF_DIR)/hotplug.d/iface/90-$(PRG_NAME) + $(INSTALL_CONF) ./files/$(PRG_NAME).config \ + $(1)$(FS_STABLE_SYSCONF_DIR)/config/$(PRG_NAME) endef define Package/$(PKG_NAME)/postinst #!/bin/sh if [ -z "$${IPKG_INSTROOT}" ]; then - # Prevent $(PRG_NAME) from auto-starting after an upgrade. The modules may - # not be upgraded yet and the user configuration may need a revision. - sed -i '/^ENABLE_FREESWITCH="yes"/s/^/#/' \ - $(FS_STABLE_SYSCONF_DIR)/default/$(PRG_NAME) - echo echo "o-------------------------------------------------------------------o" echo "| FreeSWITCH note |" echo "o-------------------------------------------------------------------o" - echo "| Edit /etc/default/freeswitch to change basic init configuration. |" - echo "o-------------------------------------------------------------=^_^=-o" - echo -fi -exit 0 -endef - -define Package/$(PKG_NAME)-misc-hotplug -$(call Package/$(PKG_NAME)/Default) - TITLE:=Hotplug script - DEPENDS:=$(PKG_NAME) - PKGARCH:=all -endef - -define Package/$(PKG_NAME)-misc-hotplug/description -This package includes a hotplug script for FreeSWITCH. -endef - -define Package/$(PKG_NAME)-misc-hotplug/install - $(INSTALL_DIR) $(1)$(FS_STABLE_SYSCONF_DIR)/hotplug.d/iface - $(INSTALL_BIN) ./files/$(PRG_NAME).hotplug \ - $(1)$(FS_STABLE_SYSCONF_DIR)/hotplug.d/iface/99-$(PRG_NAME) -endef - -define Package/$(PKG_NAME)-misc-hotplug/postinst -#!/bin/sh -if [ -z "$${IPKG_INSTROOT}" ]; then - echo - echo "o-------------------------------------------------------------------o" - echo "| FreeSWITCH hotplug note |" - echo "o-------------------------------------------------------------------o" - echo "| See /etc/default/freeswitch for hotplug hints. |" + echo "| Edit /etc/config/freeswitch to change basic init configuration. |" + echo "| |" + echo "| Also visit the Wiki at: |" + echo "| https://openwrt.org/docs/guide-user/services/voip/freeswitch |" echo "o-------------------------------------------------------------=^_^=-o" echo + [ -f /etc/hotplug.d/iface/99-freeswitch ] && { + echo "o-------------------------------------------------------------------o" + echo "| WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |" + echo "o-------------------------------------------------------------------o" + echo "| Please remove freeswitch-stable-misc-hotplug. The hotplug script |" + echo "| is now part of the main freeswitch-stable package. Please run: |" + echo "| |" + echo "| opkg remove freeswitch-stable-misc-hotplug |" + echo "o-------------------------------------------------------------=^_^=-o" + echo + } fi exit 0 endef @@ -686,12 +672,6 @@ CONFIGURE_ARGS+= \ --with-erlang=no endif -ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-v8),) -CONFIGURE_ARGS+= \ - --enable-static-v8 \ - $(if $(CONFIG_FS_STABLE_WITH_V8_SNAPSHOT),,--disable-snapshot-v8) -endif - # Make mod_spandsp use fixed point math when soft float support is # enabled on target devices. ifeq ($(CONFIG_SOFT_FLOAT),y) @@ -773,84 +753,6 @@ endif MAKE_VARS+= \ ac_cv_dev_urandom=yes -ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-v8),) - -# arm -ifeq ($(CONFIG_arm),y) - FS_STABLE_MYARCH:=arm - FS_STABLE_MYDEFINES:=v8_target_arch=arm - ifeq ($(CONFIG_arm_v6),y) - FS_STABLE_MYDEFINES+=arm_version=6 - else - ifeq ($(CONFIG_arm_v7),y) - FS_STABLE_MYDEFINES+=arm_version=7 - else - FS_STABLE_MYDEFINES+=arm_version=default - endif - endif - ifeq ($(CONFIG_VFP),y) - ifeq ($(CONFIG_VFPv3),y) - ifeq ($(CONFIG_NEON),y) - FS_STABLE_MYDEFINES+=arm_fpu=neon - else - FS_STABLE_MYDEFINES+=arm_fpu=vfpv3 - endif - else - FS_STABLE_MYDEFINES+=arm_fpu=vfp - endif - else - FS_STABLE_MYDEFINES+=arm_fpu=default - endif - ifeq ($(CONFIG_SOFT_FLOAT),y) - FS_STABLE_MYDEFINES+=arm_float_abi=softfp - else - FS_STABLE_MYDEFINES+=arm_float_abi=hard - endif -endif - -# i386 -ifeq ($(CONFIG_i386),y) - FS_STABLE_MYARCH:=ia32 - FS_STABLE_MYDEFINES:=v8_target_arch=ia32 -endif - -# mipsel -ifeq ($(CONFIG_mipsel),y) - FS_STABLE_MYARCH:=mipsel - FS_STABLE_MYDEFINES:=v8_target_arch=mipsel - ifeq ($(CONFIG_CPU_MIPS32),y) - ifeq ($(CONFIG_CPU_MIPS32_R2),y) - FS_STABLE_MYDEFINES+=mips_arch_variant=mips32r2 - else - ifeq ($(CONFIG_CPU_MIPS32_R1),y) - FS_STABLE_MYDEFINES+=mips_arch_variant=mips32r1 - endif - endif - endif - ifeq ($(CONFIG_SOFT_FLOAT),y) - FS_STABLE_MYDEFINES+=v8_use_mips_abi_hardfloat=false - else - FS_STABLE_MYDEFINES+=v8_use_mips_abi_hardfloat=true - endif -endif - -# x86_64 -ifeq ($(CONFIG_x86_64),y) - FS_STABLE_MYARCH:=x64 - FS_STABLE_MYDEFINES:=v8_target_arch=x64 -endif - -MAKE_VARS+= \ - FS_STABLE_HOSTCC="$(HOSTCC)" \ - FS_STABLE_HOSTCXX="$(HOSTCXX)" \ - FS_STABLE_HOST_CFLAGS="$(HOST_CFLAGS)" \ - FS_STABLE_HOST_LDFLAGS="$(HOST_LDFLAGS)" \ - FS_STABLE_HOST_PYTHONPATH="$(HOST_PYTHONPATH)" \ - FS_STABLE_MYARCH="$(FS_STABLE_MYARCH)" \ - FS_STABLE_MYDEFINES="$(FS_STABLE_MYDEFINES)" - -endif - # Make sphinxbase use fixed point math when soft float support is # enabled on target devices. ifeq ($(CONFIG_SOFT_FLOAT),y) @@ -878,12 +780,8 @@ FS_STABLE_SPHINXMODEL_FILE:=communicator_semi_6000_20080321.tar.gz FS_STABLE_SPHINXMODEL_HASH:=dbb5e9fb85000a7cb97d6958a3ef8d77532dc55fc730ac6979705e8645cb0c18 # mod_radius_cdr -FS_STABLE_FREERADIUS_CLIENT_FILE:=freeradius-client-1.1.6.tar.gz -FS_STABLE_FREERADIUS_CLIENT_HASH:=3fc609af328258e00345389d5478b099fe4ea3ad694d0472525ef3adab9cf053 - -# mod_v8 -FS_STABLE_V8_FILE:=v8-3.24.14.tar.bz2 -FS_STABLE_V8_HASH:=395f4eaf5580b973b1e33fe0aa27f8d013ddf1b163ad76992c50dd91ff182828 +FS_STABLE_FREERADIUS_CLIENT_FILE:=freeradius-client-1.1.7.tar.gz +FS_STABLE_FREERADIUS_CLIENT_HASH:=eada2861b8f4928e3ac6b5bbfe11e92cd6cdcacfce40cae1085e77c1b6add0e9 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-event-zmq),) $(eval $(call Download/files,zmq,$(FS_STABLE_ZEROMQ_FILE),$(FS_STABLE_ZEROMQ_URL),$(FS_STABLE_ZEROMQ_HASH))) @@ -899,10 +797,6 @@ ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-radius-cdr),) $(eval $(call Download/files,freeradius-client,$(FS_STABLE_FREERADIUS_CLIENT_FILE),$(FS_STABLE_LIBS_URL),$(FS_STABLE_FREERADIUS_CLIENT_HASH))) endif -ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-v8),) -$(eval $(call Download/files,v8,$(FS_STABLE_V8_FILE),$(FS_STABLE_LIBS_URL),$(FS_STABLE_V8_HASH))) -endif - # Need to update LDFLAGS for libs/unimrcp, otherwise it will try to link to a # different apr/apr-util if found. # FS_STABLE_ANCHOR: string in build/acmacros/apr.m4 that will be replaced @@ -912,8 +806,6 @@ FS_STABLE_APR_LIBS:=-L$(PKG_BUILD_DIR)/libs/apr -L$(PKG_BUILD_DIR)/libs/apr-util define Build/Prepare $(call Build/Prepare/Default) - $(RM) -r $(PKG_BUILD_DIR)/libs/tiff-* - 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 @@ -968,10 +860,6 @@ ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-radius-cdr),) $(CP) $(DL_DIR)/$(FS_STABLE_FREERADIUS_CLIENT_FILE) $(PKG_BUILD_DIR)/libs endif -ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-mod-v8),) - $(CP) $(DL_DIR)/$(FS_STABLE_V8_FILE) $(PKG_BUILD_DIR)/libs -endif - # Compile FreeTDM first ifneq ($(CONFIG_PACKAGE_$(PKG_LIBFTDM)),) $(call Build/Compile/Default,-C $(PKG_BUILD_DIR)/libs/$(FTDM)) @@ -1032,7 +920,6 @@ endef $(eval $(call BuildPackage,$(PKG_LIBFTDM))) $(eval $(call BuildPackage,$(PKG_NAME))) -$(eval $(call BuildPackage,$(PKG_NAME)-misc-hotplug)) $(eval $(call BuildPackage,$(PKG_NAME)-misc-perl-esl)) $(eval $(call BuildPackage,$(PKG_NAME)-misc-python-esl)) $(eval $(call BuildPackage,$(PKG_NAME)-misc-timezones)) @@ -1151,6 +1038,7 @@ $(eval $(call Package/$(PKG_NAME)/Module,event_socket,Event socket,Sends events $(eval $(call Package/$(PKG_NAME)/Module,event_test,Event test,Event demo module.,)) $(eval $(call Package/$(PKG_NAME)/Module,event_zmq,ZMQ event,ZMQ event module.,@!USE_UCLIBCXX)) $(eval $(call Package/$(PKG_NAME)/Module,expr,Expr,This module adds expr support for expression evaluation.,)) +$(eval $(call Package/$(PKG_NAME)/Module,fail2ban,Fail2ban logging,Provides support for Fail2ban logging.,)) $(eval $(call Package/$(PKG_NAME)/Module,fifo,FIFO,This module adds a first-in first-out queue system.,)) $(eval $(call Package/$(PKG_NAME)/Module,format_cdr,Multiformat CDR,A superset of mod_json_cdr and mod_xml_cdr.,)) $(eval $(call Package/$(PKG_NAME)/Module,$(FTDM),FreeTDM endpoint,This module is the glue between FreeSWITCH and FreeTDM.,+$(PKG_LIBFTDM))) @@ -1190,6 +1078,7 @@ $(eval $(call Package/$(PKG_NAME)/Module,prefix,Prefix match,This module provide $(eval $(call Package/$(PKG_NAME)/Module,python,Python,Python support module.,+python-light)) $(eval $(call Package/$(PKG_NAME)/Module,radius_cdr,Radius CDR,Radius Call Detail Record handler.,)) $(eval $(call Package/$(PKG_NAME)/Module,random,Entropy,This module extracts entropy from FreeSWITCH and feeds it into\n/dev/random.,)) +$(eval $(call Package/$(PKG_NAME)/Module,raven,Raven logging,Adds support for logging to Raven instances.,)) $(eval $(call Package/$(PKG_NAME)/Module,rayo,Rayo,Rayo/XMPP 3PCC server for FreeSWITCH.,+$(PKG_NAME)-mod-ssml)) $(eval $(call Package/$(PKG_NAME)/Module,redis,Redis limit backend,This module provides a mechanism to use Redis as a limit backend data\nstore.,)) $(eval $(call Package/$(PKG_NAME)/Module,rss,RSS,Parses and reads XML based RSS feeds and reads the entries aloud via a TTS engine.,)) @@ -1233,9 +1122,9 @@ $(eval $(call Package/$(PKG_NAME)/Module,tone_stream,Tone stream,Tone generation $(eval $(call Package/$(PKG_NAME)/Module,translate,Number translation,This module implements number translation.,)) $(eval $(call Package/$(PKG_NAME)/Module,tts_commandline,TTS command-line,Run a command-line and play the output file.,)) $(eval $(call Package/$(PKG_NAME)/Module,unimrcp,UniMRCP,Allows communication with Media Resource Control Protocol servers.,)) -$(eval $(call Package/$(PKG_NAME)/Module,v8,V8,This package contains mod_v8 for FreeSWITCH.,@!USE_UCLIBCXX @FS_STABLE_WITH_V8 @arm||i386||mipsel||x86_64)) $(eval $(call Package/$(PKG_NAME)/Module,valet_parking,Valet parking,This module implements the valet call parking strategy.,)) $(eval $(call Package/$(PKG_NAME)/Module,verto,Verto,Verto signaling protocol.,)) +$(eval $(call Package/$(PKG_NAME)/Module,video_filter,Video filter chromakey,This module provides a media bug for chromakey functionality.,)) $(eval $(call Package/$(PKG_NAME)/Module,vmd,Voicemail detection,This module detects voicemail beeps.,)) $(eval $(call Package/$(PKG_NAME)/Module,voicemail,Voicemail,This module provides a voicemail system.,)) $(eval $(call Package/$(PKG_NAME)/Module,voicemail_ivr,Voicemail IVR,This module provides an extensible voicemail IVR system.,)) diff --git a/net/freeswitch-stable/files/freeswitch.config b/net/freeswitch-stable/files/freeswitch.config new file mode 100644 index 0000000..d7c591a --- /dev/null +++ b/net/freeswitch-stable/files/freeswitch.config @@ -0,0 +1,23 @@ + +config freeswitch 'general' + option enabled '0' + option user 'freeswitch' + option group 'freeswitch' + option log_stderr '1' + option log_stdout '1' + option options '-nonat -np' + +config freeswitch 'directories' + option cache '/tmp/freeswitch/cache' + option db '/tmp/freeswitch/db' + option log '/tmp/freeswitch/log' + option recordings '/tmp/freeswitch/recordings' + option storage '/tmp/freeswitch/storage' + option temp '/tmp/freeswitch/temp' + +config freeswitch 'hotplug' + #option interface 'wan' + #option mount_point '/mnt/usb' + option ntpd '0' + option timeout '60' + diff --git a/net/freeswitch-stable/files/freeswitch.default b/net/freeswitch-stable/files/freeswitch.default deleted file mode 100644 index cfea494..0000000 --- a/net/freeswitch-stable/files/freeswitch.default +++ /dev/null @@ -1,44 +0,0 @@ -### FreeSWITCH configuration ### - -# Uncomment once you verified your configuration, otherwise the init script will -# not start FreeSWITCH. -#ENABLE_FREESWITCH="yes" - -#FS_USER=freeswitch -#FS_GROUP=freeswitch - -#FS_DIR_CACHE="/tmp/freeswitch/cache" - -# Don't point FS_DIR_DB toward a flash drive, e.g. the flash drive of your -# router. FreeSWITCH will be writing constantly to its databases, which would -# degrade the flash over time. Point it to a tmpfs destination like /dev/shm or -# /tmp instead in order for the writes to go to RAM. -#FS_DIR_DB="/tmp/freeswitch/db" - -#FS_DIR_LOG="/tmp/freeswitch/log" -#FS_DIR_RECORDINGS="/tmp/freeswitch/recordings" -#FS_DIR_STORAGE="/tmp/freeswitch/storage" -#FS_DIR_TEMP="/tmp/freeswitch/temp" - -# The following is added to the command line when starting FreeSWITCH: -OPTIONS="-nonat -np" - -### Hotplug configuration ### - -# Only used by the FreeSWITCH hotplug script (available in a seperate package). - -# Provide the interface that needs to change its state to "up" (if unset the -# hotplug script does nothing): -#FS_HOTPLUG_INTERFACE="wan" - -# You can add conditions which need to be met before FreeSWITCH is started. - -# Uncomment to check if something is mounted here: -#FS_HOTPLUG_MOUNTPOINT="/mnt/usb" - -# Uncomment to check if ntpd is running and has set the system time: -#FS_HOTPLUG_NTPD="check" - -# Uncomment to change the default timeout of 60 seconds that the hotplug script -# waits for a condition to turn from false to true: -#FS_HOTPLUG_TIMEOUT="20" diff --git a/net/freeswitch-stable/files/freeswitch.hotplug b/net/freeswitch-stable/files/freeswitch.hotplug index 4a6a2c1..68fc3b0 100644 --- a/net/freeswitch-stable/files/freeswitch.hotplug +++ b/net/freeswitch-stable/files/freeswitch.hotplug @@ -1,53 +1,51 @@ #!/bin/sh -FS=freeswitch -DEFAULT=/etc/default/$FS -LOGGER="/usr/bin/logger -t ${FS}-hotplug" +NAME=freeswitch +COMMAND=/etc/init.d/$NAME + +LOGGER="/usr/bin/logger -t $NAME-hotplug" LOG_ERR="$LOGGER -p user.err --" LOG_NOTICE="$LOGGER -p user.notice --" -LOG_WARN="$LOGGER -p user.warn --" [ "$ACTION" = ifup ] || exit 0 -[ -f $DEFAULT ] && . $DEFAULT +. /lib/functions.sh +config_load $NAME -[ -n "$FS_HOTPLUG_INTERFACE" ] || exit 0 +config_get interface hotplug interface -[ "$INTERFACE" = "$FS_HOTPLUG_INTERFACE" ] || exit 0 +[ "$INTERFACE" = "$interface" ] || exit 0 -pgrep $FS &> /dev/null +pidof $NAME &> /dev/null if [ $? -eq 0 ]; then - $LOG_NOTICE Stopping $FS - /etc/init.d/$FS stop &> /dev/null - pgrep $FS &> /dev/null - if [ $? -eq 0 ]; then - $LOG_ERR Failed to stop $FS - exit 1 - else - $LOG_NOTICE $FS stopped - fi + $LOG_NOTICE stopping $NAME + $COMMAND stop &> /dev/null fi -[ "$FS_HOTPLUG_TIMEOUT" -gt 0 ] 2> /dev/null || unset FS_HOTPLUG_TIMEOUT -TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" +config_get timeout hotplug timeout 60 -# Mount condition, idea lifted from OpenWrt wiki -[ -n "$FS_HOTPLUG_MOUNTPOINT" ] && { +[ "$timeout" -gt 0 ] 2> /dev/null || unset timeout +timeout="${timeout:-60}" - if ! [ -d "$FS_HOTPLUG_MOUNTPOINT" ]; then - $LOG_ERR "$FS_HOTPLUG_MOUNTPOINT" not a valid mount point +config_get mount_point hotplug mount_point + +# Mount condition, idea lifted from OpenWrt Wiki +[ -n "$mount_point" ] && { + + if ! [ -d "$mount_point" ]; then + $LOG_ERR "$mount_point" not a valid mount point exit 1 fi - mnt="$FS_HOTPLUG_MOUNTPOINT" + mnt="$mount_point" notReady=start - timeout=$TIMEOUT + tmp_timeout=$timeout - while [ -n "$notReady" -a $timeout -gt 0 ]; do + while [ -n "$notReady" -a $tmp_timeout -gt 0 ]; do if [ "$notReady" != start ]; then - $LOG_NOTICE "$mnt" not yet mounted, timeout in $timeout s + $LOG_NOTICE "$mnt" not yet mounted, timeout in $tmp_timeout s sleep 5 - timeout=$(($timeout-5)) + tmp_timeout=$(($tmp_timeout-5)) fi notReady= @@ -60,7 +58,7 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" if [ -n "$notReady" ]; then $LOG_ERR "$mnt" still not mounted - $LOG_ERR Not starting $FS + $LOG_ERR not starting $NAME exit 1 else $LOG_NOTICE "$mnt" mounted @@ -68,8 +66,10 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" } +config_get_bool ntpd hotplug ntpd 0 + # ntpd condition -[ -n "$FS_HOTPLUG_NTPD" ] && { +[ $ntpd -eq 1 ] && { type ntpq &> /dev/null [ $? -eq 0 ] || { @@ -77,24 +77,19 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" exit 1 } - pgrep ntpd &> /dev/null || { + pidof ntpd &> /dev/null || { $LOG_ERR ntpd not running exit 1 } notReady=start - timeout=$TIMEOUT + tmp_timeout=$timeout - result=$(uci get 'system.ntp.enabled' 2> /dev/null) - [ "$result" -eq 1 ] 2> /dev/null && { - $LOG_WARN BusyBox NTP client _and_ ntpd running - } - - while [ -n "$notReady" -a $timeout -gt 0 ]; do + while [ -n "$notReady" -a $tmp_timeout -gt 0 ]; do if [ "$notReady" != start ]; then - $LOG_NOTICE System time not in sync yet, timeout in $timeout s + $LOG_NOTICE system time not in sync yet, timeout in $tmp_timeout s sleep 5 - timeout=$(($timeout-5)) + tmp_timeout=$(($tmp_timeout-5)) fi notReady= @@ -102,7 +97,7 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" result=$(ntpq -c 'timeout 300' -c 'rv 0 stratum' 2> /dev/null | \ awk -F '=' '{print $2}' | grep -o -E '^[0-9]+') if [ -z $result ]; then - $LOG_WARN Failed to extract stratum from ntpd + $LOG_ERR failed to extract stratum from ntpd notReady="unable to extract stratum" else $LOG_NOTICE ntpd stratum $result @@ -110,7 +105,7 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" result=$(ntpq -c 'timeout 300' -c 'rv 0 offset' 2> /dev/null \ | awk -F '=' '{print $2}' | grep -o -E '^-?[0-9]+') if [ -z $result ]; then - $LOG_WARN Failed to extract offset from ntpd + $LOG_ERR failed to extract offset from ntpd notReady="unable to extract offset" else # "-0" looks stupid, so remove "-" @@ -126,22 +121,21 @@ TIMEOUT="${FS_HOTPLUG_TIMEOUT:-60}" done if [ -n "$notReady" ]; then - $LOG_ERR System time still not in sync - $LOG_ERR Not starting $FS + $LOG_ERR system time still not in sync + $LOG_ERR not starting $NAME exit 1 else - $LOG_NOTICE System time in sync + $LOG_NOTICE system time in sync fi } -/etc/init.d/$FS start &> /dev/null -# Wait a bit in order for pgrep to be able to find the new process +$COMMAND start &> /dev/null sleep 1 -pgrep $FS &>/dev/null +pidof $NAME &>/dev/null if [ $? -eq 0 ]; then - $LOG_NOTICE Started $FS due to \"ifup "$INTERFACE"\" event + $LOG_NOTICE started $NAME due to \"ifup "$INTERFACE"\" event else - $LOG_ERR Start of $FS due to \"ifup "$INTERFACE"\" event failed + $LOG_ERR start of $NAME due to \"ifup "$INTERFACE"\" event failed exit 1 fi diff --git a/net/freeswitch-stable/files/freeswitch.init b/net/freeswitch-stable/files/freeswitch.init index a46df7d..a8270f5 100644 --- a/net/freeswitch-stable/files/freeswitch.init +++ b/net/freeswitch-stable/files/freeswitch.init @@ -7,133 +7,88 @@ USE_PROCD=1 #PROCD_DEBUG=1 -FS=freeswitch -DEFAULT=/etc/default/$FS -LOGGER="/usr/bin/logger -p user.err -s -t $FS" -OPTIONS= -PROG=/usr/bin/$FS -TIMEOUT=30 +NAME=freeswitch +COMMAND=/usr/bin/$NAME -[ -f $DEFAULT ] && . $DEFAULT - -fs_user="${FS_USER:-$FS}" -fs_group="${FS_GROUP:-$FS}" - -fs_dir_etc="/etc/$FS" -fs_dir_localstate="/var/lib/$FS" -fs_dir_run="/var/run/$FS" - -fs_dir_cache="${FS_DIR_CACHE:-/tmp/$FS/cache}" -fs_dir_db="${FS_DIR_DB:-/tmp/$FS/db}" -fs_dir_log="${FS_DIR_LOG:-/tmp/$FS/log}" -fs_dir_recordings="${FS_DIR_RECORDINGS:-/tmp/$FS/recordings}" -fs_dir_storage="${FS_DIR_STORAGE:-/tmp/$FS/storage}" -fs_dir_temp="${FS_DIR_TEMP:-/tmp/$FS/temp}" +LOGGER="/usr/bin/logger -p user.err -s -t $NAME" start_service() { - local dir= + local dir + local enabled - if [ "$ENABLE_FREESWITCH" != yes ]; then - $LOGGER User configuration incomplete - not starting $FS - $LOGGER Check ENABLE_FREESWITCH in $DEFAULT + local user + local group + + local log_stderr + local log_stdout + + local dir_cache + local dir_db + local dir_etc=/etc/$NAME + local dir_localstate=/var/lib/$NAME + local dir_log + local dir_recordings + local dir_run=/var/run/$NAME + local dir_storage + local dir_temp + + local options + + config_load $NAME + + config_get_bool enabled general enabled 0 + if [ $enabled -eq 0 ]; then + $LOGGER service not enabled in /etc/config/$NAME exit 1 fi - for dir in "$fs_dir_cache" "$fs_dir_db" "$fs_dir_localstate" \ - "$fs_dir_log" "$fs_dir_recordings" "$fs_dir_run" "$fs_dir_storage" \ - "$fs_dir_temp" + config_get user general user $NAME + config_get group general group $NAME + + config_get_bool log_stderr general log_stderr 1 + config_get_bool log_stdout general log_stdout 1 + + config_get dir_cache directories cache /tmp/$NAME/cache + config_get dir_db directories db /tmp/$NAME/db + config_get dir_log directories log /tmp/$NAME/log + config_get dir_recordings directories recordings /tmp/$NAME/recordings + config_get dir_storage directories storage /tmp/$NAME/storage + config_get dir_temp directories temp /tmp/$NAME/temp + + for dir in "$dir_cache" "$dir_db" "$dir_localstate" \ + "$dir_log" "$dir_recordings" "$dir_run" "$dir_storage" \ + "$dir_temp" do - [ -n "$dir" ] && { + [ ! -e "$dir" ] && { mkdir -p "$dir" - chown "$fs_user":"$fs_group" "$dir" + chown "$user":"$group" "$dir" chmod 750 "$dir" } done - #[ -d "$fs_dir_etc" ] && { - # find "$fs_dir_etc" -type f -exec chown root:"$fs_group" {} \; - # find "$fs_dir_etc" -type f -exec chmod 640 {} \; - #} + config_get options general options procd_open_instance # starting with full path seems cleaner judging by 'ps' output - procd_set_param command $PROG + procd_set_param command $COMMAND # need to specify all or none of -conf, -log, and -db procd_append_param command \ - -cache "$fs_dir_cache" \ - -conf "$fs_dir_etc" \ - -db "$fs_dir_db" \ - -g "$fs_group" \ - -log "$fs_dir_log" \ - -recordings "$fs_dir_recordings" \ - -run "$fs_dir_run" \ - -storage "$fs_dir_storage" \ - -temp "$fs_dir_temp" \ - -u "$fs_user" \ - $OPTIONS \ - -nc \ - -nf + -cache "$dir_cache" \ + -conf "$dir_etc" \ + -db "$dir_db" \ + -g "$group" \ + -log "$dir_log" \ + -recordings "$dir_recordings" \ + -run "$dir_run" \ + -storage "$dir_storage" \ + -temp "$dir_temp" \ + -u "$user" \ + $options \ + -c # forward stderr to logd - procd_set_param stderr 1 + procd_set_param stderr $log_stderr + # same for stdout + procd_set_param stdout $log_stdout procd_close_instance } -stop_service() { - local retval= - local mypid= - local timeout=$TIMEOUT - - pgrep $FS &> /dev/null - [ $? -ne 0 ] && exit 0 - - [ -f "$fs_dir_run"/${FS}.pid ] - retval=$? - - # init script could find itself in a scenario where FS was started - # very recently, so make it wait a while for a pid file to appear - while [ $retval -ne 0 -a $timeout -gt 0 ]; do - sleep 1 - [ -f "$fs_dir_run"/${FS}.pid ] - retval=$? - timeout=$(($timeout-1)) - done - - [ $retval -eq 0 ] || { - $LOGGER PID file does not exist - exit 1 - } - - mypid=$(cat "$fs_dir_run"/${FS}.pid) - - [ "$mypid" -gt 1 ] 2> /dev/null || { - $LOGGER PID file contains garbage - exit 1 - } - - timeout=$TIMEOUT - kill $mypid 2>/dev/null - pgrep $FS | grep -w $mypid &>/dev/null - retval=$? - - while [ $retval -eq 0 -a $timeout -gt 0 ]; do - sleep 10 - pgrep $FS | grep -w $mypid &>/dev/null - retval=$? - [ $retval -eq 0 ] && kill $mypid 2>/dev/null - timeout=$(($timeout-10)) - done - - [ $retval -ne 1 ] && { - $LOGGER Application seems to hang - $LOGGER Sending SIGKILL - kill -SIGKILL $mypid 2>/dev/null - sleep 3 - pgrep $FS | grep -w $mypid &>/dev/null - retval=$? - } - - [ $retval -ne 1 ] && { - $LOGGER Failed to stop $FS - exit 1 - } -} diff --git a/net/freeswitch-stable/patches/020-fix-fs_cli-typo.patch b/net/freeswitch-stable/patches/020-fix-fs_cli-typo.patch new file mode 100644 index 0000000..ed56433 --- /dev/null +++ b/net/freeswitch-stable/patches/020-fix-fs_cli-typo.patch @@ -0,0 +1,27 @@ +commit f76230b16ed6e28847a00e1fa4edd46d19a52251 +Author: Sebastian Kemper +Date: Thu Aug 2 23:38:43 2018 +0200 + + FS-11309: [fs_cli] fix typo + + Commit bc3e1c9e7de1855eec454bba467fd2586e5e251b introduced a typo that + results in EL_REFRESH never being used, even if available. This can + cause the screen to garble. + + This fixes the typo. + + Signed-off-by: Sebastian Kemper + +diff --git a/libs/esl/fs_cli.c b/libs/esl/fs_cli.c +index b4a5838175..d52422dd4c 100644 +--- a/libs/esl/fs_cli.c ++++ b/libs/esl/fs_cli.c +@@ -674,7 +674,7 @@ static void redisplay(void) + esl_mutex_lock(MUTEX); + { + #ifdef HAVE_LIBEDIT +-#ifdef XHAVE_DECL_EL_REFRESH ++#ifdef HAVE_DECL_EL_REFRESH + #ifdef HAVE_EL_WSET + /* Current libedit versions don't implement EL_REFRESH in eln.c so + * use the wide version instead. */ diff --git a/net/freeswitch-stable/patches/030-fix-configure-ac.patch b/net/freeswitch-stable/patches/030-fix-configure-ac.patch index 0839360..f358ec7 100644 --- a/net/freeswitch-stable/patches/030-fix-configure-ac.patch +++ b/net/freeswitch-stable/patches/030-fix-configure-ac.patch @@ -31,7 +31,7 @@ else CC_FOR_BUILD='$(CC)' fi -@@ -667,7 +643,7 @@ AC_ARG_ENABLE(core-pgsql-pkgconfig, +@@ -662,7 +638,7 @@ AC_ARG_ENABLE(core-pgsql-pkgconfig, [AS_HELP_STRING([--disable-core-pgsql-pkgconfig], [Use pg_config to get PGQSL build options])],[enable_core_pgsql_pkgconfig="$enableval"],[enable_core_pgsql_pkgconfig="yes"]) if test x"$enable_core_pgsql_support" = x"yes" ; then @@ -40,7 +40,7 @@ AC_PATH_PROG([PKG_CONFIG], [pkg-config], [no]) if test "$PKG_CONFIG" = "no" \ || test x"$enable_core_pgsql_pkgconfig" = x"no" \ -@@ -1555,13 +1531,7 @@ AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl +@@ -1609,13 +1585,7 @@ AC_CHECK_PROG(PERL,perl,[ac_cv_have_perl # -a "x$ac_cv_have_EXTERN_h" != "xno" if test "x$ac_cv_have_perl" != "xno"; then @@ -55,7 +55,7 @@ save_CFLAGS="$CFLAGS" CFLAGS="$PERL_CFLAGS" -@@ -1656,24 +1626,12 @@ then +@@ -1710,24 +1680,12 @@ then if test "$python_has_distutils" != "no" ; then AC_MSG_CHECKING([location of site-packages]) diff --git a/net/freeswitch-stable/patches/120-fix-copts.diff b/net/freeswitch-stable/patches/120-fix-copts.diff index d58c207..942b6e9 100644 --- a/net/freeswitch-stable/patches/120-fix-copts.diff +++ b/net/freeswitch-stable/patches/120-fix-copts.diff @@ -1,6 +1,6 @@ --- a/configure.ac +++ b/configure.ac -@@ -1941,7 +1941,12 @@ AC_SUBST(OUR_DISABLED_INSTALL_MODS) +@@ -1995,7 +1995,12 @@ AC_SUBST(OUR_DISABLED_INSTALL_MODS) AC_SUBST(OUR_DISABLED_UNINSTALL_MODS) AC_SUBST(AM_MAKEFLAGS) diff --git a/net/freeswitch-stable/patches/140-libvpx-cross.patch b/net/freeswitch-stable/patches/140-libvpx-cross.patch index 0bd0e60..815aa18 100644 --- a/net/freeswitch-stable/patches/140-libvpx-cross.patch +++ b/net/freeswitch-stable/patches/140-libvpx-cross.patch @@ -1,6 +1,6 @@ --- a/Makefile.am +++ b/Makefile.am -@@ -549,8 +549,13 @@ libs/libedit/src/.libs/libedit.a: +@@ -572,8 +572,13 @@ libs/libedit/src/.libs/libedit.a: libs/libzrtp/libzrtp.a: cd libs/libzrtp && $(MAKE) @@ -8,10 +8,10 @@ +# - added CROSS and set target to generic-gnu for cross-compile +# - added CPPFLAGS to CFLAGS, otherwise they would be ignored +# - disabled optimizations that would override OpenWrt's CFLAGS -+# - added a size limit like Debian does to address CVE-2017-0641 ++ libs/libvpx/Makefile: -- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" -+ cd libs/libvpx && CROSS="$(CROSS)" CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --extra-cflags="$(VISIBILITY_FLAG)" --disable-optimizations --size-limit=16384x16384 +- cd libs/libvpx && CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" ++ cd libs/libvpx && CROSS="$(CROSS)" CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS) $(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --target=generic-gnu --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests --size-limit=16384x16384 --extra-cflags="$(VISIBILITY_FLAG)" --disable-optimizations libs/libvpx/libvpx.a: libs/libvpx/Makefile @cd libs/libvpx && $(MAKE) diff --git a/net/freeswitch-stable/patches/240-mod_v8.patch b/net/freeswitch-stable/patches/240-mod_v8.patch deleted file mode 100644 index 21e3dc9..0000000 --- a/net/freeswitch-stable/patches/240-mod_v8.patch +++ /dev/null @@ -1,87 +0,0 @@ ---- a/src/mod/languages/mod_v8/Makefile.am -+++ b/src/mod/languages/mod_v8/Makefile.am -@@ -15,12 +15,17 @@ V8_LIBEXT=dylib - V8_BUILDPARAMS=snapshot=off i18nsupport=off - V8_SNAPSHOT=nosnapshot - else --V8_LIBDIR=$(V8_BUILDDIR)/out/native/lib.target -+V8_LIBDIR=$(V8_BUILDDIR)/out/$(FS_STABLE_MYARCH).release/lib.target - V8_LIBEXT=so - # Some gcc versions report warnings incorrectly - V8_BUILDPARAMS=strictaliasing=off werror=no i18nsupport=off -+if DISABLE_SNAPSHOT_V8 -+V8_BUILDPARAMS+=snapshot=off -+V8_SNAPSHOT=nosnapshot -+else - V8_SNAPSHOT=snapshot - endif -+endif - - if ENABLE_STATIC_V8 - # Build the static lib version of V8 -@@ -29,8 +34,8 @@ V8_STATIC_DIR=$(V8_BUILDDIR)/out/native - V8_ICU_STATIC_DIR=$(V8_BUILDDIR)/out/native - V8_CXXFLAGS = - else --V8_STATIC_DIR=$(V8_BUILDDIR)/out/native/obj.target/tools/gyp --V8_ICU_STATIC_DIR=$(V8_BUILDDIR)/out/native/obj.target/third_party/icu -+V8_STATIC_DIR=$(V8_BUILDDIR)/out/$(FS_STABLE_MYARCH).release/obj.target/tools/gyp -+V8_ICU_STATIC_DIR=$(V8_BUILDDIR)/out/$(FS_STABLE_MYARCH).release/obj.target/third_party/icu - V8_CXXFLAGS = -fPIC - endif - V8LIB=$(V8_STATIC_DIR)/libv8_base*.a -@@ -46,11 +51,6 @@ else - V8_EXTRA_BUILD_PARAMS=--no-parallel - endif - --# Try to find the target platform for our configured CXX compiler --# Parse the result one extra time to handle different i386 platforms (i386, i486 etc) --CXX_TARGET_PLATFORM := $(shell $(CXX) -v 2>&1 | grep Target | cut '-d:' -f2 | cut '-d-' -f1 | tr -d ' ') --CXX_TARGET_PLATFORM_I386 := $(shell echo "$(CXX_TARGET_PLATFORM)" | sed 's/^\(.\{1\}\)\(.\{1\}\)/\13/') -- - MODNAME=mod_v8 - - AM_CFLAGS += -I. -I./include -I$(switch_srcdir)/src/mod/languages/mod_v8/include -I$(V8_DIR)/include -@@ -121,21 +121,13 @@ $(V8_DIR)/.stamp-patch: $(V8_DIR) - - $(V8LIB): $(V8_DIR) $(V8_DIR)/.stamp-patch - mkdir -p $(V8_BUILDDIR) -- if test "$(CXX_TARGET_PLATFORM)" = "x86_64"; then \ -- defines="v8_target_arch=x64 target_arch=x64"; \ -- else \ -- if test "$(CXX_TARGET_PLATFORM)" = "arm"; then \ -- defines="v8_target_arch=arm target_arch=arm"; \ -- else \ -- if test "$(CXX_TARGET_PLATFORM_I386)" = "i386"; then \ -- defines="v8_target_arch=ia32 target_arch=ia32"; \ -- fi; \ -- fi; \ -- fi; \ -- cd $(V8_BUILDDIR) && CFLAGS="$(V8_CXXFLAGS)" CXXFLAGS="$(V8_CXXFLAGS)" \ -- LINK=@CXX@ CXX=@CXX@ GYPFLAGS="$(V8_EXTRA_BUILD_PARAMS)" GYP_DEFINES="$$defines" \ -- OUTDIR=$(V8_BUILDDIR)/out \ -- PYTHONPATH="$(V8_DIR)/build/gyp/pylib:$(PYTHONPATH)" $(MAKE) -C $(V8_DIR) $(V8_BUILDPARAMS) native -+ cd $(V8_BUILDDIR) && sed -i "/'want_separate_host_toolset': 0,/s/0/1/" build/standalone.gypi && \ -+ $(DEFAULT_VARS) CFLAGS+="$(V8_CXXFLAGS)" CXXFLAGS+="$(V8_CXXFLAGS)" \ -+ LINK=@CXX@ CXX=@CXX@ GYPFLAGS="$(V8_EXTRA_BUILD_PARAMS)" OUTDIR=./out/ \ -+ PYTHONPATH="$(V8_DIR)/build/gyp/pylib:$(FS_STABLE_HOST_PYTHONPATH)" $(MAKE) -C $(V8_DIR) \ -+ CC.host="$(FS_STABLE_HOSTCC)" CFLAGS.host="$(FS_STABLE_HOST_CFLAGS)" CXX.host="$(FS_STABLE_HOSTCXX)" \ -+ CXXFLAGS.host="$(FS_STABLE_HOST_CFLAGS)" LDFLAGS.host="$(FS_STABLE_HOST_LDFLAGS)" \ -+ $(V8_BUILDPARAMS) $(FS_STABLE_MYDEFINES) $(FS_STABLE_MYARCH).release - - if ENABLE_STATIC_V8 - install-exec-local: $(V8LIB) ---- a/configure.ac -+++ b/configure.ac -@@ -1519,6 +1519,11 @@ AC_ARG_ENABLE(parallel-build-v8, - [AS_HELP_STRING([--disable-parallel-build-v8], [Disable parallel build of V8])], [enable_parallel_build_v8="$enableval"], [enable_parallel_build_v8="yes"]) - AM_CONDITIONAL([ENABLE_PARALLEL_BUILD_V8],[test "x$enable_parallel_build_v8" != "xno"]) - -+# Option to force heap snapshot generation of Google's V8 to off -+AC_ARG_ENABLE(snapshot-v8, -+[AS_HELP_STRING([--disable-snapshot-v8], [Disable heap snapshot generation of V8])], [enable_snapshot_v8="$enableval"], [enable_snapshot_v8="yes"]) -+AM_CONDITIONAL([DISABLE_SNAPSHOT_V8],[test "x$enable_snapshot_v8" != "xyes"]) -+ - AM_CONDITIONAL([HAVE_ODBC],[test "x$enable_core_odbc_support" != "xno"]) - AM_CONDITIONAL([HAVE_MYSQL],[test "$found_mysql" = "yes"]) - diff --git a/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch b/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch new file mode 100644 index 0000000..dacfb59 --- /dev/null +++ b/net/freeswitch-stable/patches/300-fix-memory-leak-in-mod_event_multicast.patch @@ -0,0 +1,37 @@ +From ae56352cfff570f1b7ac0748aa339bd7bf373794 Mon Sep 17 00:00:00 2001 +From: Eneas U de Queiroz +Date: Sat, 9 Jun 2018 19:02:41 -0300 +Subject: [PATCH] mod_event_multicast.c: fix memory leak + +Fixed two memory leaks with openssl 1.1. + +Signed-off-by: Eneas U de Queiroz +--- + src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c +index f591855a3e..fb952ce740 100644 +--- a/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c ++++ b/src/mod/event_handlers/mod_event_multicast/mod_event_multicast.c +@@ -324,7 +324,7 @@ static void event_handler(switch_event_t *event) + &tmplen, (unsigned char *) MAGIC, (int) strlen((char *) MAGIC)); + outlen += tmplen; + EVP_EncryptFinal(ctx, (unsigned char *) buf + SWITCH_UUID_FORMATTED_LENGTH + outlen, &tmplen); +- EVP_CIPHER_CTX_cleanup(ctx); ++ EVP_CIPHER_CTX_free(ctx); + #else + EVP_CIPHER_CTX_init(&ctx); + EVP_EncryptInit(&ctx, EVP_bf_cbc(), NULL, NULL); +@@ -570,7 +570,7 @@ SWITCH_MODULE_RUNTIME_FUNCTION(mod_event_multicast_runtime) + EVP_DecryptInit(ctx, NULL, (unsigned char *) globals.psk, (unsigned char *) uuid_str); + EVP_DecryptUpdate(ctx, (unsigned char *) tmp, &outl, (unsigned char *) packet, (int) len); + EVP_DecryptFinal(ctx, (unsigned char *) tmp + outl, &tmplen); +- EVP_CIPHER_CTX_cleanup(ctx); ++ EVP_CIPHER_CTX_free(ctx); + #else + EVP_CIPHER_CTX_init(&ctx); + EVP_DecryptInit(&ctx, EVP_bf_cbc(), NULL, NULL); +-- +2.16.4 + diff --git a/net/freeswitch-stable/patches/310-use-system-tiff.patch b/net/freeswitch-stable/patches/310-use-system-tiff.patch deleted file mode 100644 index 5466ed2..0000000 --- a/net/freeswitch-stable/patches/310-use-system-tiff.patch +++ /dev/null @@ -1,87 +0,0 @@ -commit 34c48368dcfef09ba4a694256aa9615d91252461 -Author: Mike Jerris -Date: Tue Mar 14 17:39:05 2017 -0500 - - FS-10074: [libtiff] stop using embedded libtiff. Build now requires system libtiff - ---- a/Makefile.am -+++ b/Makefile.am -@@ -125,7 +125,6 @@ CORE_CFLAGS += -DSWITCH_HAVE_YUV - endif - CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/crypto/include -Ilibs/srtp/crypto/include - CORE_CFLAGS += -I$(switch_builddir)/libs/spandsp/src -I$(switch_srcdir)/libs/spandsp/src --CORE_CFLAGS += -I$(switch_builddir)/libs/tiff-4.0.2/libtiff -I$(switch_srcdir)/libs/tiff-4.0.2/libtiff - if ENABLE_LIBVPX - CORE_CFLAGS += -DSWITCH_HAVE_VPX - endif -@@ -736,11 +735,6 @@ sndfile-reconf: - cd libs/libsndfile && ./config.status --recheck - cd libs/libsndfile && ./config.status - --tiff-reconf: -- cd libs/tiff-4.0.2 && autoreconf -fi -- cd libs/tiff-4.0.2 && sh ./configure.gnu $(MY_DEFAULT_ARGS) -- cd libs/tiff-4.0.2 && make -- - python-reconf: - rm -f src/mod/languages/mod_python/Makefile - ./config.status -@@ -762,7 +756,7 @@ iks-reconf: - cd libs/iksemel && sh ./configure.gnu $(MY_DEFAULT_ARGS) - $(MAKE) mod_dingaling-clean - --spandsp-reconf: tiff-reconf -+spandsp-reconf: - cd libs/spandsp && $(MAKE) clean || echo - cd libs/spandsp && autoreconf -fi - cd libs/spandsp && sh ./configure.gnu $(MY_DEFAULT_ARGS) ---- a/configure.ac -+++ b/configure.ac -@@ -1969,7 +1969,6 @@ AC_CONFIG_SUBDIRS([libs/libdingaling]) - AC_CONFIG_SUBDIRS([libs/sofia-sip]) - AC_CONFIG_SUBDIRS([libs/freetdm]) - AC_CONFIG_SUBDIRS([libs/unimrcp]) --AC_CONFIG_SUBDIRS([libs/tiff-4.0.2]) - AC_CONFIG_SUBDIRS([libs/spandsp]) - if test "x${enable_zrtp}" = "xyes"; then - AC_CONFIG_SUBDIRS([libs/libzrtp]) ---- a/libs/spandsp/configure.gnu -+++ b/libs/spandsp/configure.gnu -@@ -1,4 +1,4 @@ - #! /bin/sh - srcpath=$(dirname $0 2>/dev/null ) || srcpath="." --$srcpath/configure "$@" --disable-shared --with-pic --enable-builtin-tiff -+$srcpath/configure "$@" --disable-shared --with-pic - ---- a/src/mod/applications/mod_spandsp/Makefile.am -+++ b/src/mod/applications/mod_spandsp/Makefile.am -@@ -1,24 +1,17 @@ - include $(top_srcdir)/build/modmake.rulesam - MODNAME=mod_spandsp - --TIFF_DIR=$(switch_srcdir)/libs/tiff-4.0.2 --TIFF_BUILDDIR=$(switch_builddir)/libs/tiff-4.0.2 --TIFF_LA=$(TIFF_BUILDDIR)/libtiff/libtiff.la - 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 = -I$(SPANDSP_DIR)/src -I$(TIFF_DIR)/libtiff -I$(TIFF_BUILDDIR)/libtiff -I$(SPANDSP_BUILDDIR)/src -I$(TIFF_BUILDDIR)/libtiff -I. --mod_spandsp_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA) $(TIFF_LA) $(SPANDSP_LA_JBIG) $(SPANDSP_LA_LZMA) -ljpeg -lz -+mod_spandsp_la_CFLAGS = $(AM_CFLAGS) -+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): $(TIFF_LA) $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -- cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS) -I$(TIFF_BUILDDIR)/libtiff -I$(TIFF_DIR)/libtiff" CFLAGS="$(CFLAGS)" -- $(TOUCH_TARGET) -- --$(TIFF_LA): $(TIFF_DIR) $(TIFF_DIR)/.update -- cd $(TIFF_BUILDDIR) && $(MAKE) -+$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -+ cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" - $(TOUCH_TARGET) diff --git a/net/freeswitch-stable/patches/311-use-system-tiff.patch b/net/freeswitch-stable/patches/311-use-system-tiff.patch deleted file mode 100644 index 9829772..0000000 --- a/net/freeswitch-stable/patches/311-use-system-tiff.patch +++ /dev/null @@ -1,34 +0,0 @@ -commit f51ab63c2628e3ff21bd8a301dbacbc23766554a -Author: Mike Jerris -Date: Wed Mar 15 09:57:03 2017 -0500 - - FS-10074: [libtiff] stop using embedded libtiff. Build now requires system libtiff - ---- a/debian/bootstrap.sh -+++ b/debian/bootstrap.sh -@@ -310,6 +310,7 @@ Build-Depends: - libpcre3-dev, - libedit-dev (>= 2.11), - libsqlite3-dev, -+ libtiff5-dev, - wget, pkg-config, - yasm, - # core codecs ---- a/freeswitch.spec -+++ b/freeswitch.spec -@@ -150,6 +150,7 @@ BuildRequires: openssl-devel >= 1.0.1e - BuildRequires: pcre-devel - BuildRequires: speex-devel - BuildRequires: sqlite-devel -+BuildRequires: libtiff-devel - BuildRequires: ldns-devel - BuildRequires: libedit-devel - BuildRequires: perl -@@ -208,6 +209,7 @@ Requires: ncurses - Requires: pcre - Requires: speex - Requires: sqlite -+Requires: libtiff - Requires: libedit - Requires: openssl >= 1.0.1e - Requires: unixODBC diff --git a/net/freeswitch-stable/patches/312-use-system-tiff.patch b/net/freeswitch-stable/patches/312-use-system-tiff.patch deleted file mode 100644 index 24fc693..0000000 --- a/net/freeswitch-stable/patches/312-use-system-tiff.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 920d10afe725566a33c1c570d99ad2dc99625712 -Author: Mike Jerris -Date: Wed Mar 15 15:00:15 2017 -0500 - - FS-10074: [libtiff] stop using embedded libtiff. Build now requires system libtiff - ---- a/src/mod/endpoints/mod_skypopen/Makefile.am -+++ b/src/mod/endpoints/mod_skypopen/Makefile.am -@@ -1,10 +1,6 @@ - include $(top_srcdir)/build/modmake.rulesam - MODNAME=mod_skypopen - --TIFF_DIR=$(switch_srcdir)/libs/tiff-4.0.2 --TIFF_BUILDDIR=$(switch_builddir)/libs/tiff-4.0.2 --TIFF_LA=$(TIFF_BUILDDIR)/libtiff/libtiff.la -- - SPANDSP_DIR=$(switch_srcdir)/libs/spandsp - SPANDSP_BUILDDIR=$(switch_builddir)/libs/spandsp - SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libspandsp.la -@@ -12,16 +8,12 @@ SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libsp - mod_LTLIBRARIES = mod_skypopen.la - mod_skypopen_la_SOURCES = mod_skypopen.c skypopen_protocol.c - mod_skypopen_la_CFLAGS = $(AM_CFLAGS) --mod_skypopen_la_CPPFLAGS = -I$(SPANDSP_DIR)/src -I$(TIFF_DIR)/libtiff -I$(SPANDSP_BUILDDIR)/src -I$(TIFF_BUILDDIR)/libtiff -I. --mod_skypopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA) $(TIFF_LA) -+mod_skypopen_la_CPPFLAGS = -I$(SPANDSP_DIR)/src -I$(SPANDSP_BUILDDIR)/src -I. -+mod_skypopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA) - mod_skypopen_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lX11 - --BUILT_SOURCES = $(TIFF_LA) $(SPANDSP_LA) -- --$(SPANDSP_LA): $(TIFF_LA) $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -- cd $(SPANDSP_BUILDDIR) && $(MAKE) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS) -I$(TIFF_BUILDDIR)/libtiff -I$(TIFF_DIR)/libtiff" -- $(TOUCH_TARGET) -+BUILT_SOURCES = $(SPANDSP_LA) - --$(TIFF_LA): $(TIFF_DIR) $(TIFF_DIR)/.update -- cd $(TIFF_BUILDDIR) && $(MAKE) -+$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -+ cd $(SPANDSP_BUILDDIR) && $(MAKE) CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" - $(TOUCH_TARGET) diff --git a/net/freeswitch-stable/patches/313-use-system-tiff.patch b/net/freeswitch-stable/patches/313-use-system-tiff.patch deleted file mode 100644 index 1bc8dc6..0000000 --- a/net/freeswitch-stable/patches/313-use-system-tiff.patch +++ /dev/null @@ -1,41 +0,0 @@ -commit 4a7c459e37d77b05f258001ccae99935fb660caf -Author: Mike Jerris -Date: Wed Mar 15 15:02:04 2017 -0500 - - FS-10074: [libtiff] stop using embedded libtiff. Build now requires system libtiff - ---- a/src/mod/endpoints/mod_gsmopen/Makefile.am -+++ b/src/mod/endpoints/mod_gsmopen/Makefile.am -@@ -1,10 +1,6 @@ - include $(top_srcdir)/build/modmake.rulesam - MODNAME=mod_gsmopen - --TIFF_DIR=$(switch_srcdir)/libs/tiff-4.0.2 --TIFF_BUILDDIR=$(switch_builddir)/libs/tiff-4.0.2 --TIFF_LA=$(TIFF_BUILDDIR)/libtiff/libtiff.la -- - SPANDSP_DIR=$(switch_srcdir)/libs/spandsp - SPANDSP_BUILDDIR=$(switch_builddir)/libs/spandsp - SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libspandsp.la -@@ -12,16 +8,12 @@ SPANDSP_LA=$(SPANDSP_BUILDDIR)/src/libsp - 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$(TIFF_DIR)/libtiff -I$(SPANDSP_BUILDDIR)/src -I$(TIFF_BUILDDIR)/libtiff -I. --mod_gsmopen_la_LIBADD = $(switch_builddir)/libfreeswitch.la $(SPANDSP_LA) $(TIFF_LA) -+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_LDFLAGS = -avoid-version -module -no-undefined -lctb-0.16 -lgsmme - --BUILT_SOURCES = $(TIFF_LA) $(SPANDSP_LA) -- --$(SPANDSP_LA): $(TIFF_LA) $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -- cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS) -I$(TIFF_BUILDDIR)/libtiff -I$(TIFF_DIR)/libtiff" CFLAGS="$(CFLAGS)" -- $(TOUCH_TARGET) -+BUILT_SOURCES = $(SPANDSP_LA) - --$(TIFF_LA): $(TIFF_DIR) $(TIFF_DIR)/.update -- cd $(TIFF_BUILDDIR) && $(MAKE) -+$(SPANDSP_LA): $(SPANDSP_DIR) $(SPANDSP_DIR)/.update -+ cd $(SPANDSP_BUILDDIR) && $(MAKE) CPPFLAGS="$(CPPFLAGS)" CFLAGS="$(CFLAGS)" - $(TOUCH_TARGET) diff --git a/net/freeswitch-stable/patches/314-use-system-tiff.patch b/net/freeswitch-stable/patches/314-use-system-tiff.patch deleted file mode 100644 index ff72c87..0000000 --- a/net/freeswitch-stable/patches/314-use-system-tiff.patch +++ /dev/null @@ -1,92 +0,0 @@ -commit 7a4c76119114b82d26dab5d5adfe5a2429e32434 -Author: Mike Jerris -Date: Thu Mar 16 11:29:08 2017 -0500 - - FS-10074: [libtiff] remove more libtiff references - ---- a/debian/copyright -+++ b/debian/copyright -@@ -1700,27 +1700,6 @@ Copyright: 2007 - License: LGPL-2+ - --Files: libs/tiff-4.0.2/* --Copyright: 1988-1997 Sam Leffler -- 1991-1997 Silicon Graphics, Inc. -- 2006-2010 Richard Nolde -- 1999-2000 Frank Warmerdam -- 1990 by Digital Equipment Corporation, Maynard, Massachusetts. -- 1990 by Sun Microsystems, Inc. -- Joris Van Damme -- AWare Systems --License: MIT/X11 (BSD like) -- --Files: libs/tiff-4.0.2/port/getopt.c -- libs/tiff-4.0.2/port/strcasecmp.c -- libs/tiff-4.0.2/port/lfind.c --Copyright: 1987, 1993, 1994, The Regents of the University of California. --License: BSD-3-clause -- --Files: libs/tiff-4.0.2/port/strtoull.c --Copyright: 1992, 1993, The Regents of the University of California. --License: BSD-4-clause -- - Files: src/switch_dso.c - Copyright: 2008 Michael Jerris - License: BSD-like ---- a/debian/license-reconcile.yml -+++ b/debian/license-reconcile.yml -@@ -186,21 +186,6 @@ Rules: - Copyright: 1999-2009 Erik de Castro Lopo - Justification: prevent false-psitive copyright detection - - -- Glob: libs/tiff-4.0.2/libtiff/tif_tile.c -- Matches: Copyright\s(c)\s1991-1997\sSam\sLeffler -- Matches: copyright\snotices\sand\sthis\spermission\snotice\sappear\sin -- Copyright: 1991-1997 Sam Leffler -- - -- Glob: libs/tiff-4.0.2/* -- Matches: Additions\s\(c\)\sRichard\sNolde\s2006-2010 -- Matches: copyright\snotices\sand\sthis\spermission\snotice\sappear\sin -- Copyright: 2006-2010 Richard Nolde -- - -- Glob: libs/tiff-4.0.2/libtiff/tiffvers.h -- Matches: 1988-1996\sSam\sLeffler..Copyright\s\(c\)\s1991-1996\sSilicon\sGraphics,\sInc. -- Copyright: 1991-1996 Sam Leffler -- Copyright: 1991-1996 Silicon Graphics, Inc -- - - Glob: src/mod/endpoints/mod_khomp/* - Matches: The\scontents\sof\sthis\sfile\sare\ssubject\sto\sthe\sMozilla\sPublic\sLicense\sVersion\s1.1 - Matches: Alternatively,\sthe\scontents\sof\sthis\sfile\smay\sbe\sused\sunder\sthe\sterms\sof\sthe ---- a/docs/Doxygen.conf -+++ b/docs/Doxygen.conf -@@ -1240,15 +1240,9 @@ SEARCH_INCLUDES = YES - # contain include files that are not input files but should be processed by - # the preprocessor. - --INCLUDE_PATH =../libs/apr ../libs/apr-util \ -- ../libs/iksemel ../libs/ilbc ../libs/js \ -- ../libs/libg722_1 ../libs/libnatpmp \ -- ../libs/libsndfile ../libs/miniupnpc \ -- ../libs/portaudio ../libs/sofia-sip ../libs/spandsp \ -- ../libs/srtp \ -- ../libs/tiff-4.0.2 ../libs/udns \ -- ../libs/unimrcp ../libs/voipcodecs ../libs/win32 \ -- ../libs/xmlrpc-c -+INCLUDE_PATH =../libs/apr ../libs/apr-util ../libs/iksemel ../libs/libnatpmp \ -+ ../libs/miniupnpc ../libs/sofia-sip ../libs/spandsp \ -+ ../libs/srtp ../libs/unimrcp ../libs/win32 ../libs/xmlrpc-c - - # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard - # patterns (like *.h and *.hpp) to filter out the header-files in the ---- a/rebootstrap.sh -+++ b/rebootstrap.sh -@@ -8,7 +8,7 @@ BGJOB=false - VERBOSE=false - BASEDIR=`pwd`; - LIBDIR=${BASEDIR}/libs; --SUBDIRS="apr libzrtp iksemel libdingaling sofia-sip srtp freetdm spandsp unimrcp tiff-4.0.2 fs"; -+SUBDIRS="apr libzrtp iksemel libdingaling sofia-sip srtp freetdm spandsp unimrcp fs"; - - while getopts 'jhd:v' o; do - case "$o" in diff --git a/net/freeswitch-stable/patches/340-libvpx-CVE-2017-13194.patch b/net/freeswitch-stable/patches/340-libvpx-CVE-2017-13194.patch deleted file mode 100644 index 2f53b12..0000000 --- a/net/freeswitch-stable/patches/340-libvpx-CVE-2017-13194.patch +++ /dev/null @@ -1,45 +0,0 @@ -Subject: Fix OOB caused by odd frame width, CVE-2017-13194 -Origin: https://android.googlesource.com/platform/external/libvpx/+/55cd1dd7c8d0a3de907d22e0f12718733f4e41d - -diff --git a/libs/libvpx/libvpx/vpx/src/vpx_image.c b/libs/libvpx/libvpx/vpx/src/vpx_image.c -index dba439c..af7c529 100644 ---- a/libs/libvpx/vpx/src/vpx_image.c -+++ b/libs/libvpx/vpx/src/vpx_image.c -@@ -88,11 +88,10 @@ - default: ycs = 0; break; - } - -- /* Calculate storage sizes given the chroma subsampling */ -- align = (1 << xcs) - 1; -- w = (d_w + align) & ~align; -- align = (1 << ycs) - 1; -- h = (d_h + align) & ~align; -+ /* Calculate storage sizes. If the buffer was allocated externally, the width -+ * and height shouldn't be adjusted. */ -+ w = d_w; -+ h = d_h; - s = (fmt & VPX_IMG_FMT_PLANAR) ? w : bps * w / 8; - s = (s + stride_align - 1) & ~(stride_align - 1); - stride_in_bytes = (fmt & VPX_IMG_FMT_HIGHBITDEPTH) ? s * 2 : s; -@@ -111,9 +110,18 @@ - img->img_data = img_data; - - if (!img_data) { -- const uint64_t alloc_size = (fmt & VPX_IMG_FMT_PLANAR) -- ? (uint64_t)h * s * bps / 8 -- : (uint64_t)h * s; -+ uint64_t alloc_size; -+ /* Calculate storage sizes given the chroma subsampling */ -+ align = (1 << xcs) - 1; -+ w = (d_w + align) & ~align; -+ align = (1 << ycs) - 1; -+ h = (d_h + align) & ~align; -+ -+ s = (fmt & VPX_IMG_FMT_PLANAR) ? w : bps * w / 8; -+ s = (s + stride_align - 1) & ~(stride_align - 1); -+ stride_in_bytes = (fmt & VPX_IMG_FMT_HIGHBITDEPTH) ? s * 2 : s; -+ alloc_size = (fmt & VPX_IMG_FMT_PLANAR) ? (uint64_t)h * s * bps / 8 -+ : (uint64_t)h * s; - - if (alloc_size != (size_t)alloc_size) goto fail; - diff --git a/net/freeswitch-stable/patches/350-fix-pcre-pointer-type.patch b/net/freeswitch-stable/patches/350-fix-pcre-pointer-type.patch deleted file mode 100644 index dbbd0ff..0000000 --- a/net/freeswitch-stable/patches/350-fix-pcre-pointer-type.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/switch_regex.c -+++ b/src/switch_regex.c -@@ -37,7 +37,7 @@ SWITCH_DECLARE(switch_regex_t *) switch_ - int options, const char **errorptr, int *erroroffset, const unsigned char *tables) - { - -- return pcre_compile(pattern, options, errorptr, erroroffset, tables); -+ return (switch_regex_t *)pcre_compile(pattern, options, errorptr, erroroffset, tables); - - } - diff --git a/net/freeswitch-stable/patches/370-procd-compat.patch b/net/freeswitch-stable/patches/370-procd-compat.patch new file mode 100644 index 0000000..0549a03 --- /dev/null +++ b/net/freeswitch-stable/patches/370-procd-compat.patch @@ -0,0 +1,19 @@ +--- a/src/switch_console.c ++++ b/src/switch_console.c +@@ -1053,10 +1053,12 @@ static void *SWITCH_THREAD_FUNC console_ + while (running) { + int32_t arg = 0; + +- if (getppid() == 1) { +- switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "We've become an orphan, no more console for us.\n"); +- break; +- } ++ // Parent PID is 1 when started by procd - so FS is not an orphan. ++ // Plus we still want the output. ++ //if (getppid() == 1) { ++ // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "We've become an orphan, no more console for us.\n"); ++ // break; ++ //} + + switch_core_session_ctl(SCSC_CHECK_RUNNING, &arg); + if (!arg) {