Merge pull request #396 from dhewg/pull/asterisk

asterisk updates
This commit is contained in:
Jiri Slachta 2018-12-17 07:29:03 +01:00 committed by GitHub
commit cf4cc85442
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
14 changed files with 61 additions and 123 deletions

View file

@ -10,12 +10,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pjproject
PKG_VERSION:=2.7.2
PKG_RELEASE:=3
PKG_VERSION:=2.8
PKG_RELEASE:=1
PKG_SOURCE:=pjproject-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.pjsip.org/release/$(PKG_VERSION)
PKG_HASH:=9c2c828abab7626edf18e04b041ef274bfaa86f99adf2c25ff56f1509e813772
PKG_HASH:=503d0bd7f9f13dc1492ac9b71b761b1089851fbb608b9a13996edc3c42006f79
PKG_INSTALL:=1
PKG_FIXUP:=autoreconf
@ -74,7 +74,6 @@ CONFIGURE_ARGS+= \
--disable-opencore-amr \
--disable-openh264 \
--disable-opus \
--disable-oss \
--disable-resample \
--disable-sdl \
--disable-silk \

View file

@ -1,6 +1,6 @@
--- pjproject-2.6/pjlib/src/pj/os_core_unix.c 2016-04-13 08:24:48.000000000 +0200
+++ pjproject-new/pjlib/src/pj/os_core_unix.c 2017-05-08 09:51:49.980905420 +0200
@@ -1123,7 +1123,7 @@ static pj_status_t init_mutex(pj_mutex_t
--- a/pjlib/src/pj/os_core_unix.c
+++ b/pjlib/src/pj/os_core_unix.c
@@ -1139,7 +1139,7 @@ static pj_status_t init_mutex(pj_mutex_t
return PJ_RETURN_OS_ERROR(rc);
if (type == PJ_MUTEX_SIMPLE) {
@ -9,7 +9,7 @@
defined(PJ_HAS_PTHREAD_MUTEXATTR_SETTYPE)
rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL);
#elif (defined(PJ_RTEMS) && PJ_RTEMS!=0) || \
@@ -1133,7 +1133,7 @@ static pj_status_t init_mutex(pj_mutex_t
@@ -1149,7 +1149,7 @@ static pj_status_t init_mutex(pj_mutex_t
rc = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_NORMAL);
#endif
} else {

View file

@ -1,6 +1,6 @@
--- a/build.mak.in
+++ b/build.mak.in
@@ -293,7 +293,6 @@ export APP_LDLIBS := $(PJSUA_LIB_LDLIB)
@@ -292,7 +292,6 @@ export APP_LDLIBS := $(PJSUA_LIB_LDLIB)
$(PJLIB_LDLIB) \
@LIBS@
export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \

View file

@ -0,0 +1,35 @@
From 42e5ee52e1113d24b7125e29669022c35e87693f Mon Sep 17 00:00:00 2001
From: Sauw Ming <ming@teluu.com>
Date: Wed, 26 Sep 2018 00:56:51 +0000
Subject: [PATCH] Re #2147 (misc): Fixed build error of undefined reference to
`pjmedia_srtp_enum_crypto' if PJMEDIA_HAS_SRTP is disabled.
Thanks to Alexei Gradinari for the patch
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5891 74dad513-b988-da41-8d7b-12977e46ad98
---
pjsip/src/pjsua2/endpoint.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/pjsip/src/pjsua2/endpoint.cpp
+++ b/pjsip/src/pjsua2/endpoint.cpp
@@ -2145,14 +2145,16 @@ void Endpoint::resetVideoCodecParam(cons
*/
StringVector Endpoint::srtpCryptoEnum() throw(Error)
{
+ StringVector result;
+#if defined(PJMEDIA_HAS_SRTP) && (PJMEDIA_HAS_SRTP != 0)
unsigned cnt = PJMEDIA_SRTP_MAX_CRYPTOS;
pjmedia_srtp_crypto cryptos[PJMEDIA_SRTP_MAX_CRYPTOS];
- StringVector result;
PJSUA2_CHECK_EXPR(pjmedia_srtp_enum_crypto(&cnt, cryptos));
for (unsigned i = 0; i < cnt; ++i)
result.push_back(pj2Str(cryptos[i].name));
+#endif
return result;
}

View file

@ -10,12 +10,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=asterisk13
PKG_VERSION:=13.23.1
PKG_VERSION:=13.24.0
PKG_RELEASE:=1
PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/asterisk/releases
PKG_HASH:=c772acbfdddb9250bfe07f7e20a7efb6a79a6c123832727429486c78d44fc78c
PKG_HASH:=0ad7761acec4deaf8f157a33f8636995b9179b8462022f42577978ae31383fd8
PKG_BUILD_DIR:=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=libxml2/host

View file

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1016,19 +1016,6 @@ AC_LINK_IFELSE(
@@ -1030,19 +1030,6 @@ AC_LINK_IFELSE(
]
)

View file

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1363,7 +1363,6 @@ AC_LINK_IFELSE(
@@ -1377,7 +1377,6 @@ AC_LINK_IFELSE(
#include <resolv.h>],
[int foo = res_ninit(NULL);])],
AC_MSG_RESULT(yes)

View file

@ -26,8 +26,8 @@
+#define AST_LOCK_TRACK_INIT_VALUE { { NULL }, { 0 }, 0, { NULL }, { 0 }, PTHREAD_MUTEX_INIT_VALUE }
+#endif
#define AST_MUTEX_INIT_VALUE { PTHREAD_MUTEX_INIT_VALUE, NULL, 1 }
#define AST_MUTEX_INIT_VALUE_NOTRACKING { PTHREAD_MUTEX_INIT_VALUE, NULL, 0 }
#define AST_MUTEX_INIT_VALUE { PTHREAD_MUTEX_INIT_VALUE, NULL, {1, 0} }
#define AST_MUTEX_INIT_VALUE_NOTRACKING { PTHREAD_MUTEX_INIT_VALUE, NULL, {0, 0} }
@@ -114,9 +120,11 @@ struct ast_lock_track {
int reentrancy;
const char *func[AST_MAX_REENTRANCY];
@ -40,7 +40,7 @@
pthread_mutex_t reentr_mutex;
};
@@ -241,6 +249,7 @@ enum ast_lock_type {
@@ -264,6 +272,7 @@ enum ast_lock_type {
* on the lock. ast_mark_lock_acquired() will mark it as held by this thread.
*/
#if !defined(LOW_MEMORY)
@ -48,7 +48,7 @@
#ifdef HAVE_BKTR
void ast_store_lock_info(enum ast_lock_type type, const char *filename,
int line_num, const char *func, const char *lock_name, void *lock_addr, struct ast_bt *bt);
@@ -248,14 +257,22 @@ void ast_store_lock_info(enum ast_lock_t
@@ -271,14 +280,22 @@ void ast_store_lock_info(enum ast_lock_t
void ast_store_lock_info(enum ast_lock_type type, const char *filename,
int line_num, const char *func, const char *lock_name, void *lock_addr);
#endif /* HAVE_BKTR */
@ -71,7 +71,7 @@
#endif /* !defined(LOW_MEMORY) */
/*!
@@ -283,19 +300,27 @@ void ast_mark_lock_failed(void *lock_add
@@ -306,19 +323,27 @@ void ast_mark_lock_failed(void *lock_add
* be removed from the current thread's lock info struct.
*/
#if !defined(LOW_MEMORY)

View file

@ -10,7 +10,7 @@
kfreebsd*-gnu)
OSARCH=kfreebsd-gnu
;;
@@ -1495,9 +1498,11 @@ AST_EXT_LIB_CHECK([BFD], [bfd], [bfd_ope
@@ -1509,9 +1512,11 @@ AST_EXT_LIB_CHECK([BFD], [bfd], [bfd_ope
# openSUSE requires -lz
AST_EXT_LIB_CHECK([BFD], [bfd], [bfd_openr], [bfd.h], [-ldl -liberty -lz])

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=asterisk15
PKG_VERSION:=15.6.1
PKG_RELEASE:=2
PKG_VERSION:=15.7.0
PKG_RELEASE:=1
PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/asterisk/releases
PKG_HASH:=9cb86585fb4efcd86423fa7586e55d9d3c74fda43a2e0b1b9c9eb3742df73155
PKG_HASH:=dbd33860b82fc36883eaa110f707f8c06345cbf2c1433d1c59247d4ae038fad9
PKG_BUILD_DIR:=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=libxml2/host
@ -273,6 +273,7 @@ MODULES_AVAILABLE:= \
res-pjproject \
res-pktccops \
res-realtime \
res-remb-modifier \
res-resolver-unbound \
res-rtp-asterisk \
res-rtp-multicast \
@ -974,6 +975,7 @@ $(eval $(call BuildAsterisk15Module,res-pjsip-phoneprov,PJSIP Phone Provisioning
$(eval $(call BuildAsterisk15Module,res-pjproject,Bridge PJPROJECT to Asterisk logging,,+libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp2,pjproject.conf,res_pjproject,,))
$(eval $(call BuildAsterisk15Module,res-pktccops,PktcCOPS manager for MGCP,PacketCable MGCP variation / NCS,,res_pktccops.conf,res_pktccops,,))
$(eval $(call BuildAsterisk15Module,res-realtime,RealTime CLI,RealTime CLI,,,res_realtime,,))
$(eval $(call BuildAsterisk15Module,res-remb-modifier,REMB modifier,REMB modifier,,,res_remb_modifier,,))
$(eval $(call BuildAsterisk15Module,res-resolver-unbound,Unbound DNS resolver,Unbound DNS resolver,+libunbound,resolver_unbound.conf,res_resolver_unbound,,))
$(eval $(call BuildAsterisk15Module,res-rtp-asterisk,RTP stack,Supports RTP and RTCP with Symmetric RTP support for NAT traversal,+libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,rtp.conf,res_rtp_asterisk,,))
$(eval $(call BuildAsterisk15Module,res-rtp-multicast,RTP multicast engine,Multicast RTP Engine,,,res_rtp_multicast,,))

View file

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1048,19 +1048,6 @@ AC_LINK_IFELSE(
@@ -1062,19 +1062,6 @@ AC_LINK_IFELSE(
]
)

View file

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1395,7 +1395,6 @@ AC_LINK_IFELSE(
@@ -1409,7 +1409,6 @@ AC_LINK_IFELSE(
#include <resolv.h>],
[int foo = res_ninit(NULL);])],
AC_MSG_RESULT(yes)

View file

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -2790,7 +2790,7 @@ else
@@ -2809,7 +2809,7 @@ else
fi
# conf_bridge (binaural rendering): check if HRIRs are available

View file

@ -1,98 +0,0 @@
From ae857488d97f94535d7c4dbe6049ddcc211bcf32 Mon Sep 17 00:00:00 2001
From: George Joseph <gjoseph@digium.com>
Date: Thu, 25 Oct 2018 09:25:58 -0600
Subject: [PATCH] AST-2018-010: Fix length of buffer needed for SRV and NAPTR results
When dn_expand was being called on SRV and NAPTR results, the
return value was being used to calculate the size of the buffer
needed to store the host names. Since dn_expand returns the
length of the COMPRESSED name the buffer could be too short
to hold the EXPANDED name. The expanded name is NULL terminated
so using strlen() is the correct way to determine the length
actually needed for the buffer.
ASTERISK-28127
Reported by: Jan Hoffmann
patches:
patch.diff submitted by janhoffmann (license 6986)
Change-Id: I4d35d6c431c6c6836cb61d37b1378cc47f0b414d
---
diff --git a/main/dns_naptr.c b/main/dns_naptr.c
index 5490b55..4d67816 100644
--- a/main/dns_naptr.c
+++ b/main/dns_naptr.c
@@ -393,6 +393,7 @@
int replacement_size;
const char *end_of_record;
enum flags_result flags_res;
+ size_t naptr_len;
ptr = dns_find_record(data, size, query->result->answer, query->result->answer_size);
ast_assert(ptr != NULL);
@@ -435,7 +436,14 @@
return NULL;
}
- replacement_size = dn_expand((unsigned char *)query->result->answer, (unsigned char *) end_of_record, (unsigned char *) ptr, replacement, sizeof(replacement) - 1);
+ /*
+ * The return value from dn_expand represents the size of the replacement
+ * in the buffer which MAY be compressed. Since the expanded replacement
+ * is NULL terminated, you can use strlen() to get the expanded size.
+ */
+ replacement_size = dn_expand((unsigned char *)query->result->answer,
+ (unsigned char *) end_of_record, (unsigned char *) ptr,
+ replacement, sizeof(replacement) - 1);
if (replacement_size < 0) {
ast_log(LOG_ERROR, "Failed to expand domain name: %s\n", strerror(errno));
return NULL;
@@ -475,7 +483,9 @@
return NULL;
}
- naptr = ast_calloc(1, sizeof(*naptr) + size + flags_size + 1 + services_size + 1 + regexp_size + 1 + replacement_size + 1);
+ naptr_len = sizeof(*naptr) + size + flags_size + 1 + services_size + 1
+ + regexp_size + 1 + strlen(replacement) + 1;
+ naptr = ast_calloc(1, naptr_len);
if (!naptr) {
return NULL;
}
diff --git a/main/dns_srv.c b/main/dns_srv.c
index b562e32..e11c84e 100644
--- a/main/dns_srv.c
+++ b/main/dns_srv.c
@@ -73,7 +73,13 @@
return NULL;
}
- host_size = dn_expand((unsigned char *)query->result->answer, (unsigned char *) end_of_record, (unsigned char *) ptr, host, sizeof(host) - 1);
+ /*
+ * The return value from dn_expand represents the size of the replacement
+ * in the buffer which MAY be compressed. Since the expanded replacement
+ * is NULL terminated, you can use strlen() to get the expanded size.
+ */
+ host_size = dn_expand((unsigned char *)query->result->answer,
+ (unsigned char *) end_of_record, (unsigned char *) ptr, host, sizeof(host) - 1);
if (host_size < 0) {
ast_log(LOG_ERROR, "Failed to expand domain name: %s\n", strerror(errno));
return NULL;
@@ -83,7 +89,7 @@
return NULL;
}
- srv = ast_calloc(1, sizeof(*srv) + size + host_size + 1);
+ srv = ast_calloc(1, sizeof(*srv) + size + strlen(host) + 1);
if (!srv) {
return NULL;
}
@@ -94,8 +100,6 @@
srv->host = srv->data + size;
strcpy((char *)srv->host, host); /* SAFE */
- ((char *)srv->host)[host_size] = '\0';
-
srv->generic.data_ptr = srv->data;
return (struct ast_dns_record *)srv;