asterisk-16.x: bump to version 16.25.2 762/head
authorSebastian Kemper <sebastian_ml@gmx.net>
Wed, 20 Apr 2022 21:18:16 +0000 (23:18 +0200)
committerSebastian Kemper <sebastian_ml@gmx.net>
Wed, 20 Apr 2022 21:32:27 +0000 (23:32 +0200)
This bumps asterisk to version 16.25.2 to address the following security
concerns:

https://downloads.asterisk.org/pub/security/AST-2022-001.html
https://downloads.asterisk.org/pub/security/AST-2022-002.html
https://downloads.asterisk.org/pub/security/AST-2022-003.html

Other changes:

- add two new modules (app_sf and func_json)
- update 100-build-reproducibly.patch as upstream refactored some of the
  code
- refresh patches
- "--disable-xmldoc" does no longer prevent the linking to libxslt, if
  available. If that's the case one is greeted with the following error:

    Package asterisk is missing dependencies for the following libraries:
    libxslt.so.1

  This commit explicitly disables the use of libxslt, to avoid the
  dependency.
- backport 160-AST_EXT_TOOL_CHECK.patch from master for issue #672
- backport 180_build-fix-bininstall-launchd-issue-on-cross-platfrom.patch
  from master to fix a build issue on MacOS (patch from Sergey V.
  Lobanov <sergey@lobanov.in>)

Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
net/asterisk-16.x/Makefile
net/asterisk-16.x/patches/001-disable-semaphores-on-uclibc-otherwise-allow.patch
net/asterisk-16.x/patches/002-configure-fix-detection-of-re-entrant-resolver-funct.patch
net/asterisk-16.x/patches/100-build-reproducibly.patch
net/asterisk-16.x/patches/130-eventfd.patch
net/asterisk-16.x/patches/160-AST_EXT_TOOL_CHECK.patch [new file with mode: 0644]
net/asterisk-16.x/patches/180_build-fix-bininstall-launchd-issue-on-cross-platfrom.patch [new file with mode: 0644]

index 14dad4217bc0ea1db8156aa64bb5b241ce1782f8..2e4eb7c7aabd198ba3c68f88718ed2efa66444e8 100644 (file)
@@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk
 
 AST_MAJOR_VERSION:=16
 PKG_NAME:=asterisk$(AST_MAJOR_VERSION)
-PKG_VERSION:=$(AST_MAJOR_VERSION).22.0
+PKG_VERSION:=$(AST_MAJOR_VERSION).25.2
 PKG_RELEASE:=1
 
 PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/asterisk/releases
-PKG_HASH:=46992482762818e096d92654b9ac96d42fa9505ad4bc8e628a683413793ab26f
+PKG_HASH:=158f5f84b25580f9f780507092c9cf6a92f6a60c731f159859ac11d2fe98d204
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
 PKG_BUILD_DEPENDS:=libxml2/host
@@ -89,6 +89,7 @@ MODULES_AVAILABLE:= \
        app-sayunixtime \
        app-senddtmf \
        app-sendtext \
+       app-sf \
        app-skel \
        app-sms \
        app-softhangup \
@@ -190,6 +191,7 @@ MODULES_AVAILABLE:= \
        func-holdintercept \
        func-iconv \
        func-jitterbuffer \
+       func-json \
        func-lock \
        func-math \
        func-md5 \
@@ -565,6 +567,7 @@ CONFIGURE_ARGS+= \
        --without-pjproject-bundled \
        --with-libedit="$(STAGING_DIR)/usr" \
        --with-libxml2 \
+       --without-libxslt \
        $(if $(CONFIG_PACKAGE_$(PKG_NAME)-res-snmp),--with-netsnmp="$(STAGING_DIR)/usr",--without-netsnmp) \
        --without-newt \
        --without-osptk \
@@ -814,6 +817,7 @@ $(eval $(call BuildAsteriskModule,app-saycounted,Decline words,Decline words acc
 $(eval $(call BuildAsteriskModule,app-sayunixtime,Say Unix time,Say time.,,,app_sayunixtime,,))
 $(eval $(call BuildAsteriskModule,app-senddtmf,Send DTMF digits,Send DTMF digits application.,,,app_senddtmf,,))
 $(eval $(call BuildAsteriskModule,app-sendtext,Send text,Send text applications.,,,app_sendtext,,))
+$(eval $(call BuildAsteriskModule,app-sf,SF Sender and Receiver Applications,SF Sender and Receiver Applications.,,,app_sf,,))
 $(eval $(call BuildAsteriskModule,app-skel,Skeleton [sample],Skeleton application.,,app_skel.conf,app_skel,,))
 $(eval $(call BuildAsteriskModule,app-sms,SMS,SMS/PSTN handler.,,,app_sms,,))
 $(eval $(call BuildAsteriskModule,app-softhangup,Hang up requested channel,Hangs up the requested channel.,,,app_softhangup,,))
@@ -915,6 +919,7 @@ $(eval $(call BuildAsteriskModule,func-hangupcause,HANGUPCAUSE related functions
 $(eval $(call BuildAsteriskModule,func-holdintercept,Hold interception dialplan function,Hold interception dialplan function.,,,func_holdintercept,,))
 $(eval $(call BuildAsteriskModule,func-iconv,Charset conversion,Charset conversions.,,,func_iconv,,,$(ICONV_DEPENDS)))
 $(eval $(call BuildAsteriskModule,func-jitterbuffer,Jitter buffer for read side of channel,Jitter buffer for read side of channel.,,,func_jitterbuffer,,))
+$(eval $(call BuildAsteriskModule,func-json,JSON decoding function,JSON decoding function.,,,func_json,,))
 $(eval $(call BuildAsteriskModule,func-lock,Dialplan mutexes,Dialplan mutexes.,,,func_lock,,))
 $(eval $(call BuildAsteriskModule,func-math,Math functions,Mathematical dialplan function.,,,func_math,,))
 $(eval $(call BuildAsteriskModule,func-md5,MD5 digest dialplan functions,MD5 digest dialplan functions.,,,func_md5,,))
index c295cc6660e9938e632bdf79f4d016f66ee8985c..72a9f61f561abc5735b40787627ce3ba4b2951e7 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1033,15 +1033,18 @@ AC_LINK_IFELSE(
+@@ -1088,15 +1088,18 @@ AC_LINK_IFELSE(
  
  # Some platforms define sem_init(), but only support sem_open(). joyous.
  AC_MSG_CHECKING(for working unnamed semaphores)
index c7b91e7ac1efad0bc9b05b421be44f6c22e83381..7b3c9aee7c625e311b44ac1a88d35e62ac31747c 100644 (file)
@@ -18,7 +18,7 @@ Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
 
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1427,7 +1427,11 @@ AC_LINK_IFELSE(
+@@ -1482,7 +1482,11 @@ AC_LINK_IFELSE(
                        #include <arpa/nameser.h>
                        #endif
                        #include <resolv.h>],
index b4f017ce5fcf7c74a8c34133487b3e6d094d641b..f16421b4a3d4f07ed154178535d197361bd3a716 100644 (file)
  cat << END
  /*
   * build.h
---- a/Makefile
-+++ b/Makefile
-@@ -489,7 +489,7 @@ doc/core-en_US.xml: makeopts .lastclean
-       @echo "<docs xmlns:xi=\"http://www.w3.org/2001/XInclude\">" >> $@
-       @for x in $(MOD_SUBDIRS); do \
-               printf "$$x " ; \
--              for i in `find $$x -name '*.c'`; do \
-+              for i in `find $$x -name '*.c' | LC_ALL=C sort`; do \
-                       MODULEINFO=$$($(AWK) -f build_tools/get_moduleinfo $$i) ; \
-                       if [ -n "$$MODULEINFO" ] ; \
-                       then \
+--- a/build_tools/make_xml_documentation
++++ b/build_tools/make_xml_documentation
+@@ -187,7 +187,7 @@ printf "Building Documentation For: "
+ for subdir in ${mod_subdirs} ; do
+       printf "%s " "${subdir}"
+       subdir_path="${source_tree}/${subdir}"
+-      for i in $(${FIND} "${subdir_path}" -name '*.c' -or -name '*.cc'); do
++      for i in $(${FIND} "${subdir_path}" -name '*.c' -or -name '*.cc' | LC_ALL=C sort); do
+               if [ "${with_moduleinfo}" -eq "1" ] ; then
+                       MODULEINFO=$(${AWK} -f "${source_tree}/build_tools/get_moduleinfo" "${i}")
+                       if [ "${MODULEINFO}" != "" ] ; then
index de4441bf87c9d0e867c0c90f841c9628725f7586..c5530e3bcdacaee5e3608eb4a3f3774864d72505 100644 (file)
@@ -1,6 +1,6 @@
 --- a/configure.ac
 +++ b/configure.ac
-@@ -1206,7 +1206,7 @@ if test "${ac_cv_have_variable_fdset}x"
+@@ -1261,7 +1261,7 @@ if test "${ac_cv_have_variable_fdset}x"
  fi
  
  AC_MSG_CHECKING([if we have usable eventfd support])
diff --git a/net/asterisk-16.x/patches/160-AST_EXT_TOOL_CHECK.patch b/net/asterisk-16.x/patches/160-AST_EXT_TOOL_CHECK.patch
new file mode 100644 (file)
index 0000000..97c9d35
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/autoconf/ast_ext_tool_check.m4
++++ b/autoconf/ast_ext_tool_check.m4
+@@ -8,13 +8,16 @@ AC_DEFUN([AST_EXT_TOOL_CHECK],
+       AC_REQUIRE([AST_PROG_SED])dnl
+       if test "x${PBX_$1}" != "x1" -a "${USE_$1}" != "no"; then
+               PBX_$1=0
+-              AC_PATH_TOOL(CONFIG_$1, $2, No, [${$1_DIR}/bin:$PATH])
++              if test "x${$1_DIR}" != "x"; then
++                      AC_PATH_TOOL(CONFIG_$1, $2, No, [${$1_DIR}/bin:$PATH])
++              else
++                      AC_PATH_TOOL(CONFIG_$1, $2, No, [$PATH])
++              fi
+               if test ! "x${CONFIG_$1}" = xNo; then
+                       $1_INCLUDE=$(${CONFIG_$1} m4_default([$3],[--cflags]))
+-                      $1_INCLUDE=$(echo ${$1_INCLUDE} | $SED -e "s|-I|-I${$1_DIR}|g" -e "s|-std=c99||g")
++                      $1_INCLUDE=$(echo ${$1_INCLUDE} | $SED -e "s|-std=c99||g")
+                       $1_LIB=$(${CONFIG_$1} m4_default([$4],[--libs]))
+-                      $1_LIB=$(echo ${$1_LIB} | $SED -e "s|-L|-L${$1_DIR}|g")
+                       m4_ifval([$5], [
+                               saved_cppflags="${CPPFLAGS}"
diff --git a/net/asterisk-16.x/patches/180_build-fix-bininstall-launchd-issue-on-cross-platfrom.patch b/net/asterisk-16.x/patches/180_build-fix-bininstall-launchd-issue-on-cross-platfrom.patch
new file mode 100644 (file)
index 0000000..cebaee6
--- /dev/null
@@ -0,0 +1,55 @@
+From: https://issues.asterisk.org/jira/browse/ASTERISK-29905
+
+From d27d75ad8058f6ed35197737b949bac57202dd54 Mon Sep 17 00:00:00 2001
+From: "Sergey V. Lobanov" <sergey@lobanov.in>
+Date: Wed, 9 Feb 2022 01:29:46 +0300
+Subject: [PATCH] build: fix bininstall launchd issue on cross-platfrom build
+
+configure script detects /sbin/launchd, but the result of this
+check is not used in Makefile (bininstall). Makefile also detects
+/sbin/launchd file to decide if it is required to install
+safe_asterisk.
+
+configure script correctly detects cross compile build and sets
+PBX_LAUNCHD=0
+
+In case of building asterisk on MacOS host for Linux target using
+external toolchain (e.g. OpenWrt toolchain), bininstall does not
+install safe_asterisk (due to /sbin/launchd detection in Makefile),
+but it is required on target (Linux).
+
+This patch adds HAVE_SBIN_LAUNCHD=@PBX_LAUNCHD@ to makeopts.in to
+use the result of /sbin/launchd detection from configure script in
+Makefile.
+Also this patch uses HAVE_SBIN_LAUNCHD in Makefile (bininstall) to
+decide if it is required to install safe_asterisk.
+
+Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
+---
+ Makefile    | 6 +++---
+ makeopts.in | 2 ++
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+--- a/Makefile
++++ b/Makefile
+@@ -558,9 +558,9 @@ bininstall: _all installdirs $(SUBDIRS_I
+       $(INSTALL) -m 755 contrib/scripts/astversion "$(DESTDIR)$(ASTSBINDIR)/"
+       $(INSTALL) -m 755 contrib/scripts/astgenkey "$(DESTDIR)$(ASTSBINDIR)/"
+       $(INSTALL) -m 755 contrib/scripts/autosupport "$(DESTDIR)$(ASTSBINDIR)/"
+-      if [ ! -f /sbin/launchd ]; then \
+-              ./build_tools/install_subst contrib/scripts/safe_asterisk "$(DESTDIR)$(ASTSBINDIR)/safe_asterisk"; \
+-      fi
++ifneq ($(HAVE_SBIN_LAUNCHD),1)
++      ./build_tools/install_subst contrib/scripts/safe_asterisk "$(DESTDIR)$(ASTSBINDIR)/safe_asterisk";
++endif
+ ifneq ($(DISABLE_XMLDOC),yes)
+       $(INSTALL) -m 644 doc/core-*.xml "$(DESTDIR)$(ASTDATADIR)/documentation"
+--- a/makeopts.in
++++ b/makeopts.in
+@@ -373,3 +373,5 @@ SNDFILE_LIB=@SNDFILE_LIB@
+ BEANSTALK_INCLUDE=@BEANSTALK_INCLUDE@
+ BEANSTALK_LIB=@BEANSTALK_LIB@
++
++HAVE_SBIN_LAUNCHD=@PBX_LAUNCHD@