mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-24 06:06:08 +00:00
Compare commits
18 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ceb4fdd341 | ||
|
95c803e78c | ||
|
f0c116e842 | ||
|
a6dac8c2df | ||
|
48677a521c | ||
|
0823b384df | ||
|
2e5de7b8e9 | ||
|
930bd0a821 | ||
|
c770cc8603 | ||
|
0383c1efa7 | ||
|
50f15e8d12 | ||
|
227e1ab888 | ||
|
1e0664465c | ||
|
cff16fc4de | ||
|
7d40aebf04 | ||
|
842723e534 | ||
|
a94b90701a | ||
|
cdf54e7e0f |
1
.lastclean
Normal file
1
.lastclean
Normal file
@@ -0,0 +1 @@
|
||||
40
|
@@ -3189,7 +3189,7 @@ static int load_module(void)
|
||||
ast_log(LOG_ERROR, "Unable to load config. Not loading module.\n");
|
||||
return AST_MODULE_LOAD_DECLINE;
|
||||
}
|
||||
if ((ast_custom_function_register(&confbridge_function))) {
|
||||
if ((ast_custom_function_register_escalating(&confbridge_function, AST_CFE_WRITE))) {
|
||||
return AST_MODULE_LOAD_FAILURE;
|
||||
}
|
||||
if ((ast_custom_function_register(&confbridge_info_function))) {
|
||||
@@ -3220,7 +3220,7 @@ static int load_module(void)
|
||||
res |= ast_manager_register_xml("ConfbridgeKick", EVENT_FLAG_CALL, action_confbridgekick);
|
||||
res |= ast_manager_register_xml("ConfbridgeUnlock", EVENT_FLAG_CALL, action_confbridgeunlock);
|
||||
res |= ast_manager_register_xml("ConfbridgeLock", EVENT_FLAG_CALL, action_confbridgelock);
|
||||
res |= ast_manager_register_xml("ConfbridgeStartRecord", EVENT_FLAG_CALL, action_confbridgestartrecord);
|
||||
res |= ast_manager_register_xml("ConfbridgeStartRecord", EVENT_FLAG_SYSTEM, action_confbridgestartrecord);
|
||||
res |= ast_manager_register_xml("ConfbridgeStopRecord", EVENT_FLAG_CALL, action_confbridgestoprecord);
|
||||
res |= ast_manager_register_xml("ConfbridgeSetSingleVideoSrc", EVENT_FLAG_CALL, action_confbridgesetsinglevideosrc);
|
||||
if (res) {
|
||||
|
68
asterisk-11.14.1-summary.html
Normal file
68
asterisk-11.14.1-summary.html
Normal file
@@ -0,0 +1,68 @@
|
||||
<!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.14.1</title></head>
|
||||
<body>
|
||||
<h1 align="center"><a name="top">Release Summary</a></h1>
|
||||
<h3 align="center">asterisk-11.14.1</h3>
|
||||
<h3 align="center">Date: 2014-11-20</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="#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 has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
|
||||
<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2014-012.html">AST-2014-012</a>, <a href="http://downloads.asterisk.org/pub/security/AST-2014-014.html">AST-2014-014</a>, <a href="http://downloads.asterisk.org/pub/security/AST-2014-017.html">AST-2014-017</a>, <a href="http://downloads.asterisk.org/pub/security/AST-2014-018.html">AST-2014-018</a></p>
|
||||
<p>The data in this summary reflects changes that have been made since the previous release, asterisk-11.14.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>
|
||||
6 bebuild<br/>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<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/tags/11.14.1?view=revision&revision=428336">428336</a></td><td>bebuild</td><td>Create 11.14.1</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.14.1?view=revision&revision=428372">428372</a></td><td>bebuild</td><td>Update .version, remove summaries</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.14.1?view=revision&revision=428427">428427</a></td><td>bebuild</td><td>Merge r428417 for AST-2014-012</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.14.1?view=revision&revision=428433">428433</a></td><td>bebuild</td><td>Merge r428363 for AST-2014-018</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.14.1?view=revision&revision=428440">428440</a></td><td>bebuild</td><td>Merge r428299 for AST-2014-014</td>
|
||||
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.14.1?view=revision&revision=428446">428446</a></td><td>bebuild</td><td>Merge r428332 for AST-2014-017</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 | 61 +++++
|
||||
apps/app_confbridge.c | 4
|
||||
asterisk-11.14.0-summary.html | 414 ----------------------------------
|
||||
asterisk-11.14.0-summary.txt | 503 ------------------------------------------
|
||||
funcs/func_db.c | 2
|
||||
main/acl.c | 2
|
||||
main/bridging.c | 26 +-
|
||||
8 files changed, 87 insertions(+), 927 deletions(-)
|
||||
</pre><br/>
|
||||
<hr/>
|
||||
</body>
|
||||
</html>
|
106
asterisk-11.14.1-summary.txt
Normal file
106
asterisk-11.14.1-summary.txt
Normal file
@@ -0,0 +1,106 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-11.14.1
|
||||
|
||||
Date: 2014-11-20
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Other Changes
|
||||
4. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release has been made to address one or more security vulnerabilities
|
||||
that have been identified. A security advisory document has been published
|
||||
for each vulnerability that includes additional information. Users of
|
||||
versions of Asterisk that are affected are strongly encouraged to review
|
||||
the advisories and determine what action they should take to protect their
|
||||
systems from these issues.
|
||||
|
||||
Security Advisories: AST-2014-012, AST-2014-014, AST-2014-017,
|
||||
AST-2014-018
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-11.14.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
|
||||
6 bebuild
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428336 | bebuild | Create 11.14.1 | |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428372 | bebuild | Update .version, remove | |
|
||||
| | | summaries | |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428427 | bebuild | Merge r428417 for | |
|
||||
| | | AST-2014-012 | |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428433 | bebuild | Merge r428363 for | |
|
||||
| | | AST-2014-018 | |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428440 | bebuild | Merge r428299 for | |
|
||||
| | | AST-2014-014 | |
|
||||
|----------+---------+-------------------------------+-------------------|
|
||||
| 428446 | bebuild | Merge r428332 for | |
|
||||
| | | AST-2014-017 | |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 | 61 +++++
|
||||
apps/app_confbridge.c | 4
|
||||
asterisk-11.14.0-summary.html | 414 ----------------------------------
|
||||
asterisk-11.14.0-summary.txt | 503 ------------------------------------------
|
||||
funcs/func_db.c | 2
|
||||
main/acl.c | 2
|
||||
main/bridging.c | 26 +-
|
||||
8 files changed, 87 insertions(+), 927 deletions(-)
|
||||
|
||||
----------------------------------------------------------------------
|
@@ -351,7 +351,7 @@ static int load_module(void)
|
||||
{
|
||||
int res = 0;
|
||||
|
||||
res |= ast_custom_function_register(&db_function);
|
||||
res |= ast_custom_function_register_escalating(&db_function, AST_CFE_BOTH);
|
||||
res |= ast_custom_function_register(&db_exists_function);
|
||||
res |= ast_custom_function_register_escalating(&db_delete_function, AST_CFE_READ);
|
||||
res |= ast_custom_function_register(&db_keys_function);
|
||||
|
@@ -315,21 +315,23 @@ void __ast_string_field_release_active(struct ast_string_field_pool *pool_head,
|
||||
*/
|
||||
#define ast_string_field_ptr_set(x, ptr, data) ast_string_field_ptr_set_by_fields((x)->__field_mgr_pool, (x)->__field_mgr, ptr, data)
|
||||
|
||||
#define ast_string_field_ptr_set_by_fields(field_mgr_pool, field_mgr, ptr, data) do { \
|
||||
const char *__d__ = (data); \
|
||||
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
|
||||
ast_string_field *__p__ = (ast_string_field *) (ptr); \
|
||||
if (__dlen__ == 1) { \
|
||||
__ast_string_field_release_active(field_mgr_pool, *__p__); \
|
||||
*__p__ = __ast_string_field_empty; \
|
||||
} else if ((__dlen__ <= AST_STRING_FIELD_ALLOCATION(*__p__)) || \
|
||||
(!__ast_string_field_ptr_grow(&field_mgr, &field_mgr_pool, __dlen__, __p__)) || \
|
||||
(*__p__ = __ast_string_field_alloc_space(&field_mgr, &field_mgr_pool, __dlen__))) { \
|
||||
if (*__p__ != (*ptr)) { \
|
||||
__ast_string_field_release_active(field_mgr_pool, (*ptr)); \
|
||||
} \
|
||||
memcpy(* (void **) __p__, __d__, __dlen__); \
|
||||
} \
|
||||
#define ast_string_field_ptr_set_by_fields(field_mgr_pool, field_mgr, ptr, data) do { \
|
||||
const char *__d__ = (data); \
|
||||
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
|
||||
ast_string_field *__p__ = (ast_string_field *) (ptr); \
|
||||
ast_string_field target = *__p__; \
|
||||
if (__dlen__ == 1) { \
|
||||
__ast_string_field_release_active(field_mgr_pool, *__p__); \
|
||||
*__p__ = __ast_string_field_empty; \
|
||||
} else if ((__dlen__ <= AST_STRING_FIELD_ALLOCATION(*__p__)) || \
|
||||
(!__ast_string_field_ptr_grow(&field_mgr, &field_mgr_pool, __dlen__, __p__)) || \
|
||||
(target = __ast_string_field_alloc_space(&field_mgr, &field_mgr_pool, __dlen__))) { \
|
||||
if (target != (*__p__)) { \
|
||||
__ast_string_field_release_active(field_mgr_pool, *__p__); \
|
||||
*__p__ = target; \
|
||||
} \
|
||||
memcpy(* (void **) __p__, __d__, __dlen__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/*!
|
||||
|
@@ -776,7 +776,7 @@ enum ast_acl_sense ast_apply_ha(const struct ast_ha *ha, const struct ast_sockad
|
||||
ast_copy_string(iabuf2, ast_inet_ntoa(ha->netaddr), sizeof(iabuf2));
|
||||
ast_debug(1, "##### Testing %s with %s\n", iabuf, iabuf2);
|
||||
#endif
|
||||
if (ast_sockaddr_is_ipv4(&ha->addr)) {
|
||||
if (ast_sockaddr_is_ipv4(¤t_ha->addr)) {
|
||||
if (ast_sockaddr_is_ipv6(addr)) {
|
||||
if (ast_sockaddr_is_ipv4_mapped(addr)) {
|
||||
/* IPv4 ACLs apply to IPv4-mapped addresses */
|
||||
|
@@ -120,8 +120,22 @@ int ast_bridge_technology_unregister(struct ast_bridge_technology *technology)
|
||||
|
||||
void ast_bridge_change_state(struct ast_bridge_channel *bridge_channel, enum ast_bridge_channel_state new_state)
|
||||
{
|
||||
/* Change the state on the bridge channel */
|
||||
bridge_channel->state = new_state;
|
||||
/* Change the state on the bridge channel with some manner of intelligence. */
|
||||
ao2_lock(bridge_channel);
|
||||
switch (bridge_channel->state) {
|
||||
case AST_BRIDGE_CHANNEL_STATE_DEPART:
|
||||
break;
|
||||
case AST_BRIDGE_CHANNEL_STATE_END:
|
||||
case AST_BRIDGE_CHANNEL_STATE_HANGUP:
|
||||
if (new_state != AST_BRIDGE_CHANNEL_STATE_DEPART) {
|
||||
break;
|
||||
}
|
||||
/* Fall through */
|
||||
default:
|
||||
bridge_channel->state = new_state;
|
||||
break;
|
||||
}
|
||||
ao2_unlock(bridge_channel);
|
||||
|
||||
/* Only poke the channel's thread if it is not us */
|
||||
if (!pthread_equal(pthread_self(), bridge_channel->thread)) {
|
||||
@@ -130,8 +144,6 @@ void ast_bridge_change_state(struct ast_bridge_channel *bridge_channel, enum ast
|
||||
ast_cond_signal(&bridge_channel->cond);
|
||||
ao2_unlock(bridge_channel);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/*! \brief Helper function to poke the bridge thread */
|
||||
@@ -1147,8 +1159,12 @@ static void *bridge_channel_thread(void *data)
|
||||
state = bridge_channel_join(bridge_channel);
|
||||
|
||||
/* If no other thread is going to take the channel then hang it up, or else we would have to service it until something else came along */
|
||||
if (bridge_channel->allow_impart_hangup && (state == AST_BRIDGE_CHANNEL_STATE_END || state == AST_BRIDGE_CHANNEL_STATE_HANGUP)) {
|
||||
if (bridge_channel->allow_impart_hangup
|
||||
&& state != AST_BRIDGE_CHANNEL_STATE_DEPART) {
|
||||
ast_hangup(bridge_channel->chan);
|
||||
|
||||
/* nobody is waiting to join me. */
|
||||
pthread_detach(pthread_self());
|
||||
}
|
||||
|
||||
/* cleanup */
|
||||
|
15
main/utils.c
15
main/utils.c
@@ -1967,9 +1967,13 @@ void __ast_string_field_release_active(struct ast_string_field_pool *pool_head,
|
||||
for (pool = pool_head, prev = NULL; pool; prev = pool, pool = pool->prev) {
|
||||
if ((ptr >= pool->base) && (ptr <= (pool->base + pool->size))) {
|
||||
pool->active -= AST_STRING_FIELD_ALLOCATION(ptr);
|
||||
if ((pool->active == 0) && prev) {
|
||||
prev->prev = pool->prev;
|
||||
ast_free(pool);
|
||||
if (pool->active == 0) {
|
||||
if (prev) {
|
||||
prev->prev = pool->prev;
|
||||
ast_free(pool);
|
||||
} else {
|
||||
pool->used = 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2018,6 +2022,11 @@ void __ast_string_field_ptr_build_va(struct ast_string_field_mgr *mgr,
|
||||
/* Are we out of memory? */
|
||||
return;
|
||||
}
|
||||
if (res == 0) {
|
||||
__ast_string_field_release_active(*pool_head, *ptr);
|
||||
*ptr = __ast_string_field_empty;
|
||||
return;
|
||||
}
|
||||
needed = (size_t)res + 1; /* NUL byte */
|
||||
|
||||
if (needed > available) {
|
||||
|
Reference in New Issue
Block a user