mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-28 09:00:58 +00:00
Compare commits
13 Commits
1.8.17.0-r
...
1.8.14.0
Author | SHA1 | Date | |
---|---|---|---|
|
b25ff8543b | ||
|
6168e979df | ||
|
0644c6f895 | ||
|
1b66250dc4 | ||
|
3a173d884f | ||
|
595096d27d | ||
|
d43fc52806 | ||
|
ffce9d34c8 | ||
|
c4a586778a | ||
|
c94fb8a2c7 | ||
|
1ab1ce7d41 | ||
|
c95cef3d7f | ||
|
d94ec41738 |
3
.lastclean
Normal file
3
.lastclean
Normal file
@@ -0,0 +1,3 @@
|
||||
39
|
||||
|
||||
|
@@ -1758,25 +1758,28 @@ static void free_user(struct ast_vm_user *vmu)
|
||||
static int vm_allocate_dh(struct vm_state *vms, struct ast_vm_user *vmu, int count_msg) {
|
||||
|
||||
int arraysize = (vmu->maxmsg > count_msg ? vmu->maxmsg : count_msg);
|
||||
if (!vms->dh_arraysize) {
|
||||
/* initial allocation */
|
||||
|
||||
/* remove old allocation */
|
||||
if (vms->deleted) {
|
||||
ast_free(vms->deleted);
|
||||
vms->deleted = NULL;
|
||||
}
|
||||
if (vms->heard) {
|
||||
ast_free(vms->heard);
|
||||
vms->heard = NULL;
|
||||
}
|
||||
vms->dh_arraysize = 0;
|
||||
|
||||
if (arraysize > 0) {
|
||||
if (!(vms->deleted = ast_calloc(arraysize, sizeof(int)))) {
|
||||
return -1;
|
||||
}
|
||||
if (!(vms->heard = ast_calloc(arraysize, sizeof(int)))) {
|
||||
ast_free(vms->deleted);
|
||||
vms->deleted = NULL;
|
||||
return -1;
|
||||
}
|
||||
vms->dh_arraysize = arraysize;
|
||||
} else if (vms->dh_arraysize < arraysize) {
|
||||
if (!(vms->deleted = ast_realloc(vms->deleted, arraysize * sizeof(int)))) {
|
||||
return -1;
|
||||
}
|
||||
if (!(vms->heard = ast_realloc(vms->heard, arraysize * sizeof(int)))) {
|
||||
return -1;
|
||||
}
|
||||
memset(vms->deleted, 0, arraysize * sizeof(int));
|
||||
memset(vms->heard, 0, arraysize * sizeof(int));
|
||||
vms->dh_arraysize = arraysize;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -6567,9 +6570,15 @@ static void adsi_message(struct ast_channel *chan, struct vm_state *vms)
|
||||
name = "Unknown Caller";
|
||||
|
||||
/* If deleted, show "undeleted" */
|
||||
|
||||
if (vms->deleted[vms->curmsg])
|
||||
keys[1] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 11);
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_lock(&vms->lock);
|
||||
#endif
|
||||
if (vms->deleted[vms->curmsg]) {
|
||||
keys[1] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 11);
|
||||
}
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_unlock(&vms->lock);
|
||||
#endif
|
||||
|
||||
/* Except "Exit" */
|
||||
keys[5] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 5);
|
||||
@@ -6622,8 +6631,15 @@ static void adsi_delete(struct ast_channel *chan, struct vm_state *vms)
|
||||
}
|
||||
|
||||
/* If deleted, show "undeleted" */
|
||||
if (vms->deleted[vms->curmsg])
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_lock(&vms->lock);
|
||||
#endif
|
||||
if (vms->deleted[vms->curmsg]) {
|
||||
keys[1] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 11);
|
||||
}
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_unlock(&vms->lock);
|
||||
#endif
|
||||
|
||||
/* Except "Exit" */
|
||||
keys[5] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 5);
|
||||
@@ -7805,8 +7821,12 @@ static int play_message(struct ast_channel *chan, struct ast_vm_user *vmu, struc
|
||||
|
||||
if (!res) {
|
||||
make_file(vms->fn, sizeof(vms->fn), vms->curdir, vms->curmsg);
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_lock(&vms->lock);
|
||||
#endif
|
||||
vms->heard[vms->curmsg] = 1;
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_unlock(&vms->lock);
|
||||
/*IMAP storage stores any prepended message from a forward
|
||||
* as a separate file from the rest of the message
|
||||
*/
|
||||
@@ -8021,6 +8041,7 @@ static int close_mailbox(struct vm_state *vms, struct ast_vm_user *vmu)
|
||||
}
|
||||
ast_unlock_path(vms->curdir);
|
||||
#else /* defined(IMAP_STORAGE) */
|
||||
ast_mutex_lock(&vms->lock);
|
||||
if (vms->deleted) {
|
||||
/* Since we now expunge after each delete, deleting in reverse order
|
||||
* ensures that no reordering occurs between each step. */
|
||||
@@ -8035,12 +8056,18 @@ static int close_mailbox(struct vm_state *vms, struct ast_vm_user *vmu)
|
||||
#endif
|
||||
|
||||
done:
|
||||
if (vms->deleted && last_msg_idx) {
|
||||
if (vms->deleted) {
|
||||
ast_free(vms->deleted);
|
||||
vms->deleted = NULL;
|
||||
}
|
||||
if (vms->heard && last_msg_idx) {
|
||||
if (vms->heard) {
|
||||
ast_free(vms->heard);
|
||||
vms->heard = NULL;
|
||||
}
|
||||
vms->dh_arraysize = 0;
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_unlock(&vms->lock);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -9135,14 +9162,25 @@ static int vm_instructions_en(struct ast_channel *chan, struct ast_vm_user *vmu,
|
||||
res = ast_play_and_wait(chan, "vm-next");
|
||||
}
|
||||
if (!res) {
|
||||
if (!vms->deleted[vms->curmsg])
|
||||
int curmsg_deleted;
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_lock(&vms->lock);
|
||||
#endif
|
||||
curmsg_deleted = vms->deleted[vms->curmsg];
|
||||
#ifdef IMAP_STORAGE
|
||||
ast_mutex_unlock(&vms->lock);
|
||||
#endif
|
||||
if (!curmsg_deleted) {
|
||||
res = ast_play_and_wait(chan, "vm-delete");
|
||||
else
|
||||
} else {
|
||||
res = ast_play_and_wait(chan, "vm-undelete");
|
||||
if (!res)
|
||||
}
|
||||
if (!res) {
|
||||
res = ast_play_and_wait(chan, "vm-toforward");
|
||||
if (!res)
|
||||
}
|
||||
if (!res) {
|
||||
res = ast_play_and_wait(chan, "vm-savemessage");
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!res) {
|
||||
@@ -10179,6 +10217,7 @@ static int vm_execmain(struct ast_channel *chan, const char *data)
|
||||
}
|
||||
|
||||
vms.starting = 1;
|
||||
vms.curmsg = 0;
|
||||
break;
|
||||
case '3': /* Advanced options */
|
||||
ast_test_suite_event_notify("ADVOPTIONS", "Message: entering advanced options menu");
|
||||
|
437
asterisk-1.8.14.0-summary.html
Normal file
437
asterisk-1.8.14.0-summary.html
Normal file
@@ -0,0 +1,437 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.8.14.0</title></head>
|
||||
<body>
|
||||
<h1 align="center"><a name="top">Release Summary</a></h1>
|
||||
<h3 align="center">asterisk-1.8.14.0</h3>
|
||||
<h3 align="center">Date: 2012-07-10</h3>
|
||||
<h3 align="center"><asteriskteam@digium.com></h3>
|
||||
<hr/>
|
||||
<h2 align="center">Table of Contents</h2>
|
||||
<ol>
|
||||
<li><a href="#summary">Summary</a></li>
|
||||
<li><a href="#contributors">Contributors</a></li>
|
||||
<li><a href="#issues">Closed Issues</a></li>
|
||||
<li><a href="#commits">Other Changes</a></li>
|
||||
<li><a href="#diffstat">Diffstat</a></li>
|
||||
</ol>
|
||||
<hr/>
|
||||
<a name="summary"><h2 align="center">Summary</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This release includes only bug fixes. The changes included were made only to address problems that have been identified in this release series. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous release series are strongly encouraged to review the UPGRADE.txt document as well as the CHANGES document for information about upgrading to this release series.</p>
|
||||
<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.8.13.0.</p>
|
||||
<hr/>
|
||||
<a name="contributors"><h2 align="center">Contributors</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
|
||||
<table width="100%" border="0">
|
||||
<tr>
|
||||
<td width="33%"><h3>Coders</h3></td>
|
||||
<td width="33%"><h3>Testers</h3></td>
|
||||
<td width="33%"><h3>Reporters</h3></td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<td>
|
||||
17 rmudgett<br/>
|
||||
11 mmichelson<br/>
|
||||
7 mjordan<br/>
|
||||
6 kmoore<br/>
|
||||
4 jrose<br/>
|
||||
3 bebuild<br/>
|
||||
3 Mark<br/>
|
||||
2 may<br/>
|
||||
2 Michael<br/>
|
||||
2 twilson<br/>
|
||||
1 kpfleming<br/>
|
||||
1 Pavel<br/>
|
||||
1 russell<br/>
|
||||
1 Shaun<br/>
|
||||
</td>
|
||||
<td>
|
||||
6 rmudgett<br/>
|
||||
3 Michael L. Young<br/>
|
||||
2 mjordan<br/>
|
||||
1 Alec Davis<br/>
|
||||
1 Chris Maciejewsk<br/>
|
||||
1 Damien Wedhorn<br/>
|
||||
1 Jacek<br/>
|
||||
1 Jaxon<br/>
|
||||
</td>
|
||||
<td>
|
||||
7 mjordan<br/>
|
||||
4 rmudgett<br/>
|
||||
1 alecdavis<br/>
|
||||
1 call<br/>
|
||||
1 chris-mac<br/>
|
||||
1 dalenoll<br/>
|
||||
1 dcunningham<br/>
|
||||
1 deanvesuvio<br/>
|
||||
1 jacek<br/>
|
||||
1 jamicque<br/>
|
||||
1 jaxon<br/>
|
||||
1 kenshin<br/>
|
||||
1 mgrobecker<br/>
|
||||
1 mkuron<br/>
|
||||
1 mmichelson<br/>
|
||||
1 mtryfoss<br/>
|
||||
1 one47<br/>
|
||||
1 patrol-cz<br/>
|
||||
1 sruffell<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr/>
|
||||
<a name="issues"><h2 align="center">Closed Issues</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
|
||||
<h3>Category: Applications/app_dial</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19511">ASTERISK-19511</a>: Dial I option ignored if dial forked and one fork redirects<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367678">367678</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_mp3</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19761">ASTERISK-19761</a>: mp3_read crash<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366296">366296</a><br/>
|
||||
Reporter: chris-mac<br/>
|
||||
Testers: Chris Maciejewsk<br/>
|
||||
Coders: russell<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_queue</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19511">ASTERISK-19511</a>: Dial I option ignored if dial forked and one fork redirects<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367678">367678</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_stack</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19764">ASTERISK-19764</a>: Infinite loop with autoservice when looking for nonexistant extension label.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368308">368308</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_voicemail</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-18243">ASTERISK-18243</a>: VoiceMail application fails to assign some DTMF codes for application exit when using d() option with context<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365474">365474</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Testers: mjordan<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19876">ASTERISK-19876</a>: app_voicemail: make_email_file() sends emails with localized Date header<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368520">368520</a><br/>
|
||||
Reporter: mkuron<br/>
|
||||
Coders: kmoore<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_dahdi</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19671">ASTERISK-19671</a>: Coverity Report: Fix issues for error type REVERSE_NEGATIVE<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366740">366740</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19842">ASTERISK-19842</a>: POTS flashhook transfer causes deadlock<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368644">368644</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19854">ASTERISK-19854</a>: freeze channels showing in core show channels<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367976">367976</a><br/>
|
||||
Reporter: jaxon<br/>
|
||||
Testers: Jaxon<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_iax2</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19597">ASTERISK-19597</a>: Failure to pass NULL data pointer with AST_CONTROL_HOLD frame causes crash when MOH is started<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367781">367781</a><br/>
|
||||
Reporter: mgrobecker<br/>
|
||||
Testers: rmudgett, Michael L. Young<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_local</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19537">ASTERISK-19537</a>: Deadlock potential in ast_do_masquerade() because it calls ast_indicate with the channel lock held.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368405">368405</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19425">ASTERISK-19425</a>: Calls not released after BYE<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365896">365896</a><br/>
|
||||
Reporter: dcunningham<br/>
|
||||
Coders: Mark<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19455">ASTERISK-19455</a>: SIP channels permanently stuck in system after BYE message received<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365896">365896</a><br/>
|
||||
Reporter: deanvesuvio<br/>
|
||||
Coders: Mark<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19597">ASTERISK-19597</a>: Failure to pass NULL data pointer with AST_CONTROL_HOLD frame causes crash when MOH is started<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367781">367781</a><br/>
|
||||
Reporter: mgrobecker<br/>
|
||||
Testers: rmudgett, Michael L. Young<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19827">ASTERISK-19827</a>: Asterisk crash, whenever mwi => pass:user:authuser@host:port/mailbox is set in sip.conf <br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367266">367266</a><br/>
|
||||
Reporter: kenshin<br/>
|
||||
Coders: twilson<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19892">ASTERISK-19892</a>: If Asterisk sends a 481 to an initial INVITE that contained a to-tag, then Asterisk will not recognize the ensuing ACK<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368625">368625</a><br/>
|
||||
Reporter: mmichelson<br/>
|
||||
Coders: mmichelson<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19914">ASTERISK-19914</a>: Incorrect SIP cause to Asterisk cause mapping in chan_sip<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368498">368498</a><br/>
|
||||
Reporter: patrol-cz<br/>
|
||||
Coders: Pavel<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19919">ASTERISK-19919</a>: Incorrect a=inactive when call changes from SIP_PAGE2_CALL_ONHOLD_INACTIVE to SIP_PAGE2_CALL_ONHOLD_ONEDIR<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368586">368586</a><br/>
|
||||
Reporter: mtryfoss<br/>
|
||||
Coders: kmoore<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/Subscriptions</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-16735">ASTERISK-16735</a>: bad dialog-info remote information<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365574">365574</a><br/>
|
||||
Reporter: jamicque<br/>
|
||||
Coders: Mark<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-17866">ASTERISK-17866</a>: [patch] MWI last-msgs-sent is mis-reported<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367362">367362</a><br/>
|
||||
Reporter: one47<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/Transfers</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19856">ASTERISK-19856</a>: Transfer is being denied when global allowtransfer=no, ignoring peer setting<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367730">367730</a><br/>
|
||||
Reporter: jacek<br/>
|
||||
Testers: Michael L. Young, Jacek<br/>
|
||||
Coders: Michael<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_skinny</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19905">ASTERISK-19905</a>: Security Vulnerability: remotely exploitable crash in chan_skinny if client is disconnected when client is not in on-hook state<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367843">367843</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Testers: mjordan, Damien Wedhorn<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<h3>Category: Codecs/codec_dahdi</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19643">ASTERISK-19643</a>: codec_dahdi: Block on frameout if the hardware has enough samples to complete a frame.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365989">365989</a><br/>
|
||||
Reporter: sruffell<br/>
|
||||
Coders: Shaun<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/Channels</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19537">ASTERISK-19537</a>: Deadlock potential in ast_do_masquerade() because it calls ast_indicate with the channel lock held.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368405">368405</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/PBX</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-16711">ASTERISK-16711</a>: [patch] Exceptionally long queue length queuing to XXXXX<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365313">365313</a><br/>
|
||||
Reporter: alecdavis<br/>
|
||||
Testers: rmudgett, Alec Davis<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Features/Parking</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19875">ASTERISK-19875</a>: Behavior change in BLINDTRANSFER variable such that it is not available at the h extension<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368469">368469</a><br/>
|
||||
Reporter: call<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Functions/func_channel</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19911">ASTERISK-19911</a>: echocan_mode not documented<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368092">368092</a><br/>
|
||||
Reporter: dalenoll<br/>
|
||||
Testers: Michael L. Young<br/>
|
||||
Coders: Michael<br/>
|
||||
<br/>
|
||||
<h3>Category: General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19649">ASTERISK-19649</a>: Coverity Report: Fix issues for error type CONSTANT_EXPRESSION_RESULT<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366409">366409</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: mmichelson<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19650">ASTERISK-19650</a>: Coverity Report: Fix issues for error type FORWARD_NULL<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366167">366167</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: kmoore<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19654">ASTERISK-19654</a>: Coverity Report: Fix issues for error type NULL_RETURNS<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365398">365398</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: kmoore<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19662">ASTERISK-19662</a>: Coverity Report: Fix issues for error type MISSING_BREAK<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367027">367027</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: mmichelson<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_agi</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19764">ASTERISK-19764</a>: Infinite loop with autoservice when looking for nonexistant extension label.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368308">368308</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_musiconhold</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19597">ASTERISK-19597</a>: Failure to pass NULL data pointer with AST_CONTROL_HOLD frame causes crash when MOH is started<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367781">367781</a><br/>
|
||||
Reporter: mgrobecker<br/>
|
||||
Testers: rmudgett, Michael L. Young<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_realtime</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19597">ASTERISK-19597</a>: Failure to pass NULL data pointer with AST_CONTROL_HOLD frame causes crash when MOH is started<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367781">367781</a><br/>
|
||||
Reporter: mgrobecker<br/>
|
||||
Testers: rmudgett, Michael L. Young<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<hr/>
|
||||
<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
|
||||
<table width="100%" border="1">
|
||||
<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365143">365143</a></td><td>may</td><td>Fix coverity static analysis warning, allocate full ie structure</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19674">ASTERISK-19674</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365159">365159</a></td><td>may</td><td>Fix warning of Coverity Static analysis, change H225ProtocolIdentifier</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19670">ASTERISK-19670</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365298">365298</a></td><td>mmichelson</td><td>Fix core FINDING 2, FINDING 3, and FINDING 4 from Coverity's CONSTANT_EXPRESSION_RESULT report.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19649">ASTERISK-19649</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365460">365460</a></td><td>mmichelson</td><td>Fix findings 0-3, 5, and 8 for Coverity MISSING_BREAK errors.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19662">ASTERISK-19662</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365476">365476</a></td><td>rmudgett</td><td>Fix type punned compiler warning in test_config.c</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365631">365631</a></td><td>rmudgett</td><td>* Fix accept/decline DTMF buffer overwrite in FollowMe.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=365692">365692</a></td><td>rmudgett</td><td>* Fix FollowMe memory leak on error paths in app_exec().</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366048">366048</a></td><td>jrose</td><td>Coverity Report: Fix issues for error type UNINIT in Core supported modules</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19652">ASTERISK-19652</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366052">366052</a></td><td>mmichelson</td><td>Close the proper tcptls_session when session creation fails.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366094">366094</a></td><td>jrose</td><td>Coverity Report: Fix issues for error type CHECKED_RETURN for core</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19658">ASTERISK-19658</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366240">366240</a></td><td>rmudgett</td><td>* Made ast_change_name() hold the channels container lock while changing the channel name.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366389">366389</a></td><td>mmichelson</td><td>Fix broken reinvite glare scenario.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366547">366547</a></td><td>jrose</td><td>chan_sip: Check the right channel's host address for directmediapermit/deny</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366597">366597</a></td><td>mmichelson</td><td>Correct misuse of ast_strip_quoted() when getting a Diversion header's reason parameter.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366650">366650</a></td><td>mmichelson</td><td>Fix incorrect default port number for HTTP server.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366791">366791</a></td><td>jrose</td><td>chan_sip: Fix missed locking of opposing pvt for directmedia acl from r366547</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366880">366880</a></td><td>mjordan</td><td>Fix a variety of memory leaks</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19665">ASTERISK-19665</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366882">366882</a></td><td>kmoore</td><td>Reorder and renumber tests appropriately</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=366944">366944</a></td><td>mjordan</td><td>Fix more memory leaks</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19665">ASTERISK-19665</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367002">367002</a></td><td>mmichelson</td><td>Fix memory leak of SSL_CTX structures in TLS core.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19278">ASTERISK-19278</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367292">367292</a></td><td>twilson</td><td>Fix race condition for CEL LINKEDID_END event</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367416">367416</a></td><td>mmichelson</td><td>Only call SSL_CTX_free if DO_SSL is defined.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367469">367469</a></td><td>rmudgett</td><td>Fix WaitExten(x,m(musicclass)) string termination.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367906">367906</a></td><td>rmudgett</td><td>Coverity Report: Fix issues for error type REVERSE_INULL (deprecated modules)</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19648">ASTERISK-19648</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=367980">367980</a></td><td>rmudgett</td><td>Use the DEADLOCK_AVOIDANCE() macro instead.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19854">ASTERISK-19854</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368039">368039</a></td><td>rmudgett</td><td>Coverity Report: Fix issues for error type REVERSE_INULL (core modules)</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-19648">ASTERISK-19648</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368218">368218</a></td><td>kpfleming</td><td>Improve SDP parsing warning messages</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368533">368533</a></td><td>kmoore</td><td>Resolve some build warnings</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368567">368567</a></td><td>rmudgett</td><td>Fix parked call performing a DTMF blind transfer after being retrieved.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=368604">368604</a></td><td>mjordan</td><td>Add feature modifier to versions produced from branches</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=369685">369685</a></td><td>bebuild</td><td>Create 1.8.14.0-rc2</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=369690">369690</a></td><td>bebuild</td><td>Commit changes for 1.8.14.0-rc2</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=369691">369691</a></td><td>bebuild</td><td>Importing release summary for 1.8.14.0-rc2 release.</td>
|
||||
<td></td></tr></table>
|
||||
<hr/>
|
||||
<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
|
||||
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
|
||||
<pre>
|
||||
.version | 2
|
||||
ChangeLog | 34 +
|
||||
UPGRADE.txt | 6
|
||||
addons/format_mp3.c | 83 +-
|
||||
addons/ooh323c/src/h323/H323-MESSAGES.h | 2
|
||||
addons/ooh323c/src/h323/H323-MESSAGESEnc.c | 44 -
|
||||
addons/ooh323c/src/ooh323.c | 22
|
||||
addons/ooh323c/src/ooq931.c | 2
|
||||
apps/app_chanspy.c | 41 -
|
||||
apps/app_dial.c | 171 ++++-
|
||||
apps/app_disa.c | 7
|
||||
apps/app_followme.c | 108 +--
|
||||
apps/app_meetme.c | 65 +-
|
||||
apps/app_minivm.c | 10
|
||||
apps/app_page.c | 6
|
||||
apps/app_queue.c | 191 ++++--
|
||||
apps/app_record.c | 8
|
||||
apps/app_stack.c | 158 +++--
|
||||
apps/app_voicemail.c | 169 ++++-
|
||||
asterisk-1.8.14.0-rc1-summary.html | 426 --------------
|
||||
asterisk-1.8.14.0-rc1-summary.txt | 558 -------------------
|
||||
asterisk-1.8.14.0-rc2-summary.html | 63 ++
|
||||
asterisk-1.8.14.0-rc2-summary.txt | 92 +++
|
||||
build_tools/make_version | 10
|
||||
channels/chan_agent.c | 18
|
||||
channels/chan_dahdi.c | 34 -
|
||||
channels/chan_iax2.c | 99 ++-
|
||||
channels/chan_local.c | 213 ++++---
|
||||
channels/chan_sip.c | 832 ++++++++++++++++++-----------
|
||||
channels/chan_skinny.c | 48 +
|
||||
channels/iax2-parser.c | 2
|
||||
channels/iax2-provision.c | 6
|
||||
channels/sig_analog.c | 22
|
||||
channels/sig_pri.c | 33 -
|
||||
channels/sig_ss7.c | 32 -
|
||||
channels/sip/config_parser.c | 91 +--
|
||||
channels/sip/include/sip.h | 2
|
||||
channels/sip/reqresp_parser.c | 163 +----
|
||||
codecs/codec_dahdi.c | 33 -
|
||||
funcs/func_aes.c | 4
|
||||
funcs/func_cdr.c | 2
|
||||
funcs/func_channel.c | 20
|
||||
funcs/func_devstate.c | 1
|
||||
funcs/func_dialgroup.c | 1
|
||||
funcs/func_lock.c | 46 +
|
||||
funcs/func_math.c | 4
|
||||
funcs/func_odbc.c | 12
|
||||
funcs/func_speex.c | 14
|
||||
include/asterisk/cel.h | 9
|
||||
include/asterisk/channel.h | 5
|
||||
include/asterisk/tcptls.h | 17
|
||||
main/abstract_jb.c | 1
|
||||
main/acl.c | 6
|
||||
main/app.c | 13
|
||||
main/asterisk.c | 13
|
||||
main/audiohook.c | 2
|
||||
main/cdr.c | 9
|
||||
main/cel.c | 43 -
|
||||
main/channel.c | 383 +++++++------
|
||||
main/cli.c | 10
|
||||
main/config.c | 18
|
||||
main/data.c | 22
|
||||
main/db.c | 2
|
||||
main/db1-ast/btree/bt_open.c | 2
|
||||
main/devicestate.c | 2
|
||||
main/editline/readline.c | 8
|
||||
main/editline/term.c | 16
|
||||
main/editline/tokenizer.c | 9
|
||||
main/enum.c | 3
|
||||
main/event.c | 3
|
||||
main/features.c | 512 ++++++++---------
|
||||
main/http.c | 2
|
||||
main/manager.c | 22
|
||||
main/netsock2.c | 4
|
||||
main/pbx.c | 42 -
|
||||
main/say.c | 3
|
||||
main/tcptls.c | 40 +
|
||||
main/xmldoc.c | 40 -
|
||||
pbx/dundi-parser.c | 22
|
||||
pbx/pbx_config.c | 18
|
||||
pbx/pbx_dundi.c | 2
|
||||
res/ael/ael.flex | 8
|
||||
res/ael/pval.c | 21
|
||||
res/res_agi.c | 1
|
||||
res/res_calendar.c | 14
|
||||
res/res_calendar_caldav.c | 13
|
||||
res/res_calendar_ews.c | 2
|
||||
res/res_calendar_exchange.c | 5
|
||||
res/res_calendar_icalendar.c | 9
|
||||
res/res_config_odbc.c | 8
|
||||
res/res_jabber.c | 1
|
||||
res/res_monitor.c | 4
|
||||
res/res_musiconhold.c | 2
|
||||
res/res_odbc.c | 4
|
||||
res/res_rtp_asterisk.c | 8
|
||||
res/res_speech.c | 8
|
||||
res/res_srtp.c | 4
|
||||
tests/test_config.c | 9
|
||||
98 files changed, 2779 insertions(+), 2655 deletions(-)
|
||||
</pre><br/>
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
573
asterisk-1.8.14.0-summary.txt
Normal file
573
asterisk-1.8.14.0-summary.txt
Normal file
@@ -0,0 +1,573 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-1.8.14.0
|
||||
|
||||
Date: 2012-07-10
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release includes only bug fixes. The changes included were made only
|
||||
to address problems that have been identified in this release series.
|
||||
Users should be able to safely upgrade to this version if this release
|
||||
series is already in use. Users considering upgrading from a previous
|
||||
release series are strongly encouraged to review the UPGRADE.txt document
|
||||
as well as the CHANGES document for information about upgrading to this
|
||||
release series.
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-1.8.13.0.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Contributors
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This table lists the people who have submitted code, those that have
|
||||
tested patches, as well as those that reported issues on the issue tracker
|
||||
that were resolved in this release. For coders, the number is how many of
|
||||
their patches (of any size) were committed into this release. For testers,
|
||||
the number is the number of times their name was listed as assisting with
|
||||
testing a patch. Finally, for reporters, the number is the number of
|
||||
issues that they reported that were closed by commits that went into this
|
||||
release.
|
||||
|
||||
Coders Testers Reporters
|
||||
17 rmudgett 6 rmudgett 7 mjordan
|
||||
11 mmichelson 3 Michael L. Young 4 rmudgett
|
||||
7 mjordan 2 mjordan 1 alecdavis
|
||||
6 kmoore 1 Alec Davis 1 call
|
||||
4 jrose 1 Chris Maciejewsk 1 chris-mac
|
||||
3 bebuild 1 Damien Wedhorn 1 dalenoll
|
||||
3 Mark 1 Jacek 1 dcunningham
|
||||
2 may 1 Jaxon 1 deanvesuvio
|
||||
2 Michael 1 jacek
|
||||
2 twilson 1 jamicque
|
||||
1 kpfleming 1 jaxon
|
||||
1 Pavel 1 kenshin
|
||||
1 russell 1 mgrobecker
|
||||
1 Shaun 1 mkuron
|
||||
1 mmichelson
|
||||
1 mtryfoss
|
||||
1 one47
|
||||
1 patrol-cz
|
||||
1 sruffell
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Closed Issues
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all issues from the issue tracker that were closed by
|
||||
changes that went into this release.
|
||||
|
||||
Category: Applications/app_dial
|
||||
|
||||
ASTERISK-19511: Dial I option ignored if dial forked and one fork
|
||||
redirects
|
||||
Revision: 367678
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Applications/app_mp3
|
||||
|
||||
ASTERISK-19761: mp3_read crash
|
||||
Revision: 366296
|
||||
Reporter: chris-mac
|
||||
Testers: Chris Maciejewsk
|
||||
Coders: russell
|
||||
|
||||
Category: Applications/app_queue
|
||||
|
||||
ASTERISK-19511: Dial I option ignored if dial forked and one fork
|
||||
redirects
|
||||
Revision: 367678
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Applications/app_stack
|
||||
|
||||
ASTERISK-19764: Infinite loop with autoservice when looking for
|
||||
nonexistant extension label.
|
||||
Revision: 368308
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Applications/app_voicemail
|
||||
|
||||
ASTERISK-18243: VoiceMail application fails to assign some DTMF codes for
|
||||
application exit when using d() option with context
|
||||
Revision: 365474
|
||||
Reporter: mjordan
|
||||
Testers: mjordan
|
||||
Coders: mjordan
|
||||
|
||||
ASTERISK-19876: app_voicemail: make_email_file() sends emails with
|
||||
localized Date header
|
||||
Revision: 368520
|
||||
Reporter: mkuron
|
||||
Coders: kmoore
|
||||
|
||||
Category: Channels/chan_dahdi
|
||||
|
||||
ASTERISK-19671: Coverity Report: Fix issues for error type
|
||||
REVERSE_NEGATIVE
|
||||
Revision: 366740
|
||||
Reporter: mjordan
|
||||
Coders: mjordan
|
||||
|
||||
ASTERISK-19842: POTS flashhook transfer causes deadlock
|
||||
Revision: 368644
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
ASTERISK-19854: freeze channels showing in core show channels
|
||||
Revision: 367976
|
||||
Reporter: jaxon
|
||||
Testers: Jaxon
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Channels/chan_iax2
|
||||
|
||||
ASTERISK-19597: Failure to pass NULL data pointer with AST_CONTROL_HOLD
|
||||
frame causes crash when MOH is started
|
||||
Revision: 367781
|
||||
Reporter: mgrobecker
|
||||
Testers: rmudgett, Michael L. Young
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Channels/chan_local
|
||||
|
||||
ASTERISK-19537: Deadlock potential in ast_do_masquerade() because it calls
|
||||
ast_indicate with the channel lock held.
|
||||
Revision: 368405
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-19425: Calls not released after BYE
|
||||
Revision: 365896
|
||||
Reporter: dcunningham
|
||||
Coders: Mark
|
||||
|
||||
ASTERISK-19455: SIP channels permanently stuck in system after BYE message
|
||||
received
|
||||
Revision: 365896
|
||||
Reporter: deanvesuvio
|
||||
Coders: Mark
|
||||
|
||||
ASTERISK-19597: Failure to pass NULL data pointer with AST_CONTROL_HOLD
|
||||
frame causes crash when MOH is started
|
||||
Revision: 367781
|
||||
Reporter: mgrobecker
|
||||
Testers: rmudgett, Michael L. Young
|
||||
Coders: rmudgett
|
||||
|
||||
ASTERISK-19827: Asterisk crash, whenever mwi =>
|
||||
pass:user:authuser@host:port/mailbox is set in sip.conf
|
||||
Revision: 367266
|
||||
Reporter: kenshin
|
||||
Coders: twilson
|
||||
|
||||
ASTERISK-19892: If Asterisk sends a 481 to an initial INVITE that
|
||||
contained a to-tag, then Asterisk will not recognize the ensuing ACK
|
||||
Revision: 368625
|
||||
Reporter: mmichelson
|
||||
Coders: mmichelson
|
||||
|
||||
ASTERISK-19914: Incorrect SIP cause to Asterisk cause mapping in chan_sip
|
||||
Revision: 368498
|
||||
Reporter: patrol-cz
|
||||
Coders: Pavel
|
||||
|
||||
ASTERISK-19919: Incorrect a=inactive when call changes from
|
||||
SIP_PAGE2_CALL_ONHOLD_INACTIVE to SIP_PAGE2_CALL_ONHOLD_ONEDIR
|
||||
Revision: 368586
|
||||
Reporter: mtryfoss
|
||||
Coders: kmoore
|
||||
|
||||
Category: Channels/chan_sip/Subscriptions
|
||||
|
||||
ASTERISK-16735: bad dialog-info remote information
|
||||
Revision: 365574
|
||||
Reporter: jamicque
|
||||
Coders: Mark
|
||||
|
||||
ASTERISK-17866: [patch] MWI last-msgs-sent is mis-reported
|
||||
Revision: 367362
|
||||
Reporter: one47
|
||||
Coders: mjordan
|
||||
|
||||
Category: Channels/chan_sip/Transfers
|
||||
|
||||
ASTERISK-19856: Transfer is being denied when global allowtransfer=no,
|
||||
ignoring peer setting
|
||||
Revision: 367730
|
||||
Reporter: jacek
|
||||
Testers: Michael L. Young, Jacek
|
||||
Coders: Michael
|
||||
|
||||
Category: Channels/chan_skinny
|
||||
|
||||
ASTERISK-19905: Security Vulnerability: remotely exploitable crash in
|
||||
chan_skinny if client is disconnected when client is not in on-hook state
|
||||
Revision: 367843
|
||||
Reporter: mjordan
|
||||
Testers: mjordan, Damien Wedhorn
|
||||
Coders: mjordan
|
||||
|
||||
Category: Codecs/codec_dahdi
|
||||
|
||||
ASTERISK-19643: codec_dahdi: Block on frameout if the hardware has enough
|
||||
samples to complete a frame.
|
||||
Revision: 365989
|
||||
Reporter: sruffell
|
||||
Coders: Shaun
|
||||
|
||||
Category: Core/Channels
|
||||
|
||||
ASTERISK-19537: Deadlock potential in ast_do_masquerade() because it calls
|
||||
ast_indicate with the channel lock held.
|
||||
Revision: 368405
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Core/PBX
|
||||
|
||||
ASTERISK-16711: [patch] Exceptionally long queue length queuing to XXXXX
|
||||
Revision: 365313
|
||||
Reporter: alecdavis
|
||||
Testers: rmudgett, Alec Davis
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Features/Parking
|
||||
|
||||
ASTERISK-19875: Behavior change in BLINDTRANSFER variable such that it is
|
||||
not available at the h extension
|
||||
Revision: 368469
|
||||
Reporter: call
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Functions/func_channel
|
||||
|
||||
ASTERISK-19911: echocan_mode not documented
|
||||
Revision: 368092
|
||||
Reporter: dalenoll
|
||||
Testers: Michael L. Young
|
||||
Coders: Michael
|
||||
|
||||
Category: General
|
||||
|
||||
ASTERISK-19649: Coverity Report: Fix issues for error type
|
||||
CONSTANT_EXPRESSION_RESULT
|
||||
Revision: 366409
|
||||
Reporter: mjordan
|
||||
Coders: mmichelson
|
||||
|
||||
ASTERISK-19650: Coverity Report: Fix issues for error type FORWARD_NULL
|
||||
Revision: 366167
|
||||
Reporter: mjordan
|
||||
Coders: kmoore
|
||||
|
||||
ASTERISK-19654: Coverity Report: Fix issues for error type NULL_RETURNS
|
||||
Revision: 365398
|
||||
Reporter: mjordan
|
||||
Coders: kmoore
|
||||
|
||||
ASTERISK-19662: Coverity Report: Fix issues for error type MISSING_BREAK
|
||||
Revision: 367027
|
||||
Reporter: mjordan
|
||||
Coders: mmichelson
|
||||
|
||||
Category: Resources/res_agi
|
||||
|
||||
ASTERISK-19764: Infinite loop with autoservice when looking for
|
||||
nonexistant extension label.
|
||||
Revision: 368308
|
||||
Reporter: rmudgett
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Resources/res_musiconhold
|
||||
|
||||
ASTERISK-19597: Failure to pass NULL data pointer with AST_CONTROL_HOLD
|
||||
frame causes crash when MOH is started
|
||||
Revision: 367781
|
||||
Reporter: mgrobecker
|
||||
Testers: rmudgett, Michael L. Young
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Resources/res_realtime
|
||||
|
||||
ASTERISK-19597: Failure to pass NULL data pointer with AST_CONTROL_HOLD
|
||||
frame causes crash when MOH is started
|
||||
Revision: 367781
|
||||
Reporter: mgrobecker
|
||||
Testers: rmudgett, Michael L. Young
|
||||
Coders: rmudgett
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Commits Not Associated with an Issue
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all changes that went into this release that did not
|
||||
directly close an issue from the issue tracker. The commits may have been
|
||||
marked as being related to an issue. If that is the case, the issue
|
||||
numbers are listed here, as well.
|
||||
|
||||
+------------------------------------------------------------------------+
|
||||
| Revision | Author | Summary | Issues |
|
||||
| | | | Referenced |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix coverity static analysis | |
|
||||
| 365143 | may | warning, allocate full ie | ASTERISK-19674 |
|
||||
| | | structure | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix warning of Coverity | |
|
||||
| 365159 | may | Static analysis, change | ASTERISK-19670 |
|
||||
| | | H225ProtocolIdentifier | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix core FINDING 2, FINDING | |
|
||||
| | | 3, and FINDING 4 from | |
|
||||
| 365298 | mmichelson | Coverity's | ASTERISK-19649 |
|
||||
| | | CONSTANT_EXPRESSION_RESULT | |
|
||||
| | | report. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix findings 0-3, 5, and 8 | |
|
||||
| 365460 | mmichelson | for Coverity MISSING_BREAK | ASTERISK-19662 |
|
||||
| | | errors. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 365476 | rmudgett | Fix type punned compiler | |
|
||||
| | | warning in test_config.c | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 365631 | rmudgett | * Fix accept/decline DTMF | |
|
||||
| | | buffer overwrite in FollowMe. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 365692 | rmudgett | * Fix FollowMe memory leak on | |
|
||||
| | | error paths in app_exec(). | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Coverity Report: Fix issues | |
|
||||
| 366048 | jrose | for error type UNINIT in Core | ASTERISK-19652 |
|
||||
| | | supported modules | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Close the proper | |
|
||||
| 366052 | mmichelson | tcptls_session when session | |
|
||||
| | | creation fails. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Coverity Report: Fix issues | |
|
||||
| 366094 | jrose | for error type CHECKED_RETURN | ASTERISK-19658 |
|
||||
| | | for core | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | * Made ast_change_name() hold | |
|
||||
| 366240 | rmudgett | the channels container lock | |
|
||||
| | | while changing the channel | |
|
||||
| | | name. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 366389 | mmichelson | Fix broken reinvite glare | |
|
||||
| | | scenario. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | chan_sip: Check the right | |
|
||||
| 366547 | jrose | channel's host address for | |
|
||||
| | | directmediapermit/deny | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Correct misuse of | |
|
||||
| 366597 | mmichelson | ast_strip_quoted() when | |
|
||||
| | | getting a Diversion header's | |
|
||||
| | | reason parameter. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 366650 | mmichelson | Fix incorrect default port | |
|
||||
| | | number for HTTP server. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | chan_sip: Fix missed locking | |
|
||||
| 366791 | jrose | of opposing pvt for | |
|
||||
| | | directmedia acl from r366547 | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 366880 | mjordan | Fix a variety of memory leaks | ASTERISK-19665 |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 366882 | kmoore | Reorder and renumber tests | |
|
||||
| | | appropriately | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 366944 | mjordan | Fix more memory leaks | ASTERISK-19665 |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 367002 | mmichelson | Fix memory leak of SSL_CTX | ASTERISK-19278 |
|
||||
| | | structures in TLS core. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 367292 | twilson | Fix race condition for CEL | |
|
||||
| | | LINKEDID_END event | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 367416 | mmichelson | Only call SSL_CTX_free if | |
|
||||
| | | DO_SSL is defined. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix | |
|
||||
| 367469 | rmudgett | WaitExten(x,m(musicclass)) | |
|
||||
| | | string termination. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Coverity Report: Fix issues | |
|
||||
| 367906 | rmudgett | for error type REVERSE_INULL | ASTERISK-19648 |
|
||||
| | | (deprecated modules) | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 367980 | rmudgett | Use the DEADLOCK_AVOIDANCE() | ASTERISK-19854 |
|
||||
| | | macro instead. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Coverity Report: Fix issues | |
|
||||
| 368039 | rmudgett | for error type REVERSE_INULL | ASTERISK-19648 |
|
||||
| | | (core modules) | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 368218 | kpfleming | Improve SDP parsing warning | |
|
||||
| | | messages | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 368533 | kmoore | Resolve some build warnings | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Fix parked call performing a | |
|
||||
| 368567 | rmudgett | DTMF blind transfer after | |
|
||||
| | | being retrieved. | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| | | Add feature modifier to | |
|
||||
| 368604 | mjordan | versions produced from | |
|
||||
| | | branches | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 369685 | bebuild | Create 1.8.14.0-rc2 | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 369690 | bebuild | Commit changes for | |
|
||||
| | | 1.8.14.0-rc2 | |
|
||||
|----------+------------+-------------------------------+----------------|
|
||||
| 369691 | bebuild | Importing release summary for | |
|
||||
| | | 1.8.14.0-rc2 release. | |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Diffstat Results
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a summary of the changes to the source code that went into this
|
||||
release that was generated using the diffstat utility.
|
||||
|
||||
.version | 2
|
||||
ChangeLog | 34 +
|
||||
UPGRADE.txt | 6
|
||||
addons/format_mp3.c | 83 +-
|
||||
addons/ooh323c/src/h323/H323-MESSAGES.h | 2
|
||||
addons/ooh323c/src/h323/H323-MESSAGESEnc.c | 44 -
|
||||
addons/ooh323c/src/ooh323.c | 22
|
||||
addons/ooh323c/src/ooq931.c | 2
|
||||
apps/app_chanspy.c | 41 -
|
||||
apps/app_dial.c | 171 ++++-
|
||||
apps/app_disa.c | 7
|
||||
apps/app_followme.c | 108 +--
|
||||
apps/app_meetme.c | 65 +-
|
||||
apps/app_minivm.c | 10
|
||||
apps/app_page.c | 6
|
||||
apps/app_queue.c | 191 ++++--
|
||||
apps/app_record.c | 8
|
||||
apps/app_stack.c | 158 +++--
|
||||
apps/app_voicemail.c | 169 ++++-
|
||||
asterisk-1.8.14.0-rc1-summary.html | 426 --------------
|
||||
asterisk-1.8.14.0-rc1-summary.txt | 558 -------------------
|
||||
asterisk-1.8.14.0-rc2-summary.html | 63 ++
|
||||
asterisk-1.8.14.0-rc2-summary.txt | 92 +++
|
||||
build_tools/make_version | 10
|
||||
channels/chan_agent.c | 18
|
||||
channels/chan_dahdi.c | 34 -
|
||||
channels/chan_iax2.c | 99 ++-
|
||||
channels/chan_local.c | 213 ++++---
|
||||
channels/chan_sip.c | 832 ++++++++++++++++++-----------
|
||||
channels/chan_skinny.c | 48 +
|
||||
channels/iax2-parser.c | 2
|
||||
channels/iax2-provision.c | 6
|
||||
channels/sig_analog.c | 22
|
||||
channels/sig_pri.c | 33 -
|
||||
channels/sig_ss7.c | 32 -
|
||||
channels/sip/config_parser.c | 91 +--
|
||||
channels/sip/include/sip.h | 2
|
||||
channels/sip/reqresp_parser.c | 163 +----
|
||||
codecs/codec_dahdi.c | 33 -
|
||||
funcs/func_aes.c | 4
|
||||
funcs/func_cdr.c | 2
|
||||
funcs/func_channel.c | 20
|
||||
funcs/func_devstate.c | 1
|
||||
funcs/func_dialgroup.c | 1
|
||||
funcs/func_lock.c | 46 +
|
||||
funcs/func_math.c | 4
|
||||
funcs/func_odbc.c | 12
|
||||
funcs/func_speex.c | 14
|
||||
include/asterisk/cel.h | 9
|
||||
include/asterisk/channel.h | 5
|
||||
include/asterisk/tcptls.h | 17
|
||||
main/abstract_jb.c | 1
|
||||
main/acl.c | 6
|
||||
main/app.c | 13
|
||||
main/asterisk.c | 13
|
||||
main/audiohook.c | 2
|
||||
main/cdr.c | 9
|
||||
main/cel.c | 43 -
|
||||
main/channel.c | 383 +++++++------
|
||||
main/cli.c | 10
|
||||
main/config.c | 18
|
||||
main/data.c | 22
|
||||
main/db.c | 2
|
||||
main/db1-ast/btree/bt_open.c | 2
|
||||
main/devicestate.c | 2
|
||||
main/editline/readline.c | 8
|
||||
main/editline/term.c | 16
|
||||
main/editline/tokenizer.c | 9
|
||||
main/enum.c | 3
|
||||
main/event.c | 3
|
||||
main/features.c | 512 ++++++++---------
|
||||
main/http.c | 2
|
||||
main/manager.c | 22
|
||||
main/netsock2.c | 4
|
||||
main/pbx.c | 42 -
|
||||
main/say.c | 3
|
||||
main/tcptls.c | 40 +
|
||||
main/xmldoc.c | 40 -
|
||||
pbx/dundi-parser.c | 22
|
||||
pbx/pbx_config.c | 18
|
||||
pbx/pbx_dundi.c | 2
|
||||
res/ael/ael.flex | 8
|
||||
res/ael/pval.c | 21
|
||||
res/res_agi.c | 1
|
||||
res/res_calendar.c | 14
|
||||
res/res_calendar_caldav.c | 13
|
||||
res/res_calendar_ews.c | 2
|
||||
res/res_calendar_exchange.c | 5
|
||||
res/res_calendar_icalendar.c | 9
|
||||
res/res_config_odbc.c | 8
|
||||
res/res_jabber.c | 1
|
||||
res/res_monitor.c | 4
|
||||
res/res_musiconhold.c | 2
|
||||
res/res_odbc.c | 4
|
||||
res/res_rtp_asterisk.c | 8
|
||||
res/res_speech.c | 8
|
||||
res/res_srtp.c | 4
|
||||
tests/test_config.c | 9
|
||||
98 files changed, 2779 insertions(+), 2655 deletions(-)
|
||||
|
||||
----------------------------------------------------------------------
|
@@ -3848,7 +3848,7 @@ static int __sip_autodestruct(const void *data)
|
||||
ast_debug(3, "Re-scheduled destruction of SIP call %s\n", p->callid ? p->callid : "<unknown>");
|
||||
append_history(p, "ReliableXmit", "timeout");
|
||||
if (sscanf(p->lastmsg, "Tx: %30s", method_str) == 1 || sscanf(p->lastmsg, "Rx: %30s", method_str) == 1) {
|
||||
if (method_match(SIP_CANCEL, method_str) || method_match(SIP_BYE, method_str)) {
|
||||
if (p->ongoing_reinvite || method_match(SIP_CANCEL, method_str) || method_match(SIP_BYE, method_str)) {
|
||||
pvt_set_needdestroy(p, "autodestruct");
|
||||
}
|
||||
}
|
||||
@@ -6223,6 +6223,21 @@ const char *hangup_cause2sip(int cause)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int reinvite_timeout(const void *data)
|
||||
{
|
||||
struct sip_pvt *dialog = (struct sip_pvt *) data;
|
||||
struct ast_channel *owner = sip_pvt_lock_full(dialog);
|
||||
dialog->reinviteid = -1;
|
||||
check_pendings(dialog);
|
||||
if (owner) {
|
||||
ast_channel_unlock(owner);
|
||||
ast_channel_unref(owner);
|
||||
}
|
||||
ao2_unlock(dialog);
|
||||
dialog_unref(dialog, "unref for reinvite timeout");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*! \brief sip_hangup: Hangup SIP call
|
||||
* Part of PBX interface, called from ast_hangup */
|
||||
static int sip_hangup(struct ast_channel *ast)
|
||||
@@ -6418,8 +6433,16 @@ static int sip_hangup(struct ast_channel *ast)
|
||||
ast_set_flag(&p->flags[0], SIP_PENDINGBYE);
|
||||
ast_clear_flag(&p->flags[0], SIP_NEEDREINVITE);
|
||||
AST_SCHED_DEL_UNREF(sched, p->waitid, dialog_unref(p, "when you delete the waitid sched, you should dec the refcount for the stored dialog ptr"));
|
||||
if (sip_cancel_destroy(p))
|
||||
if (sip_cancel_destroy(p)) {
|
||||
ast_log(LOG_WARNING, "Unable to cancel SIP destruction. Expect bad things.\n");
|
||||
}
|
||||
/* If we have an ongoing reinvite, there is a chance that we have gotten a provisional
|
||||
* response, but something weird has happened and we will never receive a final response.
|
||||
* So, just in case, check for pending actions after a bit of time to trigger the pending
|
||||
* bye that we are setting above */
|
||||
if (p->ongoing_reinvite && p->reinviteid < 0) {
|
||||
p->reinviteid = ast_sched_add(sched, 32 * p->timer_t1, reinvite_timeout, dialog_ref(p, "ref for reinvite_timeout"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -7692,6 +7715,7 @@ struct sip_pvt *sip_alloc(ast_string_field callid, struct ast_sockaddr *addr,
|
||||
p->method = intended_method;
|
||||
p->initid = -1;
|
||||
p->waitid = -1;
|
||||
p->reinviteid = -1;
|
||||
p->autokillid = -1;
|
||||
p->request_queue_sched_id = -1;
|
||||
p->provisional_keepalive_sched_id = -1;
|
||||
@@ -10409,10 +10433,9 @@ static int reqprep(struct sip_request *req, struct sip_pvt *p, int sipmethod, ui
|
||||
* final response. For a CANCEL or ACK, we have to send to the same destination
|
||||
* as the original INVITE.
|
||||
*/
|
||||
if (sipmethod == SIP_CANCEL ||
|
||||
(sipmethod == SIP_ACK && (p->invitestate == INV_COMPLETED || p->invitestate == INV_CANCELLED))) {
|
||||
set_destination(p, ast_strdupa(p->uri));
|
||||
} else if (p->route) {
|
||||
if (p->route &&
|
||||
!(sipmethod == SIP_CANCEL ||
|
||||
(sipmethod == SIP_ACK && (p->invitestate == INV_COMPLETED || p->invitestate == INV_CANCELLED)))) {
|
||||
set_destination(p, p->route->hop);
|
||||
add_route(req, is_strict ? p->route->next : p->route);
|
||||
}
|
||||
@@ -11900,7 +11923,7 @@ static int transmit_reinvite_with_sdp(struct sip_pvt *p, int t38version, int old
|
||||
initialize_initreq(p, &req);
|
||||
p->lastinvite = p->ocseq;
|
||||
ast_set_flag(&p->flags[0], SIP_OUTGOING); /* Change direction of this dialog */
|
||||
|
||||
p->ongoing_reinvite = 1;
|
||||
return send_request(p, &req, XMIT_CRITICAL, p->ocseq);
|
||||
}
|
||||
|
||||
@@ -19848,8 +19871,11 @@ static void parse_moved_contact(struct sip_pvt *p, struct sip_request *req, char
|
||||
static void check_pendings(struct sip_pvt *p)
|
||||
{
|
||||
if (ast_test_flag(&p->flags[0], SIP_PENDINGBYE)) {
|
||||
/* if we can't BYE, then this is really a pending CANCEL */
|
||||
if (p->invitestate == INV_PROCEEDING || p->invitestate == INV_EARLY_MEDIA) {
|
||||
if (p->reinviteid > -1) {
|
||||
/* Outstanding p->reinviteid timeout, so wait... */
|
||||
return;
|
||||
} else if (p->invitestate == INV_PROCEEDING || p->invitestate == INV_EARLY_MEDIA) {
|
||||
/* if we can't BYE, then this is really a pending CANCEL */
|
||||
p->invitestate = INV_CANCELLED;
|
||||
transmit_request(p, SIP_CANCEL, p->lastinvite, XMIT_RELIABLE, FALSE);
|
||||
/* If the cancel occurred on an initial invite, cancel the pending BYE */
|
||||
@@ -19860,8 +19886,9 @@ static void check_pendings(struct sip_pvt *p)
|
||||
INVITE, but do set an autodestruct just in case we never get it. */
|
||||
} else {
|
||||
/* We have a pending outbound invite, don't send something
|
||||
new in-transaction */
|
||||
if (p->pendinginvite)
|
||||
* new in-transaction, unless it is a pending reinvite, then
|
||||
* by the time we are called here, we should probably just hang up. */
|
||||
if (p->pendinginvite && !p->ongoing_reinvite)
|
||||
return;
|
||||
|
||||
if (p->owner) {
|
||||
@@ -20066,9 +20093,17 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
|
||||
if (resp >= 300 && (p->invitestate == INV_CALLING || p->invitestate == INV_PROCEEDING || p->invitestate == INV_EARLY_MEDIA ))
|
||||
p->invitestate = INV_COMPLETED;
|
||||
|
||||
if ((resp >= 200 && reinvite)) {
|
||||
p->ongoing_reinvite = 0;
|
||||
if (p->reinviteid > -1) {
|
||||
AST_SCHED_DEL_UNREF(sched, p->reinviteid, dialog_unref(p, "unref dialog for reinvite timeout because of a final response"));
|
||||
}
|
||||
}
|
||||
|
||||
/* Final response, clear out pending invite */
|
||||
if ((resp == 200 || resp >= 300) && p->pendinginvite && seqno == p->pendinginvite)
|
||||
if ((resp == 200 || resp >= 300) && p->pendinginvite && seqno == p->pendinginvite) {
|
||||
p->pendinginvite = 0;
|
||||
}
|
||||
|
||||
/* If this is a response to our initial INVITE, we need to set what we can use
|
||||
* for this peer.
|
||||
@@ -29132,6 +29167,12 @@ static int apply_directmedia_ha(struct sip_pvt *p1, struct sip_pvt *p2, const ch
|
||||
ast_rtp_instance_get_remote_address(p1->rtp, &them);
|
||||
ast_rtp_instance_get_local_address(p1->rtp, &us);
|
||||
|
||||
/* If p2 is a guest call, there will be no peer. If there is no peer, there
|
||||
* is no directmediaha, so go ahead and allow it */
|
||||
if (!p2->relatedpeer) {
|
||||
return res;
|
||||
}
|
||||
|
||||
if ((res = ast_apply_ha(p2->relatedpeer->directmediaha, &them)) == AST_SENSE_DENY) {
|
||||
const char *us_addr = ast_strdupa(ast_sockaddr_stringify(&us));
|
||||
const char *them_addr = ast_strdupa(ast_sockaddr_stringify(&them));
|
||||
|
@@ -1056,6 +1056,7 @@ struct sip_pvt {
|
||||
struct sip_auth_container *peerauth;/*!< Realm authentication credentials */
|
||||
int noncecount; /*!< Nonce-count */
|
||||
unsigned int stalenonce:1; /*!< Marks the current nonce as responded too */
|
||||
unsigned int ongoing_reinvite:1; /*!< There is a reinvite in progress that might need to be cleaned up */
|
||||
char lastmsg[256]; /*!< Last Message sent/received */
|
||||
int amaflags; /*!< AMA Flags */
|
||||
uint32_t pendinginvite; /*!< Any pending INVITE or state NOTIFY (in subscribe pvt's) ? (seqno of this) */
|
||||
@@ -1068,6 +1069,7 @@ struct sip_pvt {
|
||||
|
||||
int initid; /*!< Auto-congest ID if appropriate (scheduler) */
|
||||
int waitid; /*!< Wait ID for scheduler after 491 or other delays */
|
||||
int reinviteid; /*!< Reinvite in case of provisional, but no final response */
|
||||
int autokillid; /*!< Auto-kill ID (scheduler) */
|
||||
int t38id; /*!< T.38 Response ID */
|
||||
struct sip_refer *refer; /*!< REFER: SIP transfer data structure */
|
||||
|
192
main/features.c
192
main/features.c
@@ -4604,7 +4604,6 @@ static int manage_parked_call(struct parkeduser *pu, const struct pollfd *pfds,
|
||||
struct ast_channel *chan = pu->chan; /* shorthand */
|
||||
int tms; /* timeout for this item */
|
||||
int x; /* fd index in channel */
|
||||
int parking_complete = 0;
|
||||
|
||||
tms = ast_tvdiff_ms(ast_tvnow(), pu->start);
|
||||
if (tms > pu->parkingtime) {
|
||||
@@ -4719,104 +4718,103 @@ static int manage_parked_call(struct parkeduser *pu, const struct pollfd *pfds,
|
||||
}
|
||||
|
||||
/* And take them out of the parking lot */
|
||||
parking_complete = 1;
|
||||
} else { /* still within parking time, process descriptors */
|
||||
x = 0;
|
||||
if (pfds) {
|
||||
for (; x < AST_MAX_FDS; x++) {
|
||||
struct ast_frame *f;
|
||||
int y;
|
||||
|
||||
if (chan->fds[x] == -1) {
|
||||
continue; /* nothing on this descriptor */
|
||||
}
|
||||
|
||||
for (y = 0; y < nfds; y++) {
|
||||
if (pfds[y].fd == chan->fds[x]) {
|
||||
/* Found poll record! */
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (y == nfds) {
|
||||
/* Not found */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(pfds[y].revents & (POLLIN | POLLERR | POLLPRI))) {
|
||||
/* Next x */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pfds[y].revents & POLLPRI) {
|
||||
ast_set_flag(chan, AST_FLAG_EXCEPTION);
|
||||
} else {
|
||||
ast_clear_flag(chan, AST_FLAG_EXCEPTION);
|
||||
}
|
||||
chan->fdno = x;
|
||||
|
||||
/* See if they need servicing */
|
||||
f = ast_read(pu->chan);
|
||||
/* Hangup? */
|
||||
if (!f || (f->frametype == AST_FRAME_CONTROL
|
||||
&& f->subclass.integer == AST_CONTROL_HANGUP)) {
|
||||
if (f) {
|
||||
ast_frfree(f);
|
||||
}
|
||||
post_manager_event("ParkedCallGiveUp", pu);
|
||||
ast_cel_report_event(pu->chan, AST_CEL_PARK_END, NULL, "ParkedCallGiveUp",
|
||||
NULL);
|
||||
|
||||
/* There's a problem, hang them up */
|
||||
ast_verb(2, "%s got tired of being parked\n", chan->name);
|
||||
ast_hangup(chan);
|
||||
|
||||
/* And take them out of the parking lot */
|
||||
parking_complete = 1;
|
||||
break;
|
||||
} else {
|
||||
/* XXX Maybe we could do something with packets, like dial "0" for operator or something XXX */
|
||||
ast_frfree(f);
|
||||
if (pu->hold_method == AST_CONTROL_HOLD
|
||||
&& pu->moh_trys < 3
|
||||
&& !chan->generatordata) {
|
||||
ast_debug(1,
|
||||
"MOH on parked call stopped by outside source. Restarting on channel %s.\n",
|
||||
chan->name);
|
||||
ast_indicate_data(chan, AST_CONTROL_HOLD,
|
||||
S_OR(pu->parkinglot->cfg.mohclass, NULL),
|
||||
(!ast_strlen_zero(pu->parkinglot->cfg.mohclass)
|
||||
? strlen(pu->parkinglot->cfg.mohclass) + 1 : 0));
|
||||
pu->moh_trys++;
|
||||
}
|
||||
goto std; /* XXX Ick: jumping into an else statement??? XXX */
|
||||
}
|
||||
} /* End for */
|
||||
}
|
||||
if (x >= AST_MAX_FDS) {
|
||||
std:
|
||||
for (x = 0; x < AST_MAX_FDS; x++) { /* mark fds for next round */
|
||||
if (chan->fds[x] > -1) {
|
||||
void *tmp = ast_realloc(*new_pfds,
|
||||
(*new_nfds + 1) * sizeof(struct pollfd));
|
||||
|
||||
if (!tmp) {
|
||||
continue;
|
||||
}
|
||||
*new_pfds = tmp;
|
||||
(*new_pfds)[*new_nfds].fd = chan->fds[x];
|
||||
(*new_pfds)[*new_nfds].events = POLLIN | POLLERR | POLLPRI;
|
||||
(*new_pfds)[*new_nfds].revents = 0;
|
||||
(*new_nfds)++;
|
||||
}
|
||||
}
|
||||
/* Keep track of our shortest wait */
|
||||
if (tms < *ms || *ms < 0) {
|
||||
*ms = tms;
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return parking_complete;
|
||||
/* still within parking time, process descriptors */
|
||||
if (pfds) {
|
||||
for (x = 0; x < AST_MAX_FDS; x++) {
|
||||
struct ast_frame *f;
|
||||
int y;
|
||||
|
||||
if (chan->fds[x] == -1) {
|
||||
continue; /* nothing on this descriptor */
|
||||
}
|
||||
|
||||
for (y = 0; y < nfds; y++) {
|
||||
if (pfds[y].fd == chan->fds[x]) {
|
||||
/* Found poll record! */
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (y == nfds) {
|
||||
/* Not found */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!(pfds[y].revents & (POLLIN | POLLERR | POLLPRI))) {
|
||||
/* Next x */
|
||||
continue;
|
||||
}
|
||||
|
||||
if (pfds[y].revents & POLLPRI) {
|
||||
ast_set_flag(chan, AST_FLAG_EXCEPTION);
|
||||
} else {
|
||||
ast_clear_flag(chan, AST_FLAG_EXCEPTION);
|
||||
}
|
||||
chan->fdno = x;
|
||||
|
||||
/* See if they need servicing */
|
||||
f = ast_read(pu->chan);
|
||||
/* Hangup? */
|
||||
if (!f || (f->frametype == AST_FRAME_CONTROL
|
||||
&& f->subclass.integer == AST_CONTROL_HANGUP)) {
|
||||
if (f) {
|
||||
ast_frfree(f);
|
||||
}
|
||||
post_manager_event("ParkedCallGiveUp", pu);
|
||||
ast_cel_report_event(pu->chan, AST_CEL_PARK_END, NULL, "ParkedCallGiveUp",
|
||||
NULL);
|
||||
|
||||
/* There's a problem, hang them up */
|
||||
ast_verb(2, "%s got tired of being parked\n", chan->name);
|
||||
ast_hangup(chan);
|
||||
|
||||
/* And take them out of the parking lot */
|
||||
return 1;
|
||||
} else {
|
||||
/* XXX Maybe we could do something with packets, like dial "0" for operator or something XXX */
|
||||
ast_frfree(f);
|
||||
if (pu->hold_method == AST_CONTROL_HOLD
|
||||
&& pu->moh_trys < 3
|
||||
&& !chan->generatordata) {
|
||||
ast_debug(1,
|
||||
"MOH on parked call stopped by outside source. Restarting on channel %s.\n",
|
||||
chan->name);
|
||||
ast_indicate_data(chan, AST_CONTROL_HOLD,
|
||||
S_OR(pu->parkinglot->cfg.mohclass, NULL),
|
||||
(!ast_strlen_zero(pu->parkinglot->cfg.mohclass)
|
||||
? strlen(pu->parkinglot->cfg.mohclass) + 1 : 0));
|
||||
pu->moh_trys++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
} /* End for */
|
||||
}
|
||||
|
||||
/* mark fds for next round */
|
||||
for (x = 0; x < AST_MAX_FDS; x++) {
|
||||
if (chan->fds[x] > -1) {
|
||||
void *tmp = ast_realloc(*new_pfds,
|
||||
(*new_nfds + 1) * sizeof(struct pollfd));
|
||||
|
||||
if (!tmp) {
|
||||
continue;
|
||||
}
|
||||
*new_pfds = tmp;
|
||||
(*new_pfds)[*new_nfds].fd = chan->fds[x];
|
||||
(*new_pfds)[*new_nfds].events = POLLIN | POLLERR | POLLPRI;
|
||||
(*new_pfds)[*new_nfds].revents = 0;
|
||||
(*new_nfds)++;
|
||||
}
|
||||
}
|
||||
/* Keep track of our shortest wait */
|
||||
if (tms < *ms || *ms < 0) {
|
||||
*ms = tms;
|
||||
}
|
||||
|
||||
/* Stay in the parking lot. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*! \brief Run management on parkinglots, called once per parkinglot */
|
||||
|
Reference in New Issue
Block a user