aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2020-06-19 14:17:15 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2020-06-19 14:17:15 +0000
commit1dd99cea1bec808f2947c85ce9c275130a9b0c3a (patch)
tree85369c1145c34e55358659f684bcf6740248f2b8
parentb9cef10e719d1ff5cd0f15cde9c9027a38e2c38f (diff)
downloadports-1dd99cea1bec808f2947c85ce9c275130a9b0c3a.tar.gz
ports-1dd99cea1bec808f2947c85ce9c275130a9b0c3a.zip
MFH: r539599
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=539612
-rw-r--r--net/asterisk13/Makefile1
-rw-r--r--net/asterisk13/files/patch-channels-chan_dahdi.c21
2 files changed, 18 insertions, 4 deletions
diff --git a/net/asterisk13/Makefile b/net/asterisk13/Makefile
index f927a0671e29..f572bdd02116 100644
--- a/net/asterisk13/Makefile
+++ b/net/asterisk13/Makefile
@@ -2,6 +2,7 @@
PORTNAME= asterisk
PORTVERSION= 13.32.0
+PORTREVISION= 1
CATEGORIES= net
MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
MASTER_SITE_SUBDIR= asterisk/ \
diff --git a/net/asterisk13/files/patch-channels-chan_dahdi.c b/net/asterisk13/files/patch-channels-chan_dahdi.c
index a2ade9ff9a49..e403ea87a28c 100644
--- a/net/asterisk13/files/patch-channels-chan_dahdi.c
+++ b/net/asterisk13/files/patch-channels-chan_dahdi.c
@@ -1,6 +1,6 @@
---- channels/chan_dahdi.c.orig 2017-12-20 19:05:45 UTC
+--- channels/chan_dahdi.c.orig 2020-06-11 08:42:48 UTC
+++ channels/chan_dahdi.c
-@@ -4666,6 +4666,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+@@ -4716,6 +4716,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)
-@@ -4696,7 +4698,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+@@ -4746,7 +4748,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
break;
}
#endif /* defined(HAVE_PRI) || defined(HAVE_SS7) */
@@ -19,7 +19,7 @@
if (res) {
ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno));
} else {
-@@ -4730,8 +4733,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p)
+@@ -4780,8 +4783,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p)
if (p->echocanon) {
struct dahdi_echocanparams ecp = { .tap_length = 0 };
@@ -30,3 +30,16 @@
if (res)
ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno));
+@@ -18271,8 +18275,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;
++ }
+ }
+ }
+ }