mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-18 20:16:32 +00:00
Compare commits
16 Commits
11.24.0-rc
...
11.4.0
Author | SHA1 | Date | |
---|---|---|---|
|
9c8364895b | ||
|
1f88d20c07 | ||
|
a0476b4d9c | ||
|
4f7a661de2 | ||
|
7baebcae9f | ||
|
b46f5d3a78 | ||
|
cc4b6a203f | ||
|
644b38a21c | ||
|
3024b4b97a | ||
|
d585b25528 | ||
|
98676c083f | ||
|
3c55a268ad | ||
|
7d181f2b3d | ||
|
4433a596e2 | ||
|
f0f39125fe | ||
|
448a1b0bd8 |
1
.lastclean
Normal file
1
.lastclean
Normal file
@@ -0,0 +1 @@
|
||||
40
|
@@ -9874,6 +9874,31 @@ static int load_module(void)
|
||||
if (reload_handler(0, &mask, NULL))
|
||||
return AST_MODULE_LOAD_DECLINE;
|
||||
|
||||
ast_realtime_require_field("queue_members", "paused", RQ_INTEGER1, 1, "uniqueid", RQ_UINTEGER2, 5, SENTINEL);
|
||||
|
||||
/*
|
||||
* This section is used to determine which name for 'ringinuse' to use in realtime members
|
||||
* Necessary for supporting older setups.
|
||||
*/
|
||||
member_config = ast_load_realtime_multientry("queue_members", "interface LIKE", "%", "queue_name LIKE", "%", SENTINEL);
|
||||
if (!member_config) {
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
} else {
|
||||
const char *config_val;
|
||||
if ((config_val = ast_variable_retrieve(member_config, NULL, "ringinuse"))) {
|
||||
ast_log(LOG_NOTICE, "ringinuse field entries found in queue_members table. Using 'ringinuse'\n");
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
} else if ((config_val = ast_variable_retrieve(member_config, NULL, "ignorebusy"))) {
|
||||
ast_log(LOG_NOTICE, "ignorebusy field found in queue_members table with no ringinuse field. Using 'ignorebusy'\n");
|
||||
realtime_ringinuse_field = "ignorebusy";
|
||||
} else {
|
||||
ast_log(LOG_NOTICE, "No entries were found for ringinuse/ignorebusy in queue_members table. Using 'ringinuse'\n");
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
}
|
||||
}
|
||||
|
||||
ast_config_destroy(member_config);
|
||||
|
||||
if (queue_persistent_members)
|
||||
reload_queue_members();
|
||||
|
||||
@@ -9917,31 +9942,6 @@ static int load_module(void)
|
||||
|
||||
ast_extension_state_add(NULL, NULL, extension_state_cb, NULL);
|
||||
|
||||
ast_realtime_require_field("queue_members", "paused", RQ_INTEGER1, 1, "uniqueid", RQ_UINTEGER2, 5, SENTINEL);
|
||||
|
||||
/*
|
||||
* This section is used to determine which name for 'ringinuse' to use in realtime members
|
||||
* Necessary for supporting older setups.
|
||||
*/
|
||||
member_config = ast_load_realtime_multientry("queue_members", "interface LIKE", "%", "queue_name LIKE", "%", SENTINEL);
|
||||
if (!member_config) {
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
} else {
|
||||
const char *config_val;
|
||||
if ((config_val = ast_variable_retrieve(member_config, NULL, "ringinuse"))) {
|
||||
ast_log(LOG_NOTICE, "ringinuse field entries found in queue_members table. Using 'ringinuse'\n");
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
} else if ((config_val = ast_variable_retrieve(member_config, NULL, "ignorebusy"))) {
|
||||
ast_log(LOG_NOTICE, "ignorebusy field found in queue_members table with no ringinuse field. Using 'ignorebusy'\n");
|
||||
realtime_ringinuse_field = "ignorebusy";
|
||||
} else {
|
||||
ast_log(LOG_NOTICE, "No entries were found for ringinuse/ignorebusy in queue_members table. Using 'ringinuse'\n");
|
||||
realtime_ringinuse_field = "ringinuse";
|
||||
}
|
||||
}
|
||||
|
||||
ast_config_destroy(member_config);
|
||||
|
||||
return res ? AST_MODULE_LOAD_DECLINE : 0;
|
||||
}
|
||||
|
||||
|
@@ -15018,25 +15018,20 @@ static struct ast_vm_mailbox_snapshot *vm_mailbox_snapshot_create(const char *ma
|
||||
mailbox_snapshot->folders = ARRAY_LEN(mailbox_folders);
|
||||
|
||||
for (i = 0; i < mailbox_snapshot->folders; i++) {
|
||||
int combining_old = 0;
|
||||
/* Assume we are combining folders if:
|
||||
* - The current index is the old folder index OR
|
||||
* - The current index is urgent and we were looking for INBOX or all folders OR
|
||||
* - The current index is INBOX and we were looking for Urgent or all folders
|
||||
int msg_folder_index = i;
|
||||
|
||||
/* We want this message in the snapshot if any of the following:
|
||||
* No folder was specified.
|
||||
* The specified folder matches the current folder.
|
||||
* The specified folder is INBOX AND we were asked to combine messages AND the current folder is either Old or Urgent.
|
||||
*/
|
||||
if ((i == old_index ||
|
||||
(i == urgent_index && (this_index_only == inbox_index || this_index_only == -1)) ||
|
||||
(i == inbox_index && (this_index_only == urgent_index || this_index_only == -1))) && (combine_INBOX_and_OLD)) {
|
||||
combining_old = 1;
|
||||
if (!(this_index_only == -1 || this_index_only == i || (this_index_only == inbox_index && combine_INBOX_and_OLD && (i == old_index || i == urgent_index)))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
/* This if statement is confusing looking. Here is what it means in english.
|
||||
* - If a folder is given to the function and that folder's index is not the one we are iterating over, skip it...
|
||||
* - Unless we are combining old and new messages and the current index is one of old, new, or urgent folders
|
||||
*/
|
||||
if ((this_index_only != -1 && this_index_only != i) &&
|
||||
!(combining_old && (i == old_index || i == urgent_index || i == inbox_index))) {
|
||||
continue;
|
||||
/* Make sure that Old or Urgent messages are marked as being in INBOX. */
|
||||
if (combine_INBOX_and_OLD && (i == old_index || i == urgent_index)) {
|
||||
msg_folder_index = inbox_index;
|
||||
}
|
||||
|
||||
memset(&vms, 0, sizeof(vms));
|
||||
@@ -15053,7 +15048,7 @@ static struct ast_vm_mailbox_snapshot *vm_mailbox_snapshot_create(const char *ma
|
||||
|
||||
/* Iterate through each msg, storing off info */
|
||||
if (vms.lastmsg != -1) {
|
||||
if ((vm_msg_snapshot_create(vmu, &vms, mailbox_snapshot, combining_old ? inbox_index : i, i, descending, sort_val))) {
|
||||
if ((vm_msg_snapshot_create(vmu, &vms, mailbox_snapshot, msg_folder_index, i, descending, sort_val))) {
|
||||
ast_log(LOG_WARNING, "Failed to create msg snapshots for %s@%s\n", mailbox, context);
|
||||
goto snapshot_cleanup;
|
||||
}
|
||||
|
514
asterisk-11.4.0-summary.html
Normal file
514
asterisk-11.4.0-summary.html
Normal file
@@ -0,0 +1,514 @@
|
||||
<!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-11.4.0</title></head>
|
||||
<body>
|
||||
<h1 align="center"><a name="top">Release Summary</a></h1>
|
||||
<h3 align="center">asterisk-11.4.0</h3>
|
||||
<h3 align="center">Date: 2013-05-17</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-11.3.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>
|
||||
15 mjordan<br/>
|
||||
10 rmudgett<br/>
|
||||
8 qwell<br/>
|
||||
7 bebuild<br/>
|
||||
6 kharwell<br/>
|
||||
6 kmoore<br/>
|
||||
6 wdoekes<br/>
|
||||
5 elguero<br/>
|
||||
4 dlee<br/>
|
||||
4 file<br/>
|
||||
3 jrose<br/>
|
||||
3 mmichelson<br/>
|
||||
2 igorg<br/>
|
||||
2 tzafrir<br/>
|
||||
2 wedhorn<br/>
|
||||
1 avalentin<br/>
|
||||
1 coriley<br/>
|
||||
1 Dmitriy Serov<br/>
|
||||
1 eelcob<br/>
|
||||
1 Heiko Wundram<br/>
|
||||
1 ianc<br/>
|
||||
1 jcolp<br/>
|
||||
1 kmoore, wdoekes<br/>
|
||||
1 marcelloceschia<br/>
|
||||
1 nbansal<br/>
|
||||
1 Pavel Troller<br/>
|
||||
1 russell<br/>
|
||||
1 seanbright<br/>
|
||||
1 serginuez<br/>
|
||||
1 Zhi Cheng<br/>
|
||||
</td>
|
||||
<td>
|
||||
6 jbigelow<br/>
|
||||
2 elguero<br/>
|
||||
2 Jeremy Kister<br/>
|
||||
2 kmoore<br/>
|
||||
2 rmudgett<br/>
|
||||
1 andrea<br/>
|
||||
1 Daniel Bohling<br/>
|
||||
1 daroz<br/>
|
||||
1 JoshE<br/>
|
||||
1 myself<br/>
|
||||
1 Pavel Troller<br/>
|
||||
1 Rusty Newton<br/>
|
||||
1 snuffy<br/>
|
||||
1 wdoekes<br/>
|
||||
</td>
|
||||
<td>
|
||||
6 jbigelow<br/>
|
||||
4 jkister<br/>
|
||||
4 mjordan<br/>
|
||||
2 wdoekes<br/>
|
||||
1 /dev/null<br/>
|
||||
1 aepshteyn<br/>
|
||||
1 amsoft2001<br/>
|
||||
1 ascanland<br/>
|
||||
1 avalentin<br/>
|
||||
1 chengzhicn<br/>
|
||||
1 coriley<br/>
|
||||
1 daroz<br/>
|
||||
1 dbohling<br/>
|
||||
1 Demon<br/>
|
||||
1 eelcob<br/>
|
||||
1 ianc<br/>
|
||||
1 johan<br/>
|
||||
1 kris2k<br/>
|
||||
1 marcelloceschia<br/>
|
||||
1 mmichelson<br/>
|
||||
1 modelnine<br/>
|
||||
1 n8ideas<br/>
|
||||
1 nbansal<br/>
|
||||
1 patrol-cz<br/>
|
||||
1 pgoergler<br/>
|
||||
1 rmudgett<br/>
|
||||
1 rnewton<br/>
|
||||
1 salecha<br/>
|
||||
1 serginuez<br/>
|
||||
1 shmagin<br/>
|
||||
1 sickpig<br/>
|
||||
1 tomaso<br/>
|
||||
1 tsearle<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: Addons/res_config_mysql</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21035">ASTERISK-21035</a>: [patch] - features.conf in static realtime requires distinct cat_metric for each parking lot <br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382943">382943</a><br/>
|
||||
Reporter: aepshteyn<br/>
|
||||
Coders: elguero<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_confbridge</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20990">ASTERISK-20990</a>: Confbridge announcement not played<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380894">380894</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20991">ASTERISK-20991</a>: Confbridge errors on leaving<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380892">380892</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20994">ASTERISK-20994</a>: AMI command reception after app_confbridge.so unload results in crash<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381067">381067</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: Rusty Newton, Jeremy Kister<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_db</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21070">ASTERISK-21070</a>: DBdeltree throws spurious error under almost all cases<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381365">381365</a><br/>
|
||||
Reporter: ianc<br/>
|
||||
Coders: ianc<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_dial</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21113">ASTERISK-21113</a>: app_dial.c does not honor 'c' flag when calling party hangs up<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381880">381880</a><br/>
|
||||
Reporter: modelnine<br/>
|
||||
Coders: Heiko Wundram<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_mixmonitor</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21294">ASTERISK-21294</a>: Calling StopMixMonitor on a channel w/o MixMonitor running returns -1<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383631">383631</a><br/>
|
||||
Reporter: daroz<br/>
|
||||
Testers: daroz<br/>
|
||||
Coders: elguero<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_page</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20991">ASTERISK-20991</a>: Confbridge errors on leaving<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380892">380892</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_parkandannounce</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20113">ASTERISK-20113</a>: ParkAndAnnounce doesn't return to n+1 when no return_context defined<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381917">381917</a><br/>
|
||||
Reporter: serginuez<br/>
|
||||
Coders: serginuez<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_playback</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20800">ASTERISK-20800</a>: 'module reload app_playback.so' won't load say.conf if it didn't exist during module's first load<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381217">381217</a><br/>
|
||||
Reporter: pgoergler<br/>
|
||||
Coders: kharwell<br/>
|
||||
<br/>
|
||||
<h3>Category: Applications/app_queue</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19960">ASTERISK-19960</a>: Incorrect data in queue_log, event TRANSFER, field data1<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381791">381791</a><br/>
|
||||
Reporter: shmagin<br/>
|
||||
Coders: kharwell<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_dahdi</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21248">ASTERISK-21248</a>: CALLERID(dnid-num-plan) does not get any value set.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383798">383798</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_gulp</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20815">ASTERISK-20815</a>: Fix pjproject's build system to be tolerant of build errors and parallel building<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380816">380816</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: qwell<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_iax2</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21128">ASTERISK-21128</a>: Locking inversion when attempting to set caller ID while holding iaxsl lock causes deadlock<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382234">382234</a><br/>
|
||||
Reporter: patrol-cz<br/>
|
||||
Testers: Pavel Troller<br/>
|
||||
Coders: mjordan, Pavel Troller<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_jingle</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19341">ASTERISK-19341</a>: Missing initialization on bind_addr<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381976">381976</a><br/>
|
||||
Reporter: avalentin<br/>
|
||||
Coders: avalentin<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20787">ASTERISK-20787</a>: Asterisk should inspect Min-SE header in an INVITE even if there is no Session-Expires present<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380698">380698</a><br/>
|
||||
Reporter: mmichelson<br/>
|
||||
Coders: dlee<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20904">ASTERISK-20904</a>: RFC1918 NAT Issue On Prune<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382322">382322</a><br/>
|
||||
Reporter: n8ideas<br/>
|
||||
Testers: JoshE, elguero<br/>
|
||||
Coders: elguero<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20929">ASTERISK-20929</a>: Core-dump on SIP BYE for an invalid call transaction<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381566">381566</a><br/>
|
||||
Reporter: kris2k<br/>
|
||||
Coders: mmichelson<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21013">ASTERISK-21013</a>: Security Vulnerability: sip username disclosure<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=384003">384003</a><br/>
|
||||
Reporter: wdoekes<br/>
|
||||
Testers: wdoekes, kmoore<br/>
|
||||
Coders: kmoore, wdoekes<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21201">ASTERISK-21201</a>: [patch] In Manager Interface, SIP registry event does not show username on Status: Registered<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382848">382848</a><br/>
|
||||
Reporter: Demon<br/>
|
||||
Coders: Dmitriy Serov<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21232">ASTERISK-21232</a>: Asterisk sends AUDIO REINVITE when session timer expires in T38 call<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383125">383125</a><br/>
|
||||
Reporter: nbansal<br/>
|
||||
Coders: nbansal<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/Interoperability</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20638">ASTERISK-20638</a>: SIP dialog matching is incorrect when multiple provisional responses are received with pedantic SIP checking<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382174">382174</a><br/>
|
||||
Reporter: eelcob<br/>
|
||||
Coders: eelcob<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/Messaging</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21148">ASTERISK-21148</a>: [patch] - Asterisk use '(null)' in 'via' header and 'call-id' header when relaying SIP MESSAGE<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382739">382739</a><br/>
|
||||
Reporter: chengzhicn<br/>
|
||||
Coders: Zhi Cheng<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_sip/SRTP</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21323">ASTERISK-21323</a>: Asterisk 11 svn branch and srtp - white noise only<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=384049">384049</a><br/>
|
||||
Reporter: sickpig<br/>
|
||||
Testers: kmoore, andrea, jbigelow<br/>
|
||||
Coders: kmoore<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_skinny</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-16610">ASTERISK-16610</a>: problem to reload the module skinny when active calls.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380942">380942</a><br/>
|
||||
Reporter: salecha<br/>
|
||||
Testers: snuffy, myself<br/>
|
||||
Coders: wedhorn<br/>
|
||||
<br/>
|
||||
<h3>Category: Channels/chan_unistim</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21119">ASTERISK-21119</a>: Asterisk system locks up with chan_unistim<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382410">382410</a><br/>
|
||||
Reporter: dbohling<br/>
|
||||
Testers: Daniel Bohling<br/>
|
||||
Coders: igorg<br/>
|
||||
<br/>
|
||||
<h3>Category: Contrib/General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21173">ASTERISK-21173</a>: [patch] example sippeers sql hasn't been adapted for ipv6 and causes chan_sip to generate a warning message<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382940">382940</a><br/>
|
||||
Reporter: tsearle<br/>
|
||||
Coders: elguero<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/BuildSystem</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20749">ASTERISK-20749</a>: Cannot enable res_timing_kqueue via "make menuselect"<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381848">381848</a><br/>
|
||||
Reporter: /dev/null<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21014">ASTERISK-21014</a>: logger.c Call_ID 'bound' or 'removed' DEBUG messages spammed during a feature code attended transfer<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381554">381554</a><br/>
|
||||
Reporter: rnewton<br/>
|
||||
Coders: kharwell<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/HTTP</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20967">ASTERISK-20967</a>: Security Vulnerability: DoS attack possible due to fix for CVE-2012-5976<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383978">383978</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: mmichelson<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20967">ASTERISK-20967</a>: Security Vulnerability: DoS attack possible due to fix for CVE-2012-5976<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=384119">384119</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: wdoekes<br/>
|
||||
<br/>
|
||||
<h3>Category: Core/ManagerInterface</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20397">ASTERISK-20397</a>: "manager show user <user>" shows the "all" permission despite it not being set<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381943">381943</a><br/>
|
||||
Reporter: johan<br/>
|
||||
Coders: mjordan<br/>
|
||||
<br/>
|
||||
<h3>Category: Features</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21014">ASTERISK-21014</a>: logger.c Call_ID 'bound' or 'removed' DEBUG messages spammed during a feature code attended transfer<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381554">381554</a><br/>
|
||||
Reporter: rnewton<br/>
|
||||
Coders: kharwell<br/>
|
||||
<br/>
|
||||
<h3>Category: Functions/func_callerid</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21248">ASTERISK-21248</a>: CALLERID(dnid-num-plan) does not get any value set.<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383798">383798</a><br/>
|
||||
Reporter: rmudgett<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: General</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19451">ASTERISK-19451</a>: va_start/va_copy and va_end do not always match up<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382022">382022</a><br/>
|
||||
Reporter: wdoekes<br/>
|
||||
Coders: wdoekes<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20994">ASTERISK-20994</a>: AMI command reception after app_confbridge.so unload results in crash<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381067">381067</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: Rusty Newton, Jeremy Kister<br/>
|
||||
Coders: rmudgett<br/>
|
||||
<br/>
|
||||
<h3>Category: PBX/pbx_spool</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21176">ASTERISK-21176</a>: Call files on OS X, using KQueue, do not get processed (load 100%)<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383121">383121</a><br/>
|
||||
Reporter: coriley<br/>
|
||||
Coders: coriley<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_agi</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21065">ASTERISK-21065</a>: Asterisk 11 IPv6 - FastAGI fail<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381893">381893</a><br/>
|
||||
Reporter: jkister<br/>
|
||||
Testers: Jeremy Kister, elguero<br/>
|
||||
Coders: elguero<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_format_attr_h264</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20901">ASTERISK-20901</a>: Security Vulnerability: Possible stack corruption in when parsing H.264 format attributes<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383973">383973</a><br/>
|
||||
Reporter: mjordan<br/>
|
||||
Coders: jrose<br/>
|
||||
<br/>
|
||||
<h3>Category: Resources/res_xmpp</h3><br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-20982">ASTERISK-20982</a>: xmpp Segfault when delete node using cli<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381159">381159</a><br/>
|
||||
Reporter: marcelloceschia<br/>
|
||||
Coders: marcelloceschia<br/>
|
||||
<br/>
|
||||
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21156">ASTERISK-21156</a>: Asterisk crashes with XMPP\Google Voice config where username is missing hostname portion<br/>
|
||||
Revision: <a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382923">382923</a><br/>
|
||||
Reporter: amsoft2001<br/>
|
||||
Coders: jcolp<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/11?view=revision&revision=380575">380575</a></td><td>rmudgett</td><td>chan_dahdi: Fix "dahdi show channels group" for groups greater than 31.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380612">380612</a></td><td>rmudgett</td><td>Make CHECK_BLOCKING() debug message more useful.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380671">380671</a></td><td>qwell</td><td>Remove a cross-compile workaround.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380672">380672</a></td><td>qwell</td><td>Always check for libm, regardless of configure options.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380673">380673</a></td><td>qwell</td><td>Add support for parallel builds of pjproject.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-20815">ASTERISK-20815</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380735">380735</a></td><td>qwell</td><td>Fix a few compiler warnings.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380736">380736</a></td><td>qwell</td><td>Ignore warnings caused by PJ_TODO()s in pjproject.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380854">380854</a></td><td>rmudgett</td><td>Separate option_types[] from the struct definition.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380856">380856</a></td><td>rmudgett</td><td>Because the compiler can check types with a struct copy and memcpy() cannot.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380869">380869</a></td><td>rmudgett</td><td>app_page: Fixup application XML documentation typos and inaccuracies.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380926">380926</a></td><td>wedhorn</td><td>Reset skinny vmexten on reload.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=380974">380974</a></td><td>dlee</td><td>Fixed failing test from r380696.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-20787">ASTERISK-20787</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381282">381282</a></td><td>kmoore</td><td>Fix some more REF_DEBUG-related build errors</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381306">381306</a></td><td>mmichelson</td><td>Do not allow native RTP bridging if packetization of media streams differs.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381467">381467</a></td><td>rmudgett</td><td>End stuck DTMF if AST_SOFTHANGUP_ASYNCGOTO because it isn't a real hangup.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-20492">ASTERISK-20492</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381553">381553</a></td><td>jrose</td><td>chan_sip: Use video and text crypto attributes to append RTP profiles to SDP</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381613">381613</a></td><td>mjordan</td><td>Don't send presencestate information if the state is invalid</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/AST-1084">AST-1084</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381655">381655</a></td><td>jrose</td><td>PRESENCE_STATE: Provide better documentation for the 'e' option.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381669">381669</a></td><td>wdoekes</td><td>Remove "registertrying" and add "rtp_engine" from/to sip.conf.sample</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381702">381702</a></td><td>kharwell</td><td>Fixed Confbridge file recording deadlock and appending.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/AST-1088">AST-1088</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381737">381737</a></td><td>kharwell</td><td>Confbridge channels staying active when all participants leave.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/AST-1088">AST-1088</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=381835">381835</a></td><td>mjordan</td><td>Let vm_mailbox_snapshot_create's combine option apply to "Urgent" as well</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382069">382069</a></td><td>mjordan</td><td>Fix typo in r382068</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382096">382096</a></td><td>tzafrir</td><td>Remove unneeded linux-gnueabi*</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382108">382108</a></td><td>wdoekes</td><td>Correct RPID parsing for unquoted display-name.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382111">382111</a></td><td>tzafrir</td><td>Consider linux-gnuspe as linux-gnu</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382151">382151</a></td><td>file</td><td>Regenerate the configure script. The one in the tree was not working for me at all.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382296">382296</a></td><td>file</td><td>Fix a bug with ICE and strictrtp where media could get dropped.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382298">382298</a></td><td>file</td><td>While the ICE negotiation is occurring leave strictrtp in an open state, media can and will come from different places.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382385">382385</a></td><td>kharwell</td><td>Confbridge CLI new record file name check.</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/AST-1088">AST-1088</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382514">382514</a></td><td>kmoore</td><td>be played simultaneously. This is not necessarily the case.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382574">382574</a></td><td>kmoore</td><td>Ensure that logmsgs are freed properly</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382617">382617</a></td><td>mjordan</td><td>Let vm_mailbox_snapshot combine "Urgent" when no folder is specified</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=382827">382827</a></td><td>igorg</td><td>Fix core dump on CLI usage</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383062">383062</a></td><td>qwell</td><td>Fix whitespace in AST_EXT_LIB_CHECK macro.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383266">383266</a></td><td>file</td><td>Fix a bug where resources were not found due to hashing on the priority itself.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383341">383341</a></td><td>dlee</td><td>Removed codecs/g722/*.i on make clean</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383342">383342</a></td><td>dlee</td><td>Remove codecs/speex/*.i on make clean</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383457">383457</a></td><td>wdoekes</td><td>Minor cleanup in func_curl near hashcompat code.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383461">383461</a></td><td>wdoekes</td><td>Have func_curl log a warning when a curl request fails.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383668">383668</a></td><td>seanbright</td><td>Properly delimit post data in res_config_curl.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383836">383836</a></td><td>russell</td><td>Fix multi-station answer race condition.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383840">383840</a></td><td>mjordan</td><td>Resolve deadlock between pending CDR and batch CDR locks</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21162">ASTERISK-21162</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=383878">383878</a></td><td>mjordan</td><td>Resolve deadlock between SIP registration and channel based functions</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21068">ASTERISK-21068</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-20550">ASTERISK-20550</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21314">ASTERISK-21314</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21296">ASTERISK-21296</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=384163">384163</a></td><td>kmoore</td><td>Address uninitialized conditional that valgrind found</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388167">388167</a></td><td>bebuild</td><td>Create 11.4.0-rc2</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388168">388168</a></td><td>bebuild</td><td>Remove old summaries, update version</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388174">388174</a></td><td>bebuild</td><td>Merge blockers for 11.4.0-rc2</td>
|
||||
<td><a href="https://issues.asterisk.org/jira/browse/ASTERISK-21356">ASTERISK-21356</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21738">ASTERISK-21738</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21389">ASTERISK-21389</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21394">ASTERISK-21394</a>, <a href="https://issues.asterisk.org/jira/browse/ASTERISK-21429">ASTERISK-21429</a></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388198">388198</a></td><td>bebuild</td><td>Importing release summary for 11.4.0-rc2 release.</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388883">388883</a></td><td>bebuild</td><td>Create 11.4.0-rc3</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388884">388884</a></td><td>bebuild</td><td>Update .version, ChangeLog, remove old summaries, merge r388816</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/11?view=revision&revision=388887">388887</a></td><td>bebuild</td><td>Importing release summary for 11.4.0-rc3 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
|
||||
CHANGES | 3
|
||||
ChangeLog | 15 +
|
||||
Makefile | 50 +---
|
||||
UPGRADE.txt | 12 -
|
||||
addons/res_config_mysql.c | 29 --
|
||||
apps/app_confbridge.c | 204 +++++++++++++----
|
||||
apps/app_db.c | 8
|
||||
apps/app_dial.c | 2
|
||||
apps/app_meetme.c | 23 +
|
||||
apps/app_mixmonitor.c | 10
|
||||
apps/app_page.c | 105 ++++++--
|
||||
apps/app_parkandannounce.c | 2
|
||||
apps/app_playback.c | 2
|
||||
apps/app_voicemail.c | 48 ++--
|
||||
apps/confbridge/conf_config_parser.c | 39 +++
|
||||
apps/confbridge/conf_state_multi_marked.c | 8
|
||||
asterisk-11.4.0-rc2-summary.html | 66 -----
|
||||
asterisk-11.4.0-rc2-summary.txt | 101 --------
|
||||
asterisk-11.4.0-rc3-summary.html | 60 +++++
|
||||
asterisk-11.4.0-rc3-summary.txt | 90 +++++++
|
||||
autoconf/ast_ext_lib.m4 | 4
|
||||
channels/chan_dahdi.c | 7
|
||||
channels/chan_iax2.c | 4
|
||||
channels/chan_jingle.c | 1
|
||||
channels/chan_sip.c | 295 ++++++++++++++++---------
|
||||
channels/chan_skinny.c | 5
|
||||
channels/chan_unistim.c | 6
|
||||
channels/sig_pri.c | 7
|
||||
channels/sip/include/sip.h | 11
|
||||
channels/sip/security_events.c | 5
|
||||
codecs/Makefile | 4
|
||||
configs/confbridge.conf.sample | 4
|
||||
configs/sip.conf.sample | 3
|
||||
configure.ac | 6
|
||||
contrib/realtime/mysql/sippeers.sql | 16 -
|
||||
contrib/realtime/postgresql/realtime.sql | 4
|
||||
funcs/func_curl.c | 32 +-
|
||||
funcs/func_presencestate.c | 10
|
||||
include/asterisk/autoconfig.h.in | 5
|
||||
include/asterisk/channel.h | 3
|
||||
include/asterisk/logger.h | 9
|
||||
main/Makefile | 2
|
||||
main/autoservice.c | 15 -
|
||||
main/cdr.c | 24 +-
|
||||
main/dial.c | 13 -
|
||||
main/event.c | 7
|
||||
main/features.c | 13 -
|
||||
main/format_pref.c | 2
|
||||
main/http.c | 32 ++
|
||||
main/logger.c | 38 +++
|
||||
main/manager.c | 55 ++++
|
||||
main/presencestate.c | 3
|
||||
main/rtp_engine.c | 13 +
|
||||
main/tcptls.c | 5
|
||||
pbx/pbx_spool.c | 19 +
|
||||
res/Makefile | 24 +-
|
||||
res/pjproject/aconfigure | 294 ++++++++++++++++++++----
|
||||
res/pjproject/aconfigure.ac | 17 -
|
||||
res/pjproject/build/cc-auto.mak.in | 1
|
||||
res/pjproject/build/common.mak | 9
|
||||
res/pjproject/build/os-auto.mak.in | 4
|
||||
res/pjproject/build/rules.mak | 3
|
||||
res/pjproject/pjlib-util/build/Makefile | 10
|
||||
res/pjproject/pjlib/build/Makefile | 12 -
|
||||
res/pjproject/pjlib/include/pj/config_site.h | 1
|
||||
res/pjproject/pjlib/src/pj/log.c | 6
|
||||
res/pjproject/pjlib/src/pj/pool_buf.c | 2
|
||||
res/pjproject/pjlib/src/pj/ssl_sock_ossl.c | 6
|
||||
res/pjproject/pjmedia/build/Makefile | 22 +
|
||||
res/pjproject/pjmedia/src/test/test.c | 4
|
||||
res/pjproject/pjnath/build/Makefile | 16 -
|
||||
res/pjproject/pjsip-apps/build/Makefile | 12 -
|
||||
res/pjproject/pjsip-apps/src/samples/icedemo.c | 22 -
|
||||
res/pjproject/pjsip/build/Makefile | 21 +
|
||||
res/res_agi.c | 84 +++++--
|
||||
res/res_config_curl.c | 7
|
||||
res/res_format_attr_h264.c | 11
|
||||
res/res_rtp_asterisk.c | 110 +++++----
|
||||
res/res_xmpp.c | 18 -
|
||||
80 files changed, 1544 insertions(+), 733 deletions(-)
|
||||
</pre><br/>
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
690
asterisk-11.4.0-summary.txt
Normal file
690
asterisk-11.4.0-summary.txt
Normal file
@@ -0,0 +1,690 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-11.4.0
|
||||
|
||||
Date: 2013-05-17
|
||||
|
||||
<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-11.3.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
|
||||
15 mjordan 6 jbigelow 6 jbigelow
|
||||
10 rmudgett 2 elguero 4 jkister
|
||||
8 qwell 2 Jeremy Kister 4 mjordan
|
||||
7 bebuild 2 kmoore 2 wdoekes
|
||||
6 kharwell 2 rmudgett 1 /dev/null
|
||||
6 kmoore 1 andrea 1 aepshteyn
|
||||
6 wdoekes 1 Daniel Bohling 1 amsoft2001
|
||||
5 elguero 1 daroz 1 ascanland
|
||||
4 dlee 1 JoshE 1 avalentin
|
||||
4 file 1 myself 1 chengzhicn
|
||||
3 jrose 1 Pavel Troller 1 coriley
|
||||
3 mmichelson 1 Rusty Newton 1 daroz
|
||||
2 igorg 1 snuffy 1 dbohling
|
||||
2 tzafrir 1 wdoekes 1 Demon
|
||||
2 wedhorn 1 eelcob
|
||||
1 avalentin 1 ianc
|
||||
1 coriley 1 johan
|
||||
1 Dmitriy Serov 1 kris2k
|
||||
1 eelcob 1 marcelloceschia
|
||||
1 Heiko Wundram 1 mmichelson
|
||||
1 ianc 1 modelnine
|
||||
1 jcolp 1 n8ideas
|
||||
1 kmoore, wdoekes 1 nbansal
|
||||
1 marcelloceschia 1 patrol-cz
|
||||
1 nbansal 1 pgoergler
|
||||
1 Pavel Troller 1 rmudgett
|
||||
1 russell 1 rnewton
|
||||
1 seanbright 1 salecha
|
||||
1 serginuez 1 serginuez
|
||||
1 Zhi Cheng 1 shmagin
|
||||
1 sickpig
|
||||
1 tomaso
|
||||
1 tsearle
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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: Addons/res_config_mysql
|
||||
|
||||
ASTERISK-21035: [patch] - features.conf in static realtime requires
|
||||
distinct cat_metric for each parking lot
|
||||
Revision: 382943
|
||||
Reporter: aepshteyn
|
||||
Coders: elguero
|
||||
|
||||
Category: Applications/app_confbridge
|
||||
|
||||
ASTERISK-20990: Confbridge announcement not played
|
||||
Revision: 380894
|
||||
Reporter: jkister
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
ASTERISK-20991: Confbridge errors on leaving
|
||||
Revision: 380892
|
||||
Reporter: jkister
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
ASTERISK-20994: AMI command reception after app_confbridge.so unload
|
||||
results in crash
|
||||
Revision: 381067
|
||||
Reporter: jkister
|
||||
Testers: Rusty Newton, Jeremy Kister
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Applications/app_db
|
||||
|
||||
ASTERISK-21070: DBdeltree throws spurious error under almost all cases
|
||||
Revision: 381365
|
||||
Reporter: ianc
|
||||
Coders: ianc
|
||||
|
||||
Category: Applications/app_dial
|
||||
|
||||
ASTERISK-21113: app_dial.c does not honor 'c' flag when calling party
|
||||
hangs up
|
||||
Revision: 381880
|
||||
Reporter: modelnine
|
||||
Coders: Heiko Wundram
|
||||
|
||||
Category: Applications/app_mixmonitor
|
||||
|
||||
ASTERISK-21294: Calling StopMixMonitor on a channel w/o MixMonitor running
|
||||
returns -1
|
||||
Revision: 383631
|
||||
Reporter: daroz
|
||||
Testers: daroz
|
||||
Coders: elguero
|
||||
|
||||
Category: Applications/app_page
|
||||
|
||||
ASTERISK-20991: Confbridge errors on leaving
|
||||
Revision: 380892
|
||||
Reporter: jkister
|
||||
Testers: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Applications/app_parkandannounce
|
||||
|
||||
ASTERISK-20113: ParkAndAnnounce doesn't return to n+1 when no
|
||||
return_context defined
|
||||
Revision: 381917
|
||||
Reporter: serginuez
|
||||
Coders: serginuez
|
||||
|
||||
Category: Applications/app_playback
|
||||
|
||||
ASTERISK-20800: 'module reload app_playback.so' won't load say.conf if it
|
||||
didn't exist during module's first load
|
||||
Revision: 381217
|
||||
Reporter: pgoergler
|
||||
Coders: kharwell
|
||||
|
||||
Category: Applications/app_queue
|
||||
|
||||
ASTERISK-19960: Incorrect data in queue_log, event TRANSFER, field data1
|
||||
Revision: 381791
|
||||
Reporter: shmagin
|
||||
Coders: kharwell
|
||||
|
||||
Category: Channels/chan_dahdi
|
||||
|
||||
ASTERISK-21248: CALLERID(dnid-num-plan) does not get any value set.
|
||||
Revision: 383798
|
||||
Reporter: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: Channels/chan_gulp
|
||||
|
||||
ASTERISK-20815: Fix pjproject's build system to be tolerant of build
|
||||
errors and parallel building
|
||||
Revision: 380816
|
||||
Reporter: mjordan
|
||||
Coders: qwell
|
||||
|
||||
Category: Channels/chan_iax2
|
||||
|
||||
ASTERISK-21128: Locking inversion when attempting to set caller ID while
|
||||
holding iaxsl lock causes deadlock
|
||||
Revision: 382234
|
||||
Reporter: patrol-cz
|
||||
Testers: Pavel Troller
|
||||
Coders: mjordan, Pavel Troller
|
||||
|
||||
Category: Channels/chan_jingle
|
||||
|
||||
ASTERISK-19341: Missing initialization on bind_addr
|
||||
Revision: 381976
|
||||
Reporter: avalentin
|
||||
Coders: avalentin
|
||||
|
||||
Category: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-20787: Asterisk should inspect Min-SE header in an INVITE even if
|
||||
there is no Session-Expires present
|
||||
Revision: 380698
|
||||
Reporter: mmichelson
|
||||
Coders: dlee
|
||||
|
||||
ASTERISK-20904: RFC1918 NAT Issue On Prune
|
||||
Revision: 382322
|
||||
Reporter: n8ideas
|
||||
Testers: JoshE, elguero
|
||||
Coders: elguero
|
||||
|
||||
ASTERISK-20929: Core-dump on SIP BYE for an invalid call transaction
|
||||
Revision: 381566
|
||||
Reporter: kris2k
|
||||
Coders: mmichelson
|
||||
|
||||
ASTERISK-21013: Security Vulnerability: sip username disclosure
|
||||
Revision: 384003
|
||||
Reporter: wdoekes
|
||||
Testers: wdoekes, kmoore
|
||||
Coders: kmoore, wdoekes
|
||||
|
||||
ASTERISK-21201: [patch] In Manager Interface, SIP registry event does not
|
||||
show username on Status: Registered
|
||||
Revision: 382848
|
||||
Reporter: Demon
|
||||
Coders: Dmitriy Serov
|
||||
|
||||
ASTERISK-21232: Asterisk sends AUDIO REINVITE when session timer expires
|
||||
in T38 call
|
||||
Revision: 383125
|
||||
Reporter: nbansal
|
||||
Coders: nbansal
|
||||
|
||||
Category: Channels/chan_sip/Interoperability
|
||||
|
||||
ASTERISK-20638: SIP dialog matching is incorrect when multiple provisional
|
||||
responses are received with pedantic SIP checking
|
||||
Revision: 382174
|
||||
Reporter: eelcob
|
||||
Coders: eelcob
|
||||
|
||||
Category: Channels/chan_sip/Messaging
|
||||
|
||||
ASTERISK-21148: [patch] - Asterisk use '(null)' in 'via' header and
|
||||
'call-id' header when relaying SIP MESSAGE
|
||||
Revision: 382739
|
||||
Reporter: chengzhicn
|
||||
Coders: Zhi Cheng
|
||||
|
||||
Category: Channels/chan_sip/SRTP
|
||||
|
||||
ASTERISK-21323: Asterisk 11 svn branch and srtp - white noise only
|
||||
Revision: 384049
|
||||
Reporter: sickpig
|
||||
Testers: kmoore, andrea, jbigelow
|
||||
Coders: kmoore
|
||||
|
||||
Category: Channels/chan_skinny
|
||||
|
||||
ASTERISK-16610: problem to reload the module skinny when active calls.
|
||||
Revision: 380942
|
||||
Reporter: salecha
|
||||
Testers: snuffy, myself
|
||||
Coders: wedhorn
|
||||
|
||||
Category: Channels/chan_unistim
|
||||
|
||||
ASTERISK-21119: Asterisk system locks up with chan_unistim
|
||||
Revision: 382410
|
||||
Reporter: dbohling
|
||||
Testers: Daniel Bohling
|
||||
Coders: igorg
|
||||
|
||||
Category: Contrib/General
|
||||
|
||||
ASTERISK-21173: [patch] example sippeers sql hasn't been adapted for ipv6
|
||||
and causes chan_sip to generate a warning message
|
||||
Revision: 382940
|
||||
Reporter: tsearle
|
||||
Coders: elguero
|
||||
|
||||
Category: Core/BuildSystem
|
||||
|
||||
ASTERISK-20749: Cannot enable res_timing_kqueue via "make menuselect"
|
||||
Revision: 381848
|
||||
Reporter: /dev/null
|
||||
Coders: mjordan
|
||||
|
||||
Category: Core/General
|
||||
|
||||
ASTERISK-21014: logger.c Call_ID 'bound' or 'removed' DEBUG messages
|
||||
spammed during a feature code attended transfer
|
||||
Revision: 381554
|
||||
Reporter: rnewton
|
||||
Coders: kharwell
|
||||
|
||||
Category: Core/HTTP
|
||||
|
||||
ASTERISK-20967: Security Vulnerability: DoS attack possible due to fix for
|
||||
CVE-2012-5976
|
||||
Revision: 383978
|
||||
Reporter: mjordan
|
||||
Coders: mmichelson
|
||||
|
||||
ASTERISK-20967: Security Vulnerability: DoS attack possible due to fix for
|
||||
CVE-2012-5976
|
||||
Revision: 384119
|
||||
Reporter: mjordan
|
||||
Coders: wdoekes
|
||||
|
||||
Category: Core/ManagerInterface
|
||||
|
||||
ASTERISK-20397: "manager show user " shows the "all" permission despite it
|
||||
not being set
|
||||
Revision: 381943
|
||||
Reporter: johan
|
||||
Coders: mjordan
|
||||
|
||||
Category: Features
|
||||
|
||||
ASTERISK-21014: logger.c Call_ID 'bound' or 'removed' DEBUG messages
|
||||
spammed during a feature code attended transfer
|
||||
Revision: 381554
|
||||
Reporter: rnewton
|
||||
Coders: kharwell
|
||||
|
||||
Category: Functions/func_callerid
|
||||
|
||||
ASTERISK-21248: CALLERID(dnid-num-plan) does not get any value set.
|
||||
Revision: 383798
|
||||
Reporter: rmudgett
|
||||
Coders: rmudgett
|
||||
|
||||
Category: General
|
||||
|
||||
ASTERISK-19451: va_start/va_copy and va_end do not always match up
|
||||
Revision: 382022
|
||||
Reporter: wdoekes
|
||||
Coders: wdoekes
|
||||
|
||||
ASTERISK-20994: AMI command reception after app_confbridge.so unload
|
||||
results in crash
|
||||
Revision: 381067
|
||||
Reporter: jkister
|
||||
Testers: Rusty Newton, Jeremy Kister
|
||||
Coders: rmudgett
|
||||
|
||||
Category: PBX/pbx_spool
|
||||
|
||||
ASTERISK-21176: Call files on OS X, using KQueue, do not get processed
|
||||
(load 100%)
|
||||
Revision: 383121
|
||||
Reporter: coriley
|
||||
Coders: coriley
|
||||
|
||||
Category: Resources/res_agi
|
||||
|
||||
ASTERISK-21065: Asterisk 11 IPv6 - FastAGI fail
|
||||
Revision: 381893
|
||||
Reporter: jkister
|
||||
Testers: Jeremy Kister, elguero
|
||||
Coders: elguero
|
||||
|
||||
Category: Resources/res_format_attr_h264
|
||||
|
||||
ASTERISK-20901: Security Vulnerability: Possible stack corruption in when
|
||||
parsing H.264 format attributes
|
||||
Revision: 383973
|
||||
Reporter: mjordan
|
||||
Coders: jrose
|
||||
|
||||
Category: Resources/res_xmpp
|
||||
|
||||
ASTERISK-20982: xmpp Segfault when delete node using cli
|
||||
Revision: 381159
|
||||
Reporter: marcelloceschia
|
||||
Coders: marcelloceschia
|
||||
|
||||
ASTERISK-21156: Asterisk crashes with XMPP\Google Voice config where
|
||||
username is missing hostname portion
|
||||
Revision: 382923
|
||||
Reporter: amsoft2001
|
||||
Coders: jcolp
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | chan_dahdi: Fix "dahdi show | |
|
||||
| 380575 | rmudgett | channels group" for groups | |
|
||||
| | | greater than 31. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380612 | rmudgett | Make CHECK_BLOCKING() debug | |
|
||||
| | | message more useful. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380671 | qwell | Remove a cross-compile | |
|
||||
| | | workaround. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Always check for libm, | |
|
||||
| 380672 | qwell | regardless of configure | |
|
||||
| | | options. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380673 | qwell | Add support for parallel | ASTERISK-20815 |
|
||||
| | | builds of pjproject. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380735 | qwell | Fix a few compiler warnings. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380736 | qwell | Ignore warnings caused by | |
|
||||
| | | PJ_TODO()s in pjproject. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380854 | rmudgett | Separate option_types[] from | |
|
||||
| | | the struct definition. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Because the compiler can | |
|
||||
| 380856 | rmudgett | check types with a struct | |
|
||||
| | | copy and memcpy() cannot. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | app_page: Fixup application | |
|
||||
| 380869 | rmudgett | XML documentation typos and | |
|
||||
| | | inaccuracies. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380926 | wedhorn | Reset skinny vmexten on | |
|
||||
| | | reload. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 380974 | dlee | Fixed failing test from | ASTERISK-20787 |
|
||||
| | | r380696. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Fix some more | |
|
||||
| 381282 | kmoore | REF_DEBUG-related build | |
|
||||
| | | errors | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Do not allow native RTP | |
|
||||
| 381306 | mmichelson | bridging if packetization of | |
|
||||
| | | media streams differs. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | End stuck DTMF if | |
|
||||
| 381467 | rmudgett | AST_SOFTHANGUP_ASYNCGOTO | ASTERISK-20492 |
|
||||
| | | because it isn't a real | |
|
||||
| | | hangup. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | chan_sip: Use video and text | |
|
||||
| 381553 | jrose | crypto attributes to append | |
|
||||
| | | RTP profiles to SDP | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Don't send presencestate | |
|
||||
| 381613 | mjordan | information if the state is | AST-1084 |
|
||||
| | | invalid | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | PRESENCE_STATE: Provide | |
|
||||
| 381655 | jrose | better documentation for the | |
|
||||
| | | 'e' option. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Remove "registertrying" and | |
|
||||
| 381669 | wdoekes | add "rtp_engine" from/to | |
|
||||
| | | sip.conf.sample | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Fixed Confbridge file | |
|
||||
| 381702 | kharwell | recording deadlock and | AST-1088 |
|
||||
| | | appending. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Confbridge channels staying | |
|
||||
| 381737 | kharwell | active when all participants | AST-1088 |
|
||||
| | | leave. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Let | |
|
||||
| 381835 | mjordan | vm_mailbox_snapshot_create's | |
|
||||
| | | combine option apply to | |
|
||||
| | | "Urgent" as well | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382069 | mjordan | Fix typo in r382068 | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382096 | tzafrir | Remove unneeded | |
|
||||
| | | linux-gnueabi* | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382108 | wdoekes | Correct RPID parsing for | |
|
||||
| | | unquoted display-name. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382111 | tzafrir | Consider linux-gnuspe as | |
|
||||
| | | linux-gnu | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Regenerate the configure | |
|
||||
| 382151 | file | script. The one in the tree | |
|
||||
| | | was not working for me at | |
|
||||
| | | all. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Fix a bug with ICE and | |
|
||||
| 382296 | file | strictrtp where media could | |
|
||||
| | | get dropped. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | While the ICE negotiation is | |
|
||||
| | | occurring leave strictrtp in | |
|
||||
| 382298 | file | an open state, media can and | |
|
||||
| | | will come from different | |
|
||||
| | | places. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382385 | kharwell | Confbridge CLI new record | AST-1088 |
|
||||
| | | file name check. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | be played simultaneously. | |
|
||||
| 382514 | kmoore | This is not necessarily the | |
|
||||
| | | case. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382574 | kmoore | Ensure that logmsgs are | |
|
||||
| | | freed properly | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Let vm_mailbox_snapshot | |
|
||||
| 382617 | mjordan | combine "Urgent" when no | |
|
||||
| | | folder is specified | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 382827 | igorg | Fix core dump on CLI usage | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383062 | qwell | Fix whitespace in | |
|
||||
| | | AST_EXT_LIB_CHECK macro. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Fix a bug where resources | |
|
||||
| 383266 | file | were not found due to | |
|
||||
| | | hashing on the priority | |
|
||||
| | | itself. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383341 | dlee | Removed codecs/g722/*.i on | |
|
||||
| | | make clean | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383342 | dlee | Remove codecs/speex/*.i on | |
|
||||
| | | make clean | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383457 | wdoekes | Minor cleanup in func_curl | |
|
||||
| | | near hashcompat code. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383461 | wdoekes | Have func_curl log a warning | |
|
||||
| | | when a curl request fails. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383668 | seanbright | Properly delimit post data | |
|
||||
| | | in res_config_curl. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 383836 | russell | Fix multi-station answer | |
|
||||
| | | race condition. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Resolve deadlock between | |
|
||||
| 383840 | mjordan | pending CDR and batch CDR | ASTERISK-21162 |
|
||||
| | | locks | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Resolve deadlock between SIP | ASTERISK-21068, |
|
||||
| 383878 | mjordan | registration and channel | ASTERISK-20550, |
|
||||
| | | based functions | ASTERISK-21314, |
|
||||
| | | | ASTERISK-21296 |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Address uninitialized | |
|
||||
| 384163 | kmoore | conditional that valgrind | |
|
||||
| | | found | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 388167 | bebuild | Create 11.4.0-rc2 | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 388168 | bebuild | Remove old summaries, update | |
|
||||
| | | version | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | | ASTERISK-21356, |
|
||||
| | | Merge blockers for | ASTERISK-21738, |
|
||||
| 388174 | bebuild | 11.4.0-rc2 | ASTERISK-21389, |
|
||||
| | | | ASTERISK-21394, |
|
||||
| | | | ASTERISK-21429 |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 388198 | bebuild | Importing release summary | |
|
||||
| | | for 11.4.0-rc2 release. | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 388883 | bebuild | Create 11.4.0-rc3 | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| | | Update .version, ChangeLog, | |
|
||||
| 388884 | bebuild | remove old summaries, merge | |
|
||||
| | | r388816 | |
|
||||
|----------+------------+------------------------------+-----------------|
|
||||
| 388887 | bebuild | Importing release summary | |
|
||||
| | | for 11.4.0-rc3 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
|
||||
CHANGES | 3
|
||||
ChangeLog | 15 +
|
||||
Makefile | 50 +---
|
||||
UPGRADE.txt | 12 -
|
||||
addons/res_config_mysql.c | 29 --
|
||||
apps/app_confbridge.c | 204 +++++++++++++----
|
||||
apps/app_db.c | 8
|
||||
apps/app_dial.c | 2
|
||||
apps/app_meetme.c | 23 +
|
||||
apps/app_mixmonitor.c | 10
|
||||
apps/app_page.c | 105 ++++++--
|
||||
apps/app_parkandannounce.c | 2
|
||||
apps/app_playback.c | 2
|
||||
apps/app_voicemail.c | 48 ++--
|
||||
apps/confbridge/conf_config_parser.c | 39 +++
|
||||
apps/confbridge/conf_state_multi_marked.c | 8
|
||||
asterisk-11.4.0-rc2-summary.html | 66 -----
|
||||
asterisk-11.4.0-rc2-summary.txt | 101 --------
|
||||
asterisk-11.4.0-rc3-summary.html | 60 +++++
|
||||
asterisk-11.4.0-rc3-summary.txt | 90 +++++++
|
||||
autoconf/ast_ext_lib.m4 | 4
|
||||
channels/chan_dahdi.c | 7
|
||||
channels/chan_iax2.c | 4
|
||||
channels/chan_jingle.c | 1
|
||||
channels/chan_sip.c | 295 ++++++++++++++++---------
|
||||
channels/chan_skinny.c | 5
|
||||
channels/chan_unistim.c | 6
|
||||
channels/sig_pri.c | 7
|
||||
channels/sip/include/sip.h | 11
|
||||
channels/sip/security_events.c | 5
|
||||
codecs/Makefile | 4
|
||||
configs/confbridge.conf.sample | 4
|
||||
configs/sip.conf.sample | 3
|
||||
configure.ac | 6
|
||||
contrib/realtime/mysql/sippeers.sql | 16 -
|
||||
contrib/realtime/postgresql/realtime.sql | 4
|
||||
funcs/func_curl.c | 32 +-
|
||||
funcs/func_presencestate.c | 10
|
||||
include/asterisk/autoconfig.h.in | 5
|
||||
include/asterisk/channel.h | 3
|
||||
include/asterisk/logger.h | 9
|
||||
main/Makefile | 2
|
||||
main/autoservice.c | 15 -
|
||||
main/cdr.c | 24 +-
|
||||
main/dial.c | 13 -
|
||||
main/event.c | 7
|
||||
main/features.c | 13 -
|
||||
main/format_pref.c | 2
|
||||
main/http.c | 32 ++
|
||||
main/logger.c | 38 +++
|
||||
main/manager.c | 55 ++++
|
||||
main/presencestate.c | 3
|
||||
main/rtp_engine.c | 13 +
|
||||
main/tcptls.c | 5
|
||||
pbx/pbx_spool.c | 19 +
|
||||
res/Makefile | 24 +-
|
||||
res/pjproject/aconfigure | 294 ++++++++++++++++++++----
|
||||
res/pjproject/aconfigure.ac | 17 -
|
||||
res/pjproject/build/cc-auto.mak.in | 1
|
||||
res/pjproject/build/common.mak | 9
|
||||
res/pjproject/build/os-auto.mak.in | 4
|
||||
res/pjproject/build/rules.mak | 3
|
||||
res/pjproject/pjlib-util/build/Makefile | 10
|
||||
res/pjproject/pjlib/build/Makefile | 12 -
|
||||
res/pjproject/pjlib/include/pj/config_site.h | 1
|
||||
res/pjproject/pjlib/src/pj/log.c | 6
|
||||
res/pjproject/pjlib/src/pj/pool_buf.c | 2
|
||||
res/pjproject/pjlib/src/pj/ssl_sock_ossl.c | 6
|
||||
res/pjproject/pjmedia/build/Makefile | 22 +
|
||||
res/pjproject/pjmedia/src/test/test.c | 4
|
||||
res/pjproject/pjnath/build/Makefile | 16 -
|
||||
res/pjproject/pjsip-apps/build/Makefile | 12 -
|
||||
res/pjproject/pjsip-apps/src/samples/icedemo.c | 22 -
|
||||
res/pjproject/pjsip/build/Makefile | 21 +
|
||||
res/res_agi.c | 84 +++++--
|
||||
res/res_config_curl.c | 7
|
||||
res/res_format_attr_h264.c | 11
|
||||
res/res_rtp_asterisk.c | 110 +++++----
|
||||
res/res_xmpp.c | 18 -
|
||||
80 files changed, 1544 insertions(+), 733 deletions(-)
|
||||
|
||||
----------------------------------------------------------------------
|
@@ -7549,8 +7549,11 @@ static enum ast_bridge_result ast_generic_bridge(struct ast_channel *c0, struct
|
||||
if (ast_channel_softhangup_internal_flag(c1) & AST_SOFTHANGUP_UNBRIDGE) {
|
||||
ast_channel_clear_softhangup(c1, AST_SOFTHANGUP_UNBRIDGE);
|
||||
}
|
||||
ast_channel_lock_both(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c1, c0);
|
||||
ast_channel_unlock(c0);
|
||||
ast_channel_unlock(c1);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
@@ -7831,8 +7834,11 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
|
||||
}
|
||||
|
||||
/* Keep track of bridge */
|
||||
ast_channel_lock_both(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c1, c0);
|
||||
ast_channel_unlock(c0);
|
||||
ast_channel_unlock(c1);
|
||||
|
||||
ast_set_owners_and_peers(c0, c1);
|
||||
|
||||
@@ -7926,8 +7932,11 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
|
||||
if (ast_channel_softhangup_internal_flag(c1) & AST_SOFTHANGUP_UNBRIDGE) {
|
||||
ast_channel_clear_softhangup(c1, AST_SOFTHANGUP_UNBRIDGE);
|
||||
}
|
||||
ast_channel_lock_both(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c1, c0);
|
||||
ast_channel_unlock(c0);
|
||||
ast_channel_unlock(c1);
|
||||
ast_debug(1, "Unbridge signal received. Ending native bridge.\n");
|
||||
continue;
|
||||
}
|
||||
@@ -7973,8 +7982,11 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
|
||||
continue;
|
||||
}
|
||||
|
||||
ast_channel_lock_both(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c0, NULL);
|
||||
ast_channel_internal_bridged_channel_set(c1, NULL);
|
||||
ast_channel_unlock(c0);
|
||||
ast_channel_unlock(c1);
|
||||
ast_format_cap_destroy(o0nativeformats);
|
||||
ast_format_cap_destroy(o1nativeformats);
|
||||
return res;
|
||||
@@ -8031,8 +8043,11 @@ enum ast_bridge_result ast_channel_bridge(struct ast_channel *c0, struct ast_cha
|
||||
ast_indicate(c0, AST_CONTROL_SRCUPDATE);
|
||||
ast_indicate(c1, AST_CONTROL_SRCUPDATE);
|
||||
|
||||
ast_channel_lock_both(c0, c1);
|
||||
ast_channel_internal_bridged_channel_set(c0, NULL);
|
||||
ast_channel_internal_bridged_channel_set(c1, NULL);
|
||||
ast_channel_unlock(c0);
|
||||
ast_channel_unlock(c1);
|
||||
|
||||
manager_bridge_event(0, 1, c0, c1);
|
||||
ast_debug(1, "Bridge stops bridging channels %s and %s\n", ast_channel_name(c0), ast_channel_name(c1));
|
||||
|
@@ -705,7 +705,7 @@ static void *run_devstate_collector(void *data)
|
||||
static void devstate_change_collector_cb(const struct ast_event *event, void *data)
|
||||
{
|
||||
struct devstate_change *sc;
|
||||
const char *device;
|
||||
const char *device, *cachable_str;
|
||||
const struct ast_eid *eid;
|
||||
uint32_t state;
|
||||
enum ast_devstate_cache cachable = AST_DEVSTATE_CACHABLE;
|
||||
@@ -713,7 +713,6 @@ static void devstate_change_collector_cb(const struct ast_event *event, void *da
|
||||
device = ast_event_get_ie_str(event, AST_EVENT_IE_DEVICE);
|
||||
eid = ast_event_get_ie_raw(event, AST_EVENT_IE_EID);
|
||||
state = ast_event_get_ie_uint(event, AST_EVENT_IE_STATE);
|
||||
cachable = ast_event_get_ie_uint(event, AST_EVENT_IE_CACHABLE);
|
||||
|
||||
if (ast_strlen_zero(device) || !eid) {
|
||||
ast_log(LOG_ERROR, "Invalid device state change event received\n");
|
||||
@@ -726,6 +725,16 @@ static void devstate_change_collector_cb(const struct ast_event *event, void *da
|
||||
strcpy(sc->device, device);
|
||||
sc->eid = *eid;
|
||||
sc->state = state;
|
||||
|
||||
/* For 'cachable' we cannot use ast_event_get_ie_uint(), it overwrites the default of AST_DEVSTATE_CACHABLE we
|
||||
* have already setup for 'cachable', if for whatever reason the AST_EVENT_IE_CACHABLE wasn't
|
||||
* posted in the event ast_event_get_ie_uint() is going will return 0,
|
||||
* which equates to AST_DEVSTATE_NOT_CACHABLE the first enumeration in 'ast_devstate_cache'.
|
||||
*/
|
||||
|
||||
if ((cachable_str = ast_event_get_ie_str(event, AST_EVENT_IE_CACHABLE))) {
|
||||
sscanf(cachable_str, "%30u", &cachable);
|
||||
}
|
||||
sc->cachable = cachable;
|
||||
|
||||
ast_mutex_lock(&devstate_collector.lock);
|
||||
|
@@ -4552,17 +4552,6 @@ int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer, struct a
|
||||
if (!f || (f->frametype == AST_FRAME_CONTROL &&
|
||||
(f->subclass.integer == AST_CONTROL_HANGUP || f->subclass.integer == AST_CONTROL_BUSY ||
|
||||
f->subclass.integer == AST_CONTROL_CONGESTION))) {
|
||||
/*
|
||||
* If the bridge was broken for a hangup that isn't real,
|
||||
* then don't run the h extension, because the channel isn't
|
||||
* really hung up. This should really only happen with AST_SOFTHANGUP_ASYNCGOTO,
|
||||
* but it doesn't hurt to check AST_SOFTHANGUP_UNBRIDGE either.
|
||||
*/
|
||||
ast_channel_lock(chan);
|
||||
if (ast_channel_softhangup_internal_flag(chan) & (AST_SOFTHANGUP_ASYNCGOTO | AST_SOFTHANGUP_UNBRIDGE)) {
|
||||
ast_set_flag(ast_channel_flags(chan), AST_FLAG_BRIDGE_HANGUP_DONT);
|
||||
}
|
||||
ast_channel_unlock(chan);
|
||||
res = -1;
|
||||
break;
|
||||
}
|
||||
@@ -4749,7 +4738,12 @@ before_you_go:
|
||||
config->end_bridge_callback(config->end_bridge_callback_data);
|
||||
}
|
||||
|
||||
if (!ast_test_flag(&config->features_caller, AST_FEATURE_NO_H_EXTEN)) {
|
||||
/* run the hangup exten on the chan object IFF it was NOT involved in a parking situation
|
||||
* if it were, then chan belongs to a different thread now, and might have been hung up long
|
||||
* ago.
|
||||
*/
|
||||
if (!(ast_channel_softhangup_internal_flag(chan) & (AST_SOFTHANGUP_ASYNCGOTO | AST_SOFTHANGUP_UNBRIDGE))
|
||||
&& !ast_test_flag(&config->features_caller, AST_FEATURE_NO_H_EXTEN)) {
|
||||
struct ast_cdr *swapper = NULL;
|
||||
char savelastapp[AST_MAX_EXTENSION];
|
||||
char savelastdata[AST_MAX_EXTENSION];
|
||||
@@ -7575,7 +7569,7 @@ static int manager_parkinglot_list(struct mansession *s, const struct message *m
|
||||
return RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Dump parking lot status
|
||||
* \param s
|
||||
* \param m
|
||||
|
@@ -3339,14 +3339,15 @@ static int aji_handle_pubsub_event(void *data, ikspak *pak)
|
||||
return IKS_FILTER_EAT;
|
||||
}
|
||||
if (!strcasecmp(iks_name(item_content), "state")) {
|
||||
device_state = iks_find_cdata(item, "state");
|
||||
if ((cachable_str = iks_find_cdata(item, "cachable"))) {
|
||||
if ((cachable_str = iks_find_attrib(item_content, "cachable"))) {
|
||||
sscanf(cachable_str, "%30d", &cachable);
|
||||
}
|
||||
device_state = iks_find_cdata(item, "state");
|
||||
if (!(event = ast_event_new(AST_EVENT_DEVICE_STATE_CHANGE,
|
||||
AST_EVENT_IE_DEVICE, AST_EVENT_IE_PLTYPE_STR, item_id, AST_EVENT_IE_STATE,
|
||||
AST_EVENT_IE_PLTYPE_UINT, ast_devstate_val(device_state), AST_EVENT_IE_EID,
|
||||
AST_EVENT_IE_PLTYPE_RAW, &pubsub_eid, sizeof(pubsub_eid),
|
||||
AST_EVENT_IE_CACHABLE, AST_EVENT_IE_PLTYPE_UINT, cachable,
|
||||
AST_EVENT_IE_END))) {
|
||||
return IKS_FILTER_EAT;
|
||||
}
|
||||
|
@@ -31,8 +31,10 @@
|
||||
|
||||
ASTERISK_FILE_VERSION(__FILE__, "$Revision$");
|
||||
|
||||
#include <stdbool.h>
|
||||
#include <math.h>
|
||||
#include <sys/select.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
#include "asterisk/module.h"
|
||||
#include "asterisk/timing.h"
|
||||
@@ -40,7 +42,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$");
|
||||
#include "asterisk/astobj2.h"
|
||||
#include "asterisk/time.h"
|
||||
#include "asterisk/lock.h"
|
||||
#include "asterisk/poll-compat.h"
|
||||
|
||||
static void *timing_funcs_handle;
|
||||
|
||||
@@ -91,13 +92,15 @@ struct pthread_timer {
|
||||
unsigned int tick_count;
|
||||
unsigned int pending_ticks;
|
||||
struct timeval start;
|
||||
unsigned int continuous:1;
|
||||
bool continuous:1;
|
||||
bool pipe_signaled:1;
|
||||
};
|
||||
|
||||
static void pthread_timer_destructor(void *obj);
|
||||
static struct pthread_timer *find_timer(int handle, int unlinkobj);
|
||||
static void write_byte(struct pthread_timer *timer);
|
||||
static int read_pipe(struct pthread_timer *timer, unsigned int num);
|
||||
static void signal_pipe(struct pthread_timer *timer);
|
||||
static void unsignal_pipe(struct pthread_timer *timer);
|
||||
static void ack_ticks(struct pthread_timer *timer, unsigned int num);
|
||||
|
||||
/*!
|
||||
* \brief Data for the timing thread
|
||||
@@ -113,6 +116,7 @@ static int pthread_timer_open(void)
|
||||
{
|
||||
struct pthread_timer *timer;
|
||||
int fd;
|
||||
int i;
|
||||
|
||||
if (!(timer = ao2_alloc(sizeof(*timer), pthread_timer_destructor))) {
|
||||
errno = ENOMEM;
|
||||
@@ -127,6 +131,12 @@ static int pthread_timer_open(void)
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < ARRAY_LEN(timer->pipe); ++i) {
|
||||
int flags = fcntl(timer->pipe[i], F_GETFL);
|
||||
flags |= O_NONBLOCK;
|
||||
fcntl(timer->pipe[i], F_SETFL, flags);
|
||||
}
|
||||
|
||||
ao2_lock(pthread_timers);
|
||||
if (!ao2_container_count(pthread_timers)) {
|
||||
ast_mutex_lock(&timing_thread.lock);
|
||||
@@ -193,7 +203,6 @@ static int pthread_timer_set_rate(int handle, unsigned int rate)
|
||||
static int pthread_timer_ack(int handle, unsigned int quantity)
|
||||
{
|
||||
struct pthread_timer *timer;
|
||||
int res;
|
||||
|
||||
ast_assert(quantity > 0);
|
||||
|
||||
@@ -202,12 +211,12 @@ static int pthread_timer_ack(int handle, unsigned int quantity)
|
||||
}
|
||||
|
||||
ao2_lock(timer);
|
||||
res = read_pipe(timer, quantity);
|
||||
ack_ticks(timer, quantity);
|
||||
ao2_unlock(timer);
|
||||
|
||||
ao2_ref(timer, -1);
|
||||
|
||||
return res;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int pthread_timer_enable_continuous(int handle)
|
||||
@@ -221,8 +230,8 @@ static int pthread_timer_enable_continuous(int handle)
|
||||
|
||||
ao2_lock(timer);
|
||||
if (!timer->continuous) {
|
||||
timer->continuous = 1;
|
||||
write_byte(timer);
|
||||
timer->continuous = true;
|
||||
signal_pipe(timer);
|
||||
}
|
||||
ao2_unlock(timer);
|
||||
|
||||
@@ -242,13 +251,8 @@ static int pthread_timer_disable_continuous(int handle)
|
||||
|
||||
ao2_lock(timer);
|
||||
if (timer->continuous) {
|
||||
timer->continuous = 0;
|
||||
if (read_pipe(timer, 1) != 0) {
|
||||
/* Let the errno from read_pipe propagate up */
|
||||
ao2_unlock(timer);
|
||||
ao2_ref(timer, -1);
|
||||
return -1;
|
||||
}
|
||||
timer->continuous = false;
|
||||
unsignal_pipe(timer);
|
||||
}
|
||||
ao2_unlock(timer);
|
||||
|
||||
@@ -267,7 +271,7 @@ static enum ast_timer_event pthread_timer_get_event(int handle)
|
||||
}
|
||||
|
||||
ao2_lock(timer);
|
||||
if (timer->continuous && timer->pending_ticks == 1) {
|
||||
if (timer->continuous) {
|
||||
res = AST_TIMING_EVENT_CONTINUOUS;
|
||||
}
|
||||
ao2_unlock(timer);
|
||||
@@ -366,79 +370,69 @@ static int check_timer(struct pthread_timer *timer)
|
||||
/*!
|
||||
* \internal
|
||||
* \pre timer is locked
|
||||
* \retval 0 if nothing to read or read success
|
||||
* \retval -1 on error
|
||||
*/
|
||||
static int read_pipe(struct pthread_timer *timer, unsigned int quantity)
|
||||
static void ack_ticks(struct pthread_timer *timer, unsigned int quantity)
|
||||
{
|
||||
int rd_fd = timer->pipe[PIPE_READ];
|
||||
int pending_ticks = timer->pending_ticks;
|
||||
|
||||
ast_assert(quantity);
|
||||
|
||||
if (timer->continuous && pending_ticks) {
|
||||
pending_ticks--;
|
||||
}
|
||||
|
||||
if (quantity > pending_ticks) {
|
||||
quantity = pending_ticks;
|
||||
}
|
||||
|
||||
if (!quantity) {
|
||||
return 0;
|
||||
return;
|
||||
}
|
||||
|
||||
do {
|
||||
unsigned char buf[1024];
|
||||
ssize_t res;
|
||||
struct pollfd pfd = {
|
||||
.fd = rd_fd,
|
||||
.events = POLLIN,
|
||||
};
|
||||
timer->pending_ticks -= quantity;
|
||||
|
||||
if (ast_poll(&pfd, 1, 0) != 1) {
|
||||
ast_debug(1, "Reading not available on timing pipe, "
|
||||
"quantity: %u\n", quantity);
|
||||
return -1;
|
||||
}
|
||||
|
||||
res = read(rd_fd, buf,
|
||||
(quantity < sizeof(buf)) ? quantity : sizeof(buf));
|
||||
|
||||
if (res == -1) {
|
||||
if (errno == EAGAIN) {
|
||||
continue;
|
||||
}
|
||||
ast_log(LOG_ERROR, "read failed on timing pipe: %s\n",
|
||||
strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
quantity -= res;
|
||||
timer->pending_ticks -= res;
|
||||
} while (quantity);
|
||||
|
||||
return 0;
|
||||
if ((0 == timer->pending_ticks) && !timer->continuous) {
|
||||
unsignal_pipe(timer);
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* \internal
|
||||
* \pre timer is locked
|
||||
*/
|
||||
static void write_byte(struct pthread_timer *timer)
|
||||
static void signal_pipe(struct pthread_timer *timer)
|
||||
{
|
||||
ssize_t res;
|
||||
unsigned char x = 42;
|
||||
|
||||
do {
|
||||
res = write(timer->pipe[PIPE_WRITE], &x, 1);
|
||||
} while (res == -1 && errno == EAGAIN);
|
||||
if (timer->pipe_signaled) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (res == -1) {
|
||||
res = write(timer->pipe[PIPE_WRITE], &x, 1);
|
||||
if (-1 == res) {
|
||||
ast_log(LOG_ERROR, "Error writing to timing pipe: %s\n",
|
||||
strerror(errno));
|
||||
} else {
|
||||
timer->pending_ticks++;
|
||||
timer->pipe_signaled = true;
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* \internal
|
||||
* \pre timer is locked
|
||||
*/
|
||||
static void unsignal_pipe(struct pthread_timer *timer)
|
||||
{
|
||||
ssize_t res;
|
||||
unsigned long buffer;
|
||||
|
||||
if (!timer->pipe_signaled) {
|
||||
return;
|
||||
}
|
||||
|
||||
res = read(timer->pipe[PIPE_READ], &buffer, sizeof(buffer));
|
||||
if (-1 == res) {
|
||||
ast_log(LOG_ERROR, "Error reading from pipe: %s\n",
|
||||
strerror(errno));
|
||||
} else {
|
||||
timer->pipe_signaled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -452,7 +446,8 @@ static int run_timer(void *obj, void *arg, int flags)
|
||||
|
||||
ao2_lock(timer);
|
||||
if (check_timer(timer)) {
|
||||
write_byte(timer);
|
||||
timer->pending_ticks++;
|
||||
signal_pipe(timer);
|
||||
}
|
||||
ao2_unlock(timer);
|
||||
|
||||
|
Reference in New Issue
Block a user