asterisk-15.x: update to 15.7.0

Update to the current 15.x release, see [0].
Drop one merged patch and refresh the rest.

There's one new module, res_remb_modifier, add that as a new package.

[0] http://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-15-current

Signed-off-by: Andre Heider <a.heider@gmail.com>
This commit is contained in:
Andre Heider 2018-12-14 17:05:00 +01:00
parent be5fa604ad
commit ef174dc928
5 changed files with 8 additions and 104 deletions

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;