Merge pull request #393 from micmac1/fs-182-1806

freeswitch-stable: upgrade to 1.8.2 on 18.06
This commit is contained in:
micmac1 2018-11-18 22:56:50 +01:00 committed by GitHub
commit 457bfbfd28
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 261 additions and 822 deletions

View file

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=freeswitch-stable-mod-bcg729
PKG_VERSION:=20170629
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_LICENSE:=MPL-1.1

View file

@ -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

View file

@ -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 <sebastian_ml@gmx.net>
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 "| 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
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
[ -f /etc/hotplug.d/iface/99-freeswitch ] && {
echo "o-------------------------------------------------------------------o"
echo "| FreeSWITCH hotplug note |"
echo "| WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |"
echo "o-------------------------------------------------------------------o"
echo "| See /etc/default/freeswitch for hotplug hints. |"
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.,))

View file

@ -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'

View file

@ -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"

View file

@ -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

View file

@ -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
}
}

View file

@ -0,0 +1,27 @@
commit f76230b16ed6e28847a00e1fa4edd46d19a52251
Author: Sebastian Kemper <sebastian_ml@gmx.net>
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 <sebastian_ml@gmx.net>
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. */

View file

@ -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])

View file

@ -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)

View file

@ -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)

View file

@ -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"])

View file

@ -0,0 +1,37 @@
From ae56352cfff570f1b7ac0748aa339bd7bf373794 Mon Sep 17 00:00:00 2001
From: Eneas U de Queiroz <cote2004-github@yahoo.com>
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 <cote2004-github@yahoo.com>
---
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

View file

@ -1,87 +0,0 @@
commit 34c48368dcfef09ba4a694256aa9615d91252461
Author: Mike Jerris <mike@jerris.com>
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)

View file

@ -1,34 +0,0 @@
commit f51ab63c2628e3ff21bd8a301dbacbc23766554a
Author: Mike Jerris <mike@jerris.com>
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

View file

@ -1,41 +0,0 @@
commit 920d10afe725566a33c1c570d99ad2dc99625712
Author: Mike Jerris <mike@jerris.com>
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)

View file

@ -1,41 +0,0 @@
commit 4a7c459e37d77b05f258001ccae99935fb660caf
Author: Mike Jerris <mike@jerris.com>
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)

View file

@ -1,92 +0,0 @@
commit 7a4c76119114b82d26dab5d5adfe5a2429e32434
Author: Mike Jerris <mike@jerris.com>
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 <robs@users.sourceforge.
2007-2009 Erik de Castro Lopo <erikd@mega-nerd.com>
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 <info@awaresystems.be>
- AWare Systems <http://www.awaresystems.be/>
-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 <erikd@mega-nerd.com>
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

View file

@ -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;

View file

@ -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);
}

View file

@ -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) {