Merge pull request #386 from micmac1/kam_procd
kamailio-5.x: update to procd, minor version bump
This commit is contained in:
commit
5d299be0ef
9 changed files with 242 additions and 132 deletions
|
@ -9,19 +9,22 @@
|
||||||
include $(TOPDIR)/rules.mk
|
include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=kamailio5
|
PKG_NAME:=kamailio5
|
||||||
PKG_VERSION:=5.1.3
|
PKG_VERSION:=5.1.6
|
||||||
PKG_RELEASE:=4
|
PKG_RELEASE:=1
|
||||||
|
|
||||||
PKG_SOURCE_URL:=https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
|
PKG_SOURCE_URL := \
|
||||||
|
https://sources.openwrt.org \
|
||||||
|
https://www.kamailio.org/pub/kamailio/$(PKG_VERSION)/src
|
||||||
PKG_SOURCE:=kamailio-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
|
PKG_SOURCE:=kamailio-$(PKG_VERSION)$(PKG_VARIANT)_src.tar.gz
|
||||||
PKG_HASH:=b2266e15ec8ffa62be66b44989155f26a31d137f06f81fb3841aad8315315a14
|
PKG_HASH:=99880df20dd836e4d9ec03fe863f7a5fc77bb29e3d56f59ea92b8b986deb5186
|
||||||
PKG_USE_MIPS16:=0
|
PKG_USE_MIPS16:=0
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0+
|
PKG_LICENSE:=GPL-2.0+
|
||||||
PKG_LICENSE_FILES:=COPYING
|
PKG_LICENSE_FILES:=COPYING
|
||||||
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
|
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
|
||||||
|
|
||||||
PKG_BUILD_PARALLEL:=1
|
# Defining PKG_BUILD_PARALLEL to 1 would be a noop due to the way we call make
|
||||||
|
#PKG_BUILD_PARALLEL:=1
|
||||||
|
|
||||||
MODULES_AVAILABLE:= \
|
MODULES_AVAILABLE:= \
|
||||||
acc \
|
acc \
|
||||||
|
@ -241,11 +244,13 @@ endef
|
||||||
define Package/kamailio5
|
define Package/kamailio5
|
||||||
$(call Package/kamailio5/Default)
|
$(call Package/kamailio5/Default)
|
||||||
TITLE:=Mature and flexible open source SIP server, v$(PKG_VERSION)
|
TITLE:=Mature and flexible open source SIP server, v$(PKG_VERSION)
|
||||||
|
USERID:=kamailio=380:kamailio=380
|
||||||
MENU:=1
|
MENU:=1
|
||||||
endef
|
endef
|
||||||
|
|
||||||
define Package/kamailio5/conffiles
|
define Package/kamailio5/conffiles
|
||||||
/etc/default/kamailio
|
/etc/config/kamailio
|
||||||
|
/etc/init.d/kamailio
|
||||||
/etc/kamailio/kamailio.cfg
|
/etc/kamailio/kamailio.cfg
|
||||||
/etc/kamailio/kamctlrc
|
/etc/kamailio/kamctlrc
|
||||||
endef
|
endef
|
||||||
|
@ -260,19 +265,37 @@ $(foreach c,kamailio.cfg kamctlrc,$(call Package/kamailio5/install/conffile,$(1)
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(PKG_INSTALL_DIR)/usr/lib/kamailio/lib{srdb1,srdb2,srutils}.so* \
|
$(PKG_INSTALL_DIR)/usr/lib/kamailio/lib{srdb1,srdb2,srutils}.so* \
|
||||||
$(1)/usr/lib/kamailio/
|
$(1)/usr/lib/kamailio/
|
||||||
$(INSTALL_DIR) $(1)/etc/default
|
$(INSTALL_DIR) $(1)/etc/config
|
||||||
$(INSTALL_CONF) \
|
$(INSTALL_CONF) \
|
||||||
./files/kamailio.default \
|
./files/kamailio.config \
|
||||||
$(1)/etc/default/kamailio
|
$(1)/etc/config/kamailio
|
||||||
$(INSTALL_DIR) $(1)/etc/init.d
|
$(INSTALL_DIR) $(1)/etc/init.d
|
||||||
$(INSTALL_BIN) \
|
$(INSTALL_BIN) \
|
||||||
./files/kamailio.init \
|
./files/kamailio.init \
|
||||||
$(1)/etc/init.d/kamailio
|
$(1)/etc/init.d/kamailio
|
||||||
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||||
|
$(INSTALL_BIN) \
|
||||||
|
./files/kamailio.hotplug \
|
||||||
|
$(1)/etc/hotplug.d/iface
|
||||||
$(CP) \
|
$(CP) \
|
||||||
$(PKG_INSTALL_DIR)/usr/lib/kamailio/kamctl \
|
$(PKG_INSTALL_DIR)/usr/lib/kamailio/kamctl \
|
||||||
$(1)/usr/lib/kamailio/
|
$(1)/usr/lib/kamailio/
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
define Package/kamailio5/postinst
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||||
|
echo
|
||||||
|
echo "o-------------------------------------------------------------------o"
|
||||||
|
echo "| Kamailio note |"
|
||||||
|
echo "o-------------------------------------------------------------------o"
|
||||||
|
echo "| Edit /etc/config/kamailio to change basic init configuration. |"
|
||||||
|
echo "o-------------------------------------------------------------=^_^=-o"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
endef
|
||||||
|
|
||||||
define Package/kamailio5/install/conffile
|
define Package/kamailio5/install/conffile
|
||||||
$(INSTALL_DIR) $(1)/etc/kamailio
|
$(INSTALL_DIR) $(1)/etc/kamailio
|
||||||
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/kamailio/$(2) $(1)/etc/kamailio
|
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/kamailio/$(2) $(1)/etc/kamailio
|
||||||
|
@ -377,7 +400,9 @@ EXTRA_MODULES:= \
|
||||||
#
|
#
|
||||||
# When CONFIG_CPU_TYPE matches one of the identifiers in the list below, set
|
# When CONFIG_CPU_TYPE matches one of the identifiers in the list below, set
|
||||||
# ARCH to "mips2" to get FAST_LOCK support.
|
# ARCH to "mips2" to get FAST_LOCK support.
|
||||||
|
ifeq ($(call qstrip,$(CONFIG_ARCH)),mips)
|
||||||
CPU_MIPS2:=mips32 24kc 34kc 74kc
|
CPU_MIPS2:=mips32 24kc 34kc 74kc
|
||||||
|
endif
|
||||||
|
|
||||||
PKG_MAKE_ARGS:= \
|
PKG_MAKE_ARGS:= \
|
||||||
prefix=/ \
|
prefix=/ \
|
||||||
|
@ -401,6 +426,9 @@ PKG_MAKE_ARGS:= \
|
||||||
DESTDIR=$(PKG_INSTALL_DIR) \
|
DESTDIR=$(PKG_INSTALL_DIR) \
|
||||||
quiet=verbose
|
quiet=verbose
|
||||||
|
|
||||||
|
define Build/Configure
|
||||||
|
endef
|
||||||
|
|
||||||
define Build/Compile
|
define Build/Compile
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) $(PKG_MAKE_ARGS) cfg
|
$(MAKE) -C $(PKG_BUILD_DIR) $(PKG_MAKE_ARGS) cfg
|
||||||
$(MAKE) -C $(PKG_BUILD_DIR) quiet=verbose all
|
$(MAKE) -C $(PKG_BUILD_DIR) quiet=verbose all
|
||||||
|
@ -425,14 +453,14 @@ $(eval $(call BuildPackage,kamailio5-util-kambdb-recover))
|
||||||
|
|
||||||
$(eval $(call BuildKamailio5Module,acc,Accounting,,+kamailio5-mod-tm))
|
$(eval $(call BuildKamailio5Module,acc,Accounting,,+kamailio5-mod-tm))
|
||||||
$(eval $(call BuildKamailio5Module,acc_diameter,Accounting for DIAMETER backend,,+kamailio5-mod-acc))
|
$(eval $(call BuildKamailio5Module,acc_diameter,Accounting for DIAMETER backend,,+kamailio5-mod-acc))
|
||||||
$(eval $(call BuildKamailio5Module,alias_db,Database-backend aliases,,+kamailio5-mod-db-sqlite))
|
$(eval $(call BuildKamailio5Module,alias_db,Database-backend aliases,,))
|
||||||
$(eval $(call BuildKamailio5Module,app_jsdt,Execute JavaScript scripts,,))
|
$(eval $(call BuildKamailio5Module,app_jsdt,Execute JavaScript scripts,,))
|
||||||
$(eval $(call BuildKamailio5Module,app_lua,Execute embedded Lua scripts,,+liblua))
|
$(eval $(call BuildKamailio5Module,app_lua,Execute embedded Lua scripts,,+liblua))
|
||||||
$(eval $(call BuildKamailio5Module,app_python,Execute Python scripts,,+python-light))
|
$(eval $(call BuildKamailio5Module,app_python,Execute Python scripts,,+python-light))
|
||||||
$(eval $(call BuildKamailio5Module,app_sqlang,Execute Squirrel language scripts,,+libstdcpp))
|
$(eval $(call BuildKamailio5Module,app_sqlang,Execute Squirrel language scripts,,+libstdcpp))
|
||||||
$(eval $(call BuildKamailio5Module,async,Asynchronous SIP handling functions,,+kamailio5-mod-tm +kamailio5-mod-tmx))
|
$(eval $(call BuildKamailio5Module,async,Asynchronous SIP handling functions,,+kamailio5-mod-tm +kamailio5-mod-tmx))
|
||||||
$(eval $(call BuildKamailio5Module,auth,Authentication Framework,,))
|
$(eval $(call BuildKamailio5Module,auth,Authentication Framework,,))
|
||||||
$(eval $(call BuildKamailio5Module,auth_db,Database-backend authentication,,+kamailio5-mod-auth +kamailio5-mod-db-sqlite))
|
$(eval $(call BuildKamailio5Module,auth_db,Database-backend authentication,,+kamailio5-mod-auth))
|
||||||
$(eval $(call BuildKamailio5Module,auth_diameter,Diameter authentication,,+kamailio5-mod-sl))
|
$(eval $(call BuildKamailio5Module,auth_diameter,Diameter authentication,,+kamailio5-mod-sl))
|
||||||
$(eval $(call BuildKamailio5Module,auth_ephemeral,Ephemeral credentials,,+libopenssl))
|
$(eval $(call BuildKamailio5Module,auth_ephemeral,Ephemeral credentials,,+libopenssl))
|
||||||
$(eval $(call BuildKamailio5Module,auth_identity,Identity authentication,,+libopenssl +libcurl))
|
$(eval $(call BuildKamailio5Module,auth_identity,Identity authentication,,+libopenssl +libcurl))
|
||||||
|
@ -447,7 +475,7 @@ $(eval $(call BuildKamailio5Module,carrierroute,Carrier Route,,+kamailio5-lib-li
|
||||||
$(eval $(call BuildKamailio5Module,cdp,C Diameter Peer,,))
|
$(eval $(call BuildKamailio5Module,cdp,C Diameter Peer,,))
|
||||||
$(eval $(call BuildKamailio5Module,cdp_avp,CDP AVP helper module,,+kamailio5-mod-cdp))
|
$(eval $(call BuildKamailio5Module,cdp_avp,CDP AVP helper module,,+kamailio5-mod-cdp))
|
||||||
$(eval $(call BuildKamailio5Module,cfgutils,Config utilities,,))
|
$(eval $(call BuildKamailio5Module,cfgutils,Config utilities,,))
|
||||||
$(eval $(call BuildKamailio5Module,cfg_db,Load parameters from database,,+kamailio5-mod-db-sqlite))
|
$(eval $(call BuildKamailio5Module,cfg_db,Load parameters from database,,))
|
||||||
$(eval $(call BuildKamailio5Module,cfg_rpc,Update parameters via RPC,,))
|
$(eval $(call BuildKamailio5Module,cfg_rpc,Update parameters via RPC,,))
|
||||||
$(eval $(call BuildKamailio5Module,cfgt,Unit test reporting,,))
|
$(eval $(call BuildKamailio5Module,cfgt,Unit test reporting,,))
|
||||||
$(eval $(call BuildKamailio5Module,cnxcc,Limit call duration,,+kamailio5-mod-dialog +libhiredis +libevent2))
|
$(eval $(call BuildKamailio5Module,cnxcc,Limit call duration,,+kamailio5-mod-dialog +libhiredis +libevent2))
|
||||||
|
@ -503,7 +531,7 @@ $(eval $(call BuildKamailio5Module,ipops,IP and IPv6 operations,,))
|
||||||
$(eval $(call BuildKamailio5Module,jansson,Access to JSON attributes,,+jansson))
|
$(eval $(call BuildKamailio5Module,jansson,Access to JSON attributes,,+jansson))
|
||||||
$(eval $(call BuildKamailio5Module,janssonrpcc,Alternative JSONRPC server,,+kamailio5-mod-jansson +libevent2))
|
$(eval $(call BuildKamailio5Module,janssonrpcc,Alternative JSONRPC server,,+kamailio5-mod-jansson +libevent2))
|
||||||
$(eval $(call BuildKamailio5Module,json,Access to JSON document attributes,,+libjson-c))
|
$(eval $(call BuildKamailio5Module,json,Access to JSON document attributes,,+libjson-c))
|
||||||
$(eval $(call BuildKamailio5Module,jsonrpcs,JSONRPC server over HTTP,,+kamailio5-mod-json +libevent2))
|
$(eval $(call BuildKamailio5Module,jsonrpcs,JSONRPC server over HTTP,,+libevent2))
|
||||||
$(eval $(call BuildKamailio5Module,keepalive,SIP keepalive monitoring,+kamailio5-mod-tm,))
|
$(eval $(call BuildKamailio5Module,keepalive,SIP keepalive monitoring,+kamailio5-mod-tm,))
|
||||||
$(eval $(call BuildKamailio5Module,kex,Core extensions,,))
|
$(eval $(call BuildKamailio5Module,kex,Core extensions,,))
|
||||||
$(eval $(call BuildKamailio5Module,lcr,Least Cost Routing,,+kamailio5-mod-tm +libpcre))
|
$(eval $(call BuildKamailio5Module,lcr,Least Cost Routing,,+kamailio5-mod-tm +libpcre))
|
||||||
|
|
25
net/kamailio-5.x/files/kamailio.config
Normal file
25
net/kamailio-5.x/files/kamailio.config
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
config kamailio 'general'
|
||||||
|
option enabled 0
|
||||||
|
option user kamailio
|
||||||
|
option group kamailio
|
||||||
|
# Amount of shared and private memory to allocate in MByte:
|
||||||
|
option shm_memory 8
|
||||||
|
option pkg_memory 2
|
||||||
|
option cfg_file /etc/kamailio/kamailio.cfg
|
||||||
|
# The lists "listen" and "listen6" basically have the same
|
||||||
|
# effect - each list entry will be added to the Kamailio command
|
||||||
|
# line ("-l address"). However, the init script will try to
|
||||||
|
# resolve any interface specifier into an IPv4 ("listen") or
|
||||||
|
# IPv6 ("listen6") address before starting Kamailio. These lists
|
||||||
|
# may be helpful when using dynamic IPs.
|
||||||
|
#list listen udp:wan:5060
|
||||||
|
#list listen udp:192.168.1.1:5060
|
||||||
|
#list listen6 udp:wan:5060
|
||||||
|
# Any other option can be put between the quotes below:
|
||||||
|
#option options ""
|
||||||
|
|
||||||
|
config kamailio 'hotplug'
|
||||||
|
# Uncomment to enable hotplug:
|
||||||
|
#option interface 'wan'
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
#
|
|
||||||
# Kamailio startup options
|
|
||||||
#
|
|
||||||
|
|
||||||
# Set to yes to enable kamailio, once configured properly.
|
|
||||||
#RUN_KAMAILIO=yes
|
|
||||||
|
|
||||||
# Amount of shared and private memory to allocate
|
|
||||||
# for the running Kamailio server (in Mb)
|
|
||||||
#SHM_MEMORY=64
|
|
||||||
#PKG_MEMORY=4
|
|
||||||
|
|
||||||
# Config file
|
|
||||||
#CFGFILE=/etc/kamailio/kamailio.cfg
|
|
24
net/kamailio-5.x/files/kamailio.hotplug
Normal file
24
net/kamailio-5.x/files/kamailio.hotplug
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ "$ACTION" = ifup ] || exit 0
|
||||||
|
|
||||||
|
NAME=kamailio
|
||||||
|
COMMAND=/etc/init.d/$NAME
|
||||||
|
LOGGER="/usr/bin/logger -t hotplug"
|
||||||
|
|
||||||
|
$COMMAND enabled || exit 0
|
||||||
|
|
||||||
|
. /lib/functions.sh
|
||||||
|
|
||||||
|
config_load $NAME
|
||||||
|
|
||||||
|
config_get_bool enabled general enabled 0
|
||||||
|
[ $enabled -eq 0 ] && exit 0
|
||||||
|
|
||||||
|
config_get hotplug_iface hotplug interface
|
||||||
|
|
||||||
|
[ "$INTERFACE" = "$hotplug_iface" ] && {
|
||||||
|
$LOGGER "Restarting $NAME due to \"$ACTION\" of \"$INTERFACE\""
|
||||||
|
$COMMAND restart
|
||||||
|
}
|
||||||
|
|
|
@ -1,38 +1,131 @@
|
||||||
#!/bin/sh /etc/rc.common
|
#!/bin/sh /etc/rc.common
|
||||||
# Copyright (C) 2014 OpenWrt.org
|
# Copyright (C) 2014 - 2018 OpenWrt.org
|
||||||
|
|
||||||
START=99
|
START=99
|
||||||
|
|
||||||
BINFILE=/usr/sbin/kamailio
|
NAME=kamailio
|
||||||
PIDFILE=/var/run/kamailio.pid
|
COMMAND=/usr/sbin/$NAME
|
||||||
DEFAULTS=/etc/default/kamailio
|
|
||||||
CFGFILE=/etc/kamailio/kamailio.cfg
|
|
||||||
SHM_MEMORY=8
|
|
||||||
PKG_MEMORY=2
|
|
||||||
RUN_KAMAILIO=no
|
|
||||||
|
|
||||||
start() {
|
RUNDIR=/var/run/$NAME
|
||||||
# Load startup options if available
|
PIDFILE=$RUNDIR/$NAME.pid
|
||||||
if [ -f $DEFAULTS ]; then
|
|
||||||
. $DEFAULTS
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$RUN_KAMAILIO" != "yes" ]; then
|
LOG_ERR="/usr/bin/logger -p user.err -s -t $NAME"
|
||||||
echo "[WARNING] Kamailio not yet configured. Edit /etc/default/kamailio first."
|
|
||||||
else
|
USE_PROCD=1
|
||||||
start-stop-daemon -S -x $BINFILE -b -- -P $PIDFILE -f $CFGFILE -m $SHM_MEMORY -M $PKG_MEMORY
|
|
||||||
echo "[INFO] Kamailio has succesfully started."
|
#PROCD_DEBUG=1
|
||||||
fi
|
|
||||||
|
check_listen() {
|
||||||
|
local value="$1"
|
||||||
|
local type="$2"
|
||||||
|
|
||||||
|
local address
|
||||||
|
local has_proto=0
|
||||||
|
local one two three
|
||||||
|
local tmp
|
||||||
|
|
||||||
|
[ -z "$value" ] && {
|
||||||
|
$LOG_ERR empty $type entry
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# IPv6 addresses need to be enclosed in square brackets. If there are
|
||||||
|
# square brackets in the listen entry, just copy it.
|
||||||
|
echo "$value" | grep "\[[0-9:A-Fa-f]*\]" &> /dev/null && {
|
||||||
|
options=$options" -l $value"
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
# Bail if more than 2 colons.
|
||||||
|
[ $(echo "$value" | awk -F ":" '{print NF-1}') -gt 2 ] && {
|
||||||
|
$LOG_ERR init script does not understand $type entry \""$value"\"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
IFS=":" read one two three << EOF
|
||||||
|
$value
|
||||||
|
EOF
|
||||||
|
|
||||||
|
case "$one" in
|
||||||
|
udp|tcp|tls|sctp)
|
||||||
|
tmp="$two"
|
||||||
|
has_proto=1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
tmp="$one"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$type" = "listen" ]; then
|
||||||
|
network_get_ipaddr address "$tmp" || address="$tmp"
|
||||||
|
else
|
||||||
|
network_get_ipaddr6 address "$tmp" && address="[$address]" || \
|
||||||
|
address="$tmp"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$three" ]; then
|
||||||
|
tmp="$one:$address:$three"
|
||||||
|
elif [ -n "$two" ]; then
|
||||||
|
if [ $has_proto = 1 ]; then
|
||||||
|
tmp="$one:$address"
|
||||||
|
else
|
||||||
|
tmp="$address:$two"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
tmp="$address"
|
||||||
|
fi
|
||||||
|
|
||||||
|
options=$options" -l $tmp"
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
start_service() {
|
||||||
start-stop-daemon -K -x $BINFILE -p $PIDFILE -q
|
local enabled
|
||||||
rm -rf $PID_FILE
|
local user
|
||||||
|
local group
|
||||||
|
local shm_memory
|
||||||
|
local pkg_memory
|
||||||
|
local cfg_file
|
||||||
|
local options
|
||||||
|
|
||||||
|
config_load $NAME
|
||||||
|
|
||||||
|
config_get_bool enabled general enabled 0
|
||||||
|
|
||||||
|
if [ $enabled -eq 0 ]; then
|
||||||
|
$LOG_ERR service not enabled in /etc/config/$NAME
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
config_get user general user $NAME
|
||||||
|
config_get group general group $NAME
|
||||||
|
config_get shm_memory general shm_memory 8
|
||||||
|
config_get pkg_memory general pkg_memory 2
|
||||||
|
config_get cfg_file general cfg_file /etc/$NAME/$NAME.cfg
|
||||||
|
config_get options general options
|
||||||
|
|
||||||
|
. /lib/functions/network.sh
|
||||||
|
|
||||||
|
config_list_foreach general listen check_listen listen
|
||||||
|
config_list_foreach general listen6 check_listen listen6
|
||||||
|
|
||||||
|
if [ ! -d $RUNDIR ]; then
|
||||||
|
mkdir -p $RUNDIR
|
||||||
|
chown "$user":"$group" $RUNDIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
procd_open_instance
|
||||||
|
procd_set_param command $COMMAND
|
||||||
|
procd_append_param command \
|
||||||
|
-P $PIDFILE \
|
||||||
|
-f "$cfg_file" \
|
||||||
|
-m "$shm_memory" \
|
||||||
|
-M "$pkg_memory" \
|
||||||
|
$options \
|
||||||
|
-u "$user" \
|
||||||
|
-g "$group" \
|
||||||
|
-DD -E
|
||||||
|
# forward stderr to logd
|
||||||
|
procd_set_param stderr 1
|
||||||
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
restart(){
|
|
||||||
echo "[INFO] Restarting kamailio. Waiting 5 seconds before start."
|
|
||||||
stop
|
|
||||||
sleep 5
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
commit 281a6c6b6eaaf30058b603325e8ded20b99e1456
|
|
||||||
Author: Henning Westerholt <hw@kamailio.org>
|
|
||||||
Date: Mon May 7 09:36:53 2018 +0200
|
|
||||||
|
|
||||||
core: improve to header check guards, str consists of length and pointer
|
|
||||||
|
|
||||||
diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
|
|
||||||
index 22122768a..4dd648e87 100644
|
|
||||||
--- a/src/core/msg_translator.c
|
|
||||||
+++ b/src/core/msg_translator.c
|
|
||||||
@@ -2369,7 +2369,7 @@ char * build_res_buf_from_sip_req( unsigned int code, str *text ,str *new_tag,
|
|
||||||
case HDR_TO_T:
|
|
||||||
if (new_tag && new_tag->len) {
|
|
||||||
to_tag=get_to(msg)->tag_value;
|
|
||||||
- if ( to_tag.len || to_tag.s )
|
|
||||||
+ if ( to_tag.len && to_tag.s )
|
|
||||||
len+=new_tag->len-to_tag.len;
|
|
||||||
else
|
|
||||||
len+=new_tag->len+TOTAG_TOKEN_LEN/*";tag="*/;
|
|
||||||
@@ -2497,7 +2497,7 @@ char * build_res_buf_from_sip_req( unsigned int code, str *text ,str *new_tag,
|
|
||||||
break;
|
|
||||||
case HDR_TO_T:
|
|
||||||
if (new_tag && new_tag->len){
|
|
||||||
- if (to_tag.s ) { /* replacement */
|
|
||||||
+ if (to_tag.len && to_tag.s) { /* replacement */
|
|
||||||
/* before to-tag */
|
|
||||||
append_str( p, hdr->name.s, to_tag.s-hdr->name.s);
|
|
||||||
/* to tag replacement */
|
|
|
@ -1,46 +0,0 @@
|
||||||
commit d67b2f9874ca23bd69f18df71b8f53b1b6151f6d
|
|
||||||
Author: Henning Westerholt <hw@kamailio.org>
|
|
||||||
Date: Sun Jun 3 20:59:32 2018 +0200
|
|
||||||
|
|
||||||
core: improve header safe guards for Via handling
|
|
||||||
|
|
||||||
(cherry picked from commit ad68e402ece8089f133c10de6ce319f9e28c0692)
|
|
||||||
|
|
||||||
diff --git a/src/core/crc.c b/src/core/crc.c
|
|
||||||
index 462846324..23b2876ec 100644
|
|
||||||
--- a/src/core/crc.c
|
|
||||||
+++ b/src/core/crc.c
|
|
||||||
@@ -231,6 +231,8 @@ void crcitt_string_array( char *dst, str src[], int size )
|
|
||||||
ccitt = 0xFFFF;
|
|
||||||
str_len=CRC16_LEN;
|
|
||||||
for (i=0; i<size; i++ ) {
|
|
||||||
+ /* invalid str with positive length and null char pointer */
|
|
||||||
+ if( unlikely(src[i].s==NULL)) break;
|
|
||||||
c=src[i].s;
|
|
||||||
len=src[i].len;
|
|
||||||
while(len) {
|
|
||||||
diff --git a/src/core/msg_translator.c b/src/core/msg_translator.c
|
|
||||||
index 201e3a5e1..58978f958 100644
|
|
||||||
--- a/src/core/msg_translator.c
|
|
||||||
+++ b/src/core/msg_translator.c
|
|
||||||
@@ -168,12 +168,17 @@ static int check_via_address(struct ip_addr* ip, str *name,
|
|
||||||
(name->s[name->len-1]==']')&&
|
|
||||||
(strncasecmp(name->s+1, s, len)==0))
|
|
||||||
)
|
|
||||||
- )
|
|
||||||
+ ) {
|
|
||||||
return 0;
|
|
||||||
- else
|
|
||||||
-
|
|
||||||
+ }
|
|
||||||
+ else {
|
|
||||||
+ if (unlikely(name->s==NULL)) {
|
|
||||||
+ LM_CRIT("invalid Via host name\n");
|
|
||||||
+ return -1;
|
|
||||||
+ }
|
|
||||||
if (strncmp(name->s, s, name->len)==0)
|
|
||||||
return 0;
|
|
||||||
+ }
|
|
||||||
}else{
|
|
||||||
LM_CRIT("could not convert ip address\n");
|
|
||||||
return -1;
|
|
|
@ -17,11 +17,9 @@ Date: Sun Oct 7 18:54:39 2018 +0200
|
||||||
|
|
||||||
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
|
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
|
||||||
|
|
||||||
diff --git a/utils/kamctl/kamctl.base b/utils/kamctl/kamctl.base
|
|
||||||
index adeceb77f..a776e10d8 100644
|
|
||||||
--- a/utils/kamctl/kamctl.base
|
--- a/utils/kamctl/kamctl.base
|
||||||
+++ b/utils/kamctl/kamctl.base
|
+++ b/utils/kamctl/kamctl.base
|
||||||
@@ -715,7 +715,7 @@ filter_json()
|
@@ -699,7 +699,7 @@ filter_json()
|
||||||
$AWK 'function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
|
$AWK 'function ltrim(s) { sub(/^[ \t\r\n]+/, "", s); return s }
|
||||||
BEGIN { line=0; IGNORECASE=1; }
|
BEGIN { line=0; IGNORECASE=1; }
|
||||||
{ line++; }
|
{ line++; }
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
commit cbff35909edccffe778d04f3871d880195d82b7a
|
||||||
|
Author: Sebastian Kemper <sebastian_ml@gmx.net>
|
||||||
|
Date: Fri Nov 2 10:10:38 2018 +0100
|
||||||
|
|
||||||
|
dialplan: fix dp_replace() in cmd_export_t struct
|
||||||
|
|
||||||
|
In the struct 'int param_no' is set to '2'. But dp_replace() has actually three
|
||||||
|
parameters (dpid, inval, outvar), so kamailio's cfg parser fails when
|
||||||
|
dp_replace() is called:
|
||||||
|
|
||||||
|
yyparse(): cfg. parser: failed to find command dp_replace (params 3)
|
||||||
|
yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 366, column 45: unknown command, missing loadmodule?
|
||||||
|
|
||||||
|
This commit fixes 'int param_no' to address this.
|
||||||
|
|
||||||
|
Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
|
||||||
|
|
||||||
|
diff --git a/src/modules/dialplan/dialplan.c b/src/modules/dialplan/dialplan.c
|
||||||
|
index 39ba1ceef..a96b246b7 100644
|
||||||
|
--- a/src/modules/dialplan/dialplan.c
|
||||||
|
+++ b/src/modules/dialplan/dialplan.c
|
||||||
|
@@ -115,7 +115,7 @@ static cmd_export_t cmds[]={
|
||||||
|
ANY_ROUTE},
|
||||||
|
{"dp_match",(cmd_function)w_dp_match, 2, fixup_igp_spve,
|
||||||
|
fixup_free_igp_spve, ANY_ROUTE},
|
||||||
|
- {"dp_replace",(cmd_function)w_dp_replace, 2, dp_replace_fixup,
|
||||||
|
+ {"dp_replace",(cmd_function)w_dp_replace, 3, dp_replace_fixup,
|
||||||
|
dp_replace_fixup_free, ANY_ROUTE},
|
||||||
|
{0,0,0,0,0,0}
|
||||||
|
};
|
Loading…
Reference in a new issue