From: Bernd Kuhls Date: Sun, 14 Oct 2018 09:01:55 +0000 (+0200) Subject: package/asterisk: bump version to 16.0.0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=78790d3e9c37cb7fc75b03305f5ae4af30e566b6;p=buildroot.git package/asterisk: bump version to 16.0.0 - removed patches applied upstream, re-numbered remaining patches - not available for static builds anymore: https://github.com/asterisk/asterisk/commit/8e36064109b6fabc6cd8caa59e48f9b523c7485b - fixed license hashes after upstream whitespace removal https://github.com/asterisk/asterisk/commit/fd0ca1c3f9b972a52d48a82b492fd6bac772dc78 - removed configure options not provided by upstream anymore - fixed configure error, the file is included in asterisk source: checking for bridges/bridge_softmix/include/hrirs.h... configure: error: cannot check for file existence when cross compiling - added "-without-pjproject-bundled" as noted in https://wiki.asterisk.org/wiki/display/AST/New+in+15 - upstream switched from ncurses to libedit: https://github.com/asterisk/asterisk/commit/d6fda173a40e078db219e9aaceb7f3ce9ba1b4e4 - added libatomic when needed - updated core sound package Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- diff --git a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch b/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch deleted file mode 100644 index d6d02d2c3a..0000000000 --- a/package/asterisk/0001-configure-do-not-configure-in-menuselect.patch +++ /dev/null @@ -1,58 +0,0 @@ -From cc5daff874779475742bdb89a9328bb4fc4c4e09 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 27 Dec 2016 11:20:19 +0100 -Subject: [PATCH] configure: do not configure in menuselect - -When cross-compiling, the arguments and environment for ./configure are -different for the host and the target, and we want menuselect to be -compiled for the build machine, not the target. - -Although we do not pass any option to ./configure for menuselect, the -environment may still reference variables for the target, like CC or -CFLAGS and so on... We can not build menuselect with those variables. - -Instead, just assume that menuselect will be pre-compiled. - -Signed-off-by: "Yann E. MORIN" ---- - configure | 16 ---------------- - configure.ac | 16 ---------------- - 2 files changed, 32 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 66c8971..121dd93 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2662,12 +2662,6 @@ fi - - AC_SUBST([PBX_SYSLOG]) - --if test -f makeopts; then -- ${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak --else -- touch makeopts.acbak --fi -- - AC_CONFIG_FILES([build_tools/menuselect-deps makeopts]) - AST_CHECK_MANDATORY - -@@ -2683,16 +2677,6 @@ fi - - AC_OUTPUT - --${ac_cv_path_EGREP} 'CURSES|GTK2|OSARCH|NEWT' makeopts > makeopts.acbak2 --if test "x${ac_cv_path_CMP}" = "x:"; then -- ( cd `pwd`/menuselect && ./configure ) --else if ${ac_cv_path_CMP} -s makeopts.acbak makeopts.acbak2; then : ; else -- ( cd `pwd`/menuselect && ./configure ) --fi ; fi -- --rm makeopts.acbak makeopts.acbak2 -- -- - if test "x${silent}" != "xyes" ; then - echo - echo " .\$\$\$\$\$\$\$\$\$\$\$\$\$\$\$=.. " --- -2.7.4 - diff --git a/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch new file mode 100644 index 0000000000..8412843d13 --- /dev/null +++ b/package/asterisk/0001-sounds-do-not-download-and-check-sha1s.patch @@ -0,0 +1,52 @@ +From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 27 Dec 2016 11:21:09 +0100 +Subject: [PATCH] sounds: do not download and check sha1s + +To validate the sound archives, the corresponding sha1s are also +downloaded from the same location, and that download is done at install +time. + +However, that poses at least two problems: + + - in Buildroot, we already have validated the downloads with the sha1s + anyway, and trying to download anything at install time is not + always possible (e.g. for off-line builds); + + - since the download scheme is not secured (plain http), a + man-in-the-middle for the sounds will also be able to MITM the + download of the sha1s, so there is absolutely no additional safety + in doing so. + +So we just do without the sha1 download and checks. + +Signed-off-by: "Yann E. MORIN" +--- + sounds/Makefile | 10 ---------- + 1 file changed, 10 deletions(-) + +diff --git a/sounds/Makefile b/sounds/Makefile +index 84d0f45..7a80d56 100644 +--- a/sounds/Makefile ++++ b/sounds/Makefile +@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),) + if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \ + (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \ + fi; \ +- if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \ +- (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \ +- fi; \ + $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \ +- $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \ +- $$(SHA1SUM) -c --status $$@.sha1 || \ +- ( \ +- rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \ +- echo "Bad checksum: $$@" 1>&2; \ +- exit 1; \ +- ) || exit 1; \ + fi + else + $(CMD_PREFIX) \ +-- +2.7.4 + diff --git a/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch new file mode 100644 index 0000000000..d82f5084ef --- /dev/null +++ b/package/asterisk/0002-configure-fix-detection-of-libcrypt.patch @@ -0,0 +1,43 @@ +From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Tue, 27 Dec 2016 11:21:57 +0100 +Subject: [PATCH] configure: fix detection of libcrypt + +The crypt() function is searched in two locations: -lcrypt and the +standard C library. + +The result of the former is stored in the LIBCRYPT 'scheme' while that +of the latter is stored in the 'SYSCRYPT' scheme. + +However, the check for mandatory modules looks at the CRYPT 'scheme', +and thus concludes that crypt is missing when it was successfully found. + +Fix that by also storing the result of either check in the 'CRYPT' +scheme. + +Signed-off-by: "Yann E. MORIN" +--- + configure | 2 ++ + configure.ac | 2 ++ + 2 files changed, 4 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 121dd93..d459ff5 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""]) + if test "x$LIBCRYPT_LIB" != "x" ; then + CRYPT_LIB="$LIBCRYPT_LIB" + CRYPT_INCLUDE="$LIBCRYPT_INCLUDE" ++ PBX_CRYPT=1 + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) + elif test "x$SYSCRYPT" != "x" ; then + CRYPT_LIB="" + CRYPT_INCLUDE="" ++ PBX_CRYPT=1 + AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) + fi + +-- +2.7.4 + diff --git a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch b/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch deleted file mode 100644 index 8412843d13..0000000000 --- a/package/asterisk/0002-sounds-do-not-download-and-check-sha1s.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 3e8a9e9a1c7eae515eb628778c3c8a04338b3bb3 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 27 Dec 2016 11:21:09 +0100 -Subject: [PATCH] sounds: do not download and check sha1s - -To validate the sound archives, the corresponding sha1s are also -downloaded from the same location, and that download is done at install -time. - -However, that poses at least two problems: - - - in Buildroot, we already have validated the downloads with the sha1s - anyway, and trying to download anything at install time is not - always possible (e.g. for off-line builds); - - - since the download scheme is not secured (plain http), a - man-in-the-middle for the sounds will also be able to MITM the - download of the sha1s, so there is absolutely no additional safety - in doing so. - -So we just do without the sha1 download and checks. - -Signed-off-by: "Yann E. MORIN" ---- - sounds/Makefile | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/sounds/Makefile b/sounds/Makefile -index 84d0f45..7a80d56 100644 ---- a/sounds/Makefile -+++ b/sounds/Makefile -@@ -100,17 +100,7 @@ ifneq ($(SOUNDS_CACHE_DIR),) - if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@"; then \ - (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@); \ - fi; \ -- if test ! -f "$$(SOUNDS_CACHE_DIR)/$$@.sha1"; then \ -- (cd "$$(SOUNDS_CACHE_DIR)"; $$(DOWNLOAD) $$(SOUNDS_URL)/$$@.sha1); \ -- fi; \ - $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@" .; \ -- $$(LN) -sf "$$(SOUNDS_CACHE_DIR)/$$@.sha1" .; \ -- $$(SHA1SUM) -c --status $$@.sha1 || \ -- ( \ -- rm -f "$$(SOUNDS_CACHE_DIR)/$$@" "$$(SOUNDS_CACHE_DIR)/$$@.sha1" $$@ $$@.sha1; \ -- echo "Bad checksum: $$@" 1>&2; \ -- exit 1; \ -- ) || exit 1; \ - fi - else - $(CMD_PREFIX) \ --- -2.7.4 - diff --git a/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch new file mode 100644 index 0000000000..20cfc93892 --- /dev/null +++ b/package/asterisk/0003-build-ensure-target-directory-for-modules-exists.patch @@ -0,0 +1,32 @@ +From 933b2554a40f932571bdbdbb5217cda3e35fd61f Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Mon, 27 Nov 2017 12:52:52 +0100 +Subject: [PATCH] build: ensure target directory for modules exists + +Currently, in highly-parallel builds, it is possible that installing +modules fails because the target directory does not exist yet. + +We fix that by instructing $(INSTALL) to create the destination directory +first. + +Signed-off-by: "Yann E. MORIN" +--- + Makefile.moddir_rules | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules +index 59190bece9..b73153a9a5 100644 +--- a/Makefile.moddir_rules ++++ b/Makefile.moddir_rules +@@ -110,7 +110,7 @@ clean:: + + install:: all + @echo "Installing modules from `basename $(CURDIR)`..." +- @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done ++ @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -D -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done + ifneq ($(findstring :,$(XMLSTARLET)$(BASH)),:) + @if [ -f .moduleinfo ] ; then \ + declare -A DISABLED_MODS ;\ +-- +2.11.0 + diff --git a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch b/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch deleted file mode 100644 index d82f5084ef..0000000000 --- a/package/asterisk/0003-configure-fix-detection-of-libcrypt.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 8996503f6c55e55f326ab11c18278954ad7abaf3 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Tue, 27 Dec 2016 11:21:57 +0100 -Subject: [PATCH] configure: fix detection of libcrypt - -The crypt() function is searched in two locations: -lcrypt and the -standard C library. - -The result of the former is stored in the LIBCRYPT 'scheme' while that -of the latter is stored in the 'SYSCRYPT' scheme. - -However, the check for mandatory modules looks at the CRYPT 'scheme', -and thus concludes that crypt is missing when it was successfully found. - -Fix that by also storing the result of either check in the 'CRYPT' -scheme. - -Signed-off-by: "Yann E. MORIN" ---- - configure | 2 ++ - configure.ac | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/configure.ac b/configure.ac -index 121dd93..d459ff5 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2406,10 +2406,12 @@ AC_CHECK_FUNC([crypt], [SYSCRYPT=true], [SYSCRYPT=""]) - if test "x$LIBCRYPT_LIB" != "x" ; then - CRYPT_LIB="$LIBCRYPT_LIB" - CRYPT_INCLUDE="$LIBCRYPT_INCLUDE" -+ PBX_CRYPT=1 - AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) - elif test "x$SYSCRYPT" != "x" ; then - CRYPT_LIB="" - CRYPT_INCLUDE="" -+ PBX_CRYPT=1 - AC_DEFINE([HAVE_CRYPT], [1], [Define to 1 if you have the 'crypt' function.]) - fi - --- -2.7.4 - diff --git a/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch b/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch deleted file mode 100644 index 20cfc93892..0000000000 --- a/package/asterisk/0004-build-ensure-target-directory-for-modules-exists.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 933b2554a40f932571bdbdbb5217cda3e35fd61f Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Mon, 27 Nov 2017 12:52:52 +0100 -Subject: [PATCH] build: ensure target directory for modules exists - -Currently, in highly-parallel builds, it is possible that installing -modules fails because the target directory does not exist yet. - -We fix that by instructing $(INSTALL) to create the destination directory -first. - -Signed-off-by: "Yann E. MORIN" ---- - Makefile.moddir_rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.moddir_rules b/Makefile.moddir_rules -index 59190bece9..b73153a9a5 100644 ---- a/Makefile.moddir_rules -+++ b/Makefile.moddir_rules -@@ -110,7 +110,7 @@ clean:: - - install:: all - @echo "Installing modules from `basename $(CURDIR)`..." -- @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done -+ @for x in $(LOADABLE_MODS:%=%.so); do $(INSTALL) -D -m 755 $$x "$(DESTDIR)$(ASTMODDIR)" ; done - ifneq ($(findstring :,$(XMLSTARLET)$(BASH)),:) - @if [ -f .moduleinfo ] ; then \ - declare -A DISABLED_MODS ;\ --- -2.11.0 - diff --git a/package/asterisk/0004-install-samples-need-the-data-files.patch b/package/asterisk/0004-install-samples-need-the-data-files.patch new file mode 100644 index 0000000000..a9560e82e0 --- /dev/null +++ b/package/asterisk/0004-install-samples-need-the-data-files.patch @@ -0,0 +1,35 @@ +From 05680ea9899c2246c23d11860c2c8e10aa8f80c7 Mon Sep 17 00:00:00 2001 +From: "Yann E. MORIN" +Date: Fri, 1 Dec 2017 11:08:16 +0100 +Subject: [PATCH] install: samples need the data files + +When installing samples, "sample voicemail" is generated from the +already-installed sound files. + +However, when doing the install and the samples at the same time in a +parallel install, it is possible that the sound files are not already +installed at the time we try to generate the voicemail data. + +Ensure the needed dependency. + +Signed-off-by: "Yann E. MORIN" +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index f29c07f680..b58f707b61 100644 +--- a/Makefile ++++ b/Makefile +@@ -779,7 +779,7 @@ adsi: + $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ + done + +-samples: adsi ++samples: adsi datafiles + @echo Installing other config files... + $(call INSTALL_CONFIGS,samples,.sample) + $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX" +-- +2.11.0 + diff --git a/package/asterisk/0005-install-samples-need-the-data-files.patch b/package/asterisk/0005-install-samples-need-the-data-files.patch deleted file mode 100644 index a9560e82e0..0000000000 --- a/package/asterisk/0005-install-samples-need-the-data-files.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 05680ea9899c2246c23d11860c2c8e10aa8f80c7 Mon Sep 17 00:00:00 2001 -From: "Yann E. MORIN" -Date: Fri, 1 Dec 2017 11:08:16 +0100 -Subject: [PATCH] install: samples need the data files - -When installing samples, "sample voicemail" is generated from the -already-installed sound files. - -However, when doing the install and the samples at the same time in a -parallel install, it is possible that the sound files are not already -installed at the time we try to generate the voicemail data. - -Ensure the needed dependency. - -Signed-off-by: "Yann E. MORIN" ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index f29c07f680..b58f707b61 100644 ---- a/Makefile -+++ b/Makefile -@@ -779,7 +779,7 @@ adsi: - $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \ - done - --samples: adsi -+samples: adsi datafiles - @echo Installing other config files... - $(call INSTALL_CONFIGS,samples,.sample) - $(INSTALL) -d "$(DESTDIR)$(ASTSPOOLDIR)/voicemail/default/1234/INBOX" --- -2.11.0 - diff --git a/package/asterisk/0006-build-fix-issues-building-without-ssl.patch b/package/asterisk/0006-build-fix-issues-building-without-ssl.patch deleted file mode 100644 index b02031e5ab..0000000000 --- a/package/asterisk/0006-build-fix-issues-building-without-ssl.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 999e0c17d7e4139d36730752a34fbfde18a4f9f1 Mon Sep 17 00:00:00 2001 -From: Corey Farrell -Date: Sun, 19 Nov 2017 14:52:59 -0500 -Subject: [PATCH] Build: Fix issues building without SSL. - -* Fix conditional in libasteriskssl. -* Use variables produced by configure to link the SSL and uuid libraries - into libasteriskpj.so instead of hard-coding them. - -ASTERISK-27431 - -Change-Id: I3977931fd3ef8c4e4376349ccddb354eb839b58d - -Downloaded from upstream master branch -https://github.com/asterisk/asterisk/commit/999e0c17d7e4139d36730752a34fbfde18a4f9f1 - -Signed-off-by: Bernd Kuhls ---- - main/Makefile | 4 ++-- - main/libasteriskssl.c | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/main/Makefile b/main/Makefile -index 08d1f65580e..c724e2012b0 100644 ---- a/main/Makefile -+++ b/main/Makefile -@@ -273,7 +273,7 @@ endif - - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTLDFLAGS+=-Wl,-soname=$(ASTPJ_LIB).$(ASTPJ_SO_VERSION) $(PJ_LDFLAGS) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" -DAST_NOT_MODULE $(PJ_CFLAGS) --$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB).$(ASTPJ_SO_VERSION): LIBS+=$(PJPROJECT_LDLIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - ifeq ($(GNU_LD),1) - $(ASTPJ_LIB).$(ASTPJ_SO_VERSION): SO_SUPPRESS_SYMBOLS=-Wl,--version-script,libasteriskpj.exports,--warn-common - endif -@@ -298,7 +298,7 @@ ASTPJ_LIB:=libasteriskpj.dylib - # /lib or /usr/lib - $(ASTPJ_LIB): _ASTLDFLAGS+=-dynamiclib -install_name $(ASTLIBDIR)/$(ASTPJ_LIB) $(PJ_LDFLAGS) - $(ASTPJ_LIB): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" $(PJ_CFLAGS) -DAST_NOT_MODULE --$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) -lssl -lcrypto -luuid -lm -lpthread $(RT_LIB) -+$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) - $(ASTPJ_LIB): SOLINK=$(DYLINK) - - # Special rules for building a shared library (not a dynamically loadable module) -diff --git a/main/libasteriskssl.c b/main/libasteriskssl.c -index 8b19e247da9..e2e256f8ffe 100644 ---- a/main/libasteriskssl.c -+++ b/main/libasteriskssl.c -@@ -37,7 +37,7 @@ - #endif - - #if defined(HAVE_OPENSSL) && \ -- !defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) -+ (!defined(OPENSSL_VERSION_NUMBER) || OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)) - - #include - diff --git a/package/asterisk/0007-res_srtp-Add-support-for-libsrtp2-with-AES-GCM.patch b/package/asterisk/0007-res_srtp-Add-support-for-libsrtp2-with-AES-GCM.patch deleted file mode 100644 index 65ebe06582..0000000000 --- a/package/asterisk/0007-res_srtp-Add-support-for-libsrtp2-with-AES-GCM.patch +++ /dev/null @@ -1,171 +0,0 @@ -From 95b45d1c46b35232ee0b9bdb3135b080c164c7c6 Mon Sep 17 00:00:00 2001 -From: Alexander Traud -Date: Wed, 18 Oct 2017 10:30:25 +0200 -Subject: [PATCH] res_srtp: Add support for libsrtp2 with AES-GCM. - -Beside allowing AES-GCM again, this adds AES-192 again. - -ASTERISK-27356 - -Change-Id: Ia97a435faf26300335d9552fa676b5d17e5f7233 -[yann.morin.1998@free.fr: backport from upstream] -Signed-off-by: "Yann E. MORIN" ---- - configure | 104 +++++++++++++++++++++++++++++++++++++++++++++++++ - configure.ac | 1 + - res/srtp/srtp_compat.h | 12 ++++++ - 3 files changed, 117 insertions(+) - -diff --git a/configure b/configure -index 59bc3b10b1..588fbfd0be 100755 ---- a/configure -+++ b/configure -@@ -33793,6 +33793,110 @@ fi - - - -+if test "x${PBX_SRTP_192}" != "x1" -a "${USE_SRTP_192}" != "no"; then -+ pbxlibdir="" -+ # if --with-SRTP_192=DIR has been specified, use it. -+ if test "x${SRTP_192_DIR}" != "x"; then -+ if test -d ${SRTP_192_DIR}/lib; then -+ pbxlibdir="-L${SRTP_192_DIR}/lib" -+ else -+ pbxlibdir="-L${SRTP_192_DIR}" -+ fi -+ fi -+ pbxfuncname="srtp_crypto_policy_set_aes_cm_192_hmac_sha1_80" -+ if test "x${pbxfuncname}" = "x" ; then # empty lib, assume only headers -+ AST_SRTP_192_FOUND=yes -+ else -+ ast_ext_lib_check_save_CFLAGS="${CFLAGS}" -+ CFLAGS="${CFLAGS} " -+ as_ac_Lib=`$as_echo "ac_cv_lib_srtp2_${pbxfuncname}" | $as_tr_sh` -+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${pbxfuncname} in -lsrtp2" >&5 -+$as_echo_n "checking for ${pbxfuncname} in -lsrtp2... " >&6; } -+if eval \${$as_ac_Lib+:} false; then : -+ $as_echo_n "(cached) " >&6 -+else -+ ac_check_lib_save_LIBS=$LIBS -+LIBS="-lsrtp2 ${pbxlibdir} $LIBS" -+cat confdefs.h - <<_ACEOF >conftest.$ac_ext -+/* end confdefs.h. */ -+ -+/* Override any GCC internal prototype to avoid an error. -+ Use char because int might match the return type of a GCC -+ builtin and then its argument prototype would still apply. */ -+#ifdef __cplusplus -+extern "C" -+#endif -+char ${pbxfuncname} (); -+int -+main () -+{ -+return ${pbxfuncname} (); -+ ; -+ return 0; -+} -+_ACEOF -+if ac_fn_c_try_link "$LINENO"; then : -+ eval "$as_ac_Lib=yes" -+else -+ eval "$as_ac_Lib=no" -+fi -+rm -f core conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext -+LIBS=$ac_check_lib_save_LIBS -+fi -+eval ac_res=\$$as_ac_Lib -+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -+$as_echo "$ac_res" >&6; } -+if eval test \"x\$"$as_ac_Lib"\" = x"yes"; then : -+ AST_SRTP_192_FOUND=yes -+else -+ AST_SRTP_192_FOUND=no -+fi -+ -+ CFLAGS="${ast_ext_lib_check_save_CFLAGS}" -+ fi -+ -+ # now check for the header. -+ if test "${AST_SRTP_192_FOUND}" = "yes"; then -+ SRTP_192_LIB="${pbxlibdir} -lsrtp2 " -+ # if --with-SRTP_192=DIR has been specified, use it. -+ if test "x${SRTP_192_DIR}" != "x"; then -+ SRTP_192_INCLUDE="-I${SRTP_192_DIR}/include" -+ fi -+ SRTP_192_INCLUDE="${SRTP_192_INCLUDE} " -+ if test "x" = "x" ; then # no header, assume found -+ SRTP_192_HEADER_FOUND="1" -+ else # check for the header -+ ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}" -+ CPPFLAGS="${CPPFLAGS} ${SRTP_192_INCLUDE}" -+ ac_fn_c_check_header_mongrel "$LINENO" "" "ac_cv_header_" "$ac_includes_default" -+if test "x$ac_cv_header_" = xyes; then : -+ SRTP_192_HEADER_FOUND=1 -+else -+ SRTP_192_HEADER_FOUND=0 -+fi -+ -+ -+ CPPFLAGS="${ast_ext_lib_check_saved_CPPFLAGS}" -+ fi -+ if test "x${SRTP_192_HEADER_FOUND}" = "x0" ; then -+ SRTP_192_LIB="" -+ SRTP_192_INCLUDE="" -+ else -+ if test "x${pbxfuncname}" = "x" ; then # only checking headers -> no library -+ SRTP_192_LIB="" -+ fi -+ PBX_SRTP_192=1 -+ cat >>confdefs.h <<_ACEOF -+#define HAVE_SRTP_192 1 -+_ACEOF -+ -+ fi -+ fi -+fi -+ -+ -+ - if test "x${PBX_SRTP_GCM}" != "x1" -a "${USE_SRTP_GCM}" != "no"; then - pbxlibdir="" - # if --with-SRTP_GCM=DIR has been specified, use it. -diff --git a/configure.ac b/configure.ac -index 9f95786e11..c729b94aba 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2520,6 +2520,7 @@ AST_EXT_LIB_CHECK_SHARED([SRTP], [srtp2], [srtp_init], [srtp2/srtp.h], [], [], [ - if test "x$PBX_SRTP" = x1; - then - AST_EXT_LIB_CHECK([SRTP_256], [srtp2], [srtp_crypto_policy_set_aes_cm_256_hmac_sha1_80]) -+ AST_EXT_LIB_CHECK([SRTP_192], [srtp2], [srtp_crypto_policy_set_aes_cm_192_hmac_sha1_80]) - AST_EXT_LIB_CHECK([SRTP_GCM], [srtp2], [srtp_crypto_policy_set_aes_gcm_128_8_auth]) - AST_EXT_LIB_CHECK([SRTP_SHUTDOWN], [srtp2], [srtp_shutdown], [srtp2/srtp.h]) - -diff --git a/res/srtp/srtp_compat.h b/res/srtp/srtp_compat.h -index 56ffca1cc2..dbd8ddee0f 100644 ---- a/res/srtp/srtp_compat.h -+++ b/res/srtp/srtp_compat.h -@@ -16,6 +16,18 @@ - #define crypto_policy_set_aes_gcm_128_8_auth srtp_crypto_policy_set_aes_gcm_128_8_auth - #define crypto_policy_set_aes_gcm_256_8_auth srtp_crypto_policy_set_aes_gcm_256_8_auth - -+#if defined(SRTP_AES_GCM_128_KEY_LEN_WSALT) -+#define AES_128_GCM_KEYSIZE_WSALT SRTP_AES_GCM_128_KEY_LEN_WSALT -+#else -+#define AES_128_GCM_KEYSIZE_WSALT SRTP_AES_128_GCM_KEYSIZE_WSALT -+#endif -+ -+#if defined(SRTP_AES_GCM_256_KEY_LEN_WSALT) -+#define AES_256_GCM_KEYSIZE_WSALT SRTP_AES_GCM_256_KEY_LEN_WSALT -+#else -+#define AES_256_GCM_KEYSIZE_WSALT SRTP_AES_256_GCM_KEYSIZE_WSALT -+#endif -+ - #define err_status_t srtp_err_status_t - #define err_status_ok srtp_err_status_ok - #define err_status_fail srtp_err_status_fail --- -2.14.1 - diff --git a/package/asterisk/Config.in b/package/asterisk/Config.in index 17ac22bfd4..cfea181026 100644 --- a/package/asterisk/Config.in +++ b/package/asterisk/Config.in @@ -3,11 +3,14 @@ config BR2_PACKAGE_ASTERISK # Uses glibc resolver function res_nsearch() depends on BR2_TOOLCHAIN_USES_GLIBC depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_USE_MMU # libedit + depends on BR2_USE_WCHAR # libedit select BR2_PACKAGE_JANSSON select BR2_PACKAGE_LIBCURL + select BR2_PACKAGE_LIBEDIT select BR2_PACKAGE_LIBILBC select BR2_PACKAGE_LIBXML2 - select BR2_PACKAGE_NCURSES select BR2_PACKAGE_SQLITE select BR2_PACKAGE_UTIL_LINUX select BR2_PACKAGE_UTIL_LINUX_LIBUUID @@ -22,5 +25,7 @@ config BR2_PACKAGE_ASTERISK http://www.asterisk.org/ -comment "asterisk needs a glibc toolchain w/ C++" - depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP +comment "asterisk needs a glibc toolchain w/ C++, dynamic library, wchar" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP \ + || BR2_STATIC_LIBS || !BR2_USE_WCHAR diff --git a/package/asterisk/asterisk.hash b/package/asterisk/asterisk.hash index 2449aeb4d1..4b3a087ec5 100644 --- a/package/asterisk/asterisk.hash +++ b/package/asterisk/asterisk.hash @@ -1,15 +1,15 @@ # Locally computed -sha256 41c99bd2236af95d056e15f9d044c28b69e00935e67791b18fa70b0614402012 asterisk-14.7.8.tar.gz +sha256 54f8b172fa41cb7d4450c12666a8f9716ed7ba7391c54d3467c64772f6399d67 asterisk-16.0.0.tar.gz # sha1 from: http://downloads.asterisk.org/pub/telephony/sounds/releases # sha256 locally computed -sha1 65ee068462c6645ed14a28d6b34eb0e9aa7a6c8d asterisk-core-sounds-en-gsm-1.5.tar.gz -sha256 8d1118c6e0a0c614fafe297e3789f924ef5b04285cf6a8cffb8501dfcf5bbf07 asterisk-core-sounds-en-gsm-1.5.tar.gz +sha1 721c512feaea102700d5bdce952fdc0bb29dc640 asterisk-core-sounds-en-gsm-1.6.1.tar.gz +sha256 d79c3d2044d41da8f363c447dfccc140be86b4fcc41b1ca5a60a80da52f24f2d asterisk-core-sounds-en-gsm-1.6.1.tar.gz sha1 f40fd6ea03dfe8d72ada2540b2288bfdc006381d asterisk-moh-opsound-wav-2.03.tar.gz sha256 449fb810d16502c3052fedf02f7e77b36206ac5a145f3dacf4177843a2fcb538 asterisk-moh-opsound-wav-2.03.tar.gz # License files, locally computed sha256 82af40ed7f49c08685360811993d9396320842f021df828801d733e8fdc0312f COPYING sha256 ac5571f00e558e3b7c9b3f13f421b874cc12cf4250c4f70094c71544cf486312 main/sha1.c -sha256 0fcdb946955d20c2819a51f3fe613d8f22da2ea793bd50acb30ce156499acc88 codecs/speex/speex_resampler.h -sha256 e6e7b7204d34a3dcdf17389a9c8cf64721ec0d15a797fd51c8c1ed8517cc3038 utils/db1-ast/include/db.h +sha256 309462c10e84f46bda22032ebe6359f3e9e3e23afcf1fc2aaed5b59daf800d84 codecs/speex/speex_resampler.h +sha256 1ca2c7a7a1ae7ccd75212a8c1e85dd9ec92bdbc9170aafd97ea60459387755fd utils/db1-ast/include/db.h diff --git a/package/asterisk/asterisk.mk b/package/asterisk/asterisk.mk index 6de498ed07..eb663a75bf 100644 --- a/package/asterisk/asterisk.mk +++ b/package/asterisk/asterisk.mk @@ -4,14 +4,14 @@ # ################################################################################ -ASTERISK_VERSION = 14.7.8 +ASTERISK_VERSION = 16.0.0 # Use the github mirror: it's an official mirror maintained by Digium, and # provides tarballs, which the main Asterisk git tree (behind Gerrit) does not. ASTERISK_SITE = $(call github,asterisk,asterisk,$(ASTERISK_VERSION)) ASTERISK_SOUNDS_BASE_URL = http://downloads.asterisk.org/pub/telephony/sounds/releases ASTERISK_EXTRA_DOWNLOADS = \ - $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.5.tar.gz \ + $(ASTERISK_SOUNDS_BASE_URL)/asterisk-core-sounds-en-gsm-1.6.1.tar.gz \ $(ASTERISK_SOUNDS_BASE_URL)/asterisk-moh-opsound-wav-2.03.tar.gz ASTERISK_LICENSE = GPL-2.0, BSD-3c (SHA1, resample), BSD-4c (db1-ast) @@ -21,7 +21,7 @@ ASTERISK_LICENSE_FILES = \ codecs/speex/speex_resampler.h \ utils/db1-ast/include/db.h -# For patches 0001, 0003 and 0004 +# For patches 0002 and 0003 ASTERISK_AUTORECONF = YES ASTERISK_AUTORECONF_OPTS = -Iautoconf -Ithird-party -Ithird-party/pjproject @@ -29,8 +29,8 @@ ASTERISK_DEPENDENCIES = \ host-asterisk \ jansson \ libcurl \ + libedit \ libxml2 \ - ncurses \ sqlite \ util-linux @@ -54,7 +54,6 @@ ASTERISK_CONF_OPTS = \ --without-curses \ --without-gtk2 \ --without-gmime \ - --without-h323 \ --without-hoard \ --without-iconv \ --without-iksemel \ @@ -67,7 +66,6 @@ ASTERISK_CONF_OPTS = \ --without-kqueue \ --without-libedit \ --without-libxslt \ - --without-ltdl \ --without-lua \ --without-misdn \ --without-mysqlclient \ @@ -79,8 +77,8 @@ ASTERISK_CONF_OPTS = \ --without-oss \ --without-postgres \ --without-pjproject \ + --without-pjproject-bundled \ --without-popt \ - --without-pwlib \ --without-resample \ --without-sdl \ --without-SDL_image \ @@ -99,7 +97,7 @@ ASTERISK_CONF_OPTS = \ --with-libcurl \ --with-ilbc \ --with-libxml2 \ - --with-ncurses="$(STAGING_DIR)/usr" \ + --with-libedit="$(STAGING_DIR)/usr" \ --with-sqlite3="$(STAGING_DIR)/usr" \ --with-sounds-cache=$(ASTERISK_DL_DIR) @@ -110,8 +108,14 @@ ASTERISK_CONF_OPTS = \ ASTERISK_CONF_OPTS += --without-avcodec ASTERISK_CONF_ENV = \ + ac_cv_file_bridges_bridge_softmix_include_hrirs_h=true \ ac_cv_path_CONFIG_LIBXML2=$(STAGING_DIR)/usr/bin/xml2-config +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_CONF_ENV += LIBS="-latomic" +endif + ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y) ASTERISK_CONF_OPTS += --with-execinfo else @@ -272,6 +276,11 @@ ASTERISK_DIRS = \ ASTERISK_MAKE_OPTS = $(ASTERISK_DIRS) +# Uses __atomic_fetch_add_4 +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ASTERISK_MAKE_OPTS += ASTLDFLAGS="-latomic" +endif + # We want to install sample configuration files, too. ASTERISK_INSTALL_TARGET_OPTS = \ $(ASTERISK_DIRS) \