aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2020-06-19 14:18:21 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2020-06-19 14:18:21 +0000
commit354d2bc6ecf40e0c8bc5eb9073112fad09ee79c9 (patch)
tree6978a4d07de60c5b3fc6d3f72b25829e8987c874
parent1dd99cea1bec808f2947c85ce9c275130a9b0c3a (diff)
downloadports-354d2bc6ecf40e0c8bc5eb9073112fad09ee79c9.tar.gz
ports-354d2bc6ecf40e0c8bc5eb9073112fad09ee79c9.zip
MFH: r539600
Apply patch from upstream to fix regression in chan_dahdi channel variables. Obtainer from: https://issues.asterisk.org/jira/browse/ASTERISK-28955 Approved by: ports-secteam (joneum)
Notes
Notes: svn path=/branches/2020Q2/; revision=539613
-rw-r--r--net/asterisk16/Makefile1
-rw-r--r--net/asterisk16/files/patch-channels-chan_dahdi.c21
2 files changed, 18 insertions, 4 deletions
diff --git a/net/asterisk16/Makefile b/net/asterisk16/Makefile
index f7ce60704a81..e01567056676 100644
--- a/net/asterisk16/Makefile
+++ b/net/asterisk16/Makefile
@@ -2,6 +2,7 @@
PORTNAME= asterisk
PORTVERSION= 16.9.0
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITE_SUBDIR= asterisk/ \
diff --git a/net/asterisk16/files/patch-channels-chan_dahdi.c b/net/asterisk16/files/patch-channels-chan_dahdi.c
index 06be04cc4886..654fcdd47701 100644
--- a/net/asterisk16/files/patch-channels-chan_dahdi.c
+++ b/net/asterisk16/files/patch-channels-chan_dahdi.c
@@ -1,6 +1,6 @@
---- channels/chan_dahdi.c.orig 2018-08-08 16:02:31 UTC
+--- channels/chan_dahdi.c.orig 2020-06-16 14:39:16 UTC
+++ channels/chan_dahdi.c
-@@ -4599,6 +4599,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+@@ -4649,6 +4649,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
return;
}
if (p->echocancel.head.tap_length) {
@@ -9,7 +9,7 @@
#if defined(HAVE_PRI) || defined(HAVE_SS7)
switch (p->sig) {
#if defined(HAVE_PRI)
-@@ -4629,7 +4631,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+@@ -4679,7 +4681,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
break;
}
#endif /* defined(HAVE_PRI) || defined(HAVE_SS7) */
@@ -20,7 +20,7 @@
if (res) {
ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno));
} else {
-@@ -4663,8 +4667,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p)
+@@ -4713,8 +4717,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p)
if (p->echocanon) {
struct dahdi_echocanparams ecp = { .tap_length = 0 };
@@ -31,3 +31,16 @@
if (res)
ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno));
+@@ -18147,8 +18152,10 @@ static int process_dahdi(struct dahdi_chan_conf *confp
+ if ((varval = strchr(varname, '='))) {
+ *varval++ = '\0';
+ if ((tmpvar = ast_variable_new(varname, varval, ""))) {
+- tmpvar->next = confp->chan.vars;
+- confp->chan.vars = tmpvar;
++ if (ast_variable_list_replace(&confp->chan.vars, tmpvar)) {
++ tmpvar->next = confp->chan.vars;
++ confp->chan.vars = tmpvar;
++ }
+ }
+ }
+ }