mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-30 18:21:52 +00:00
Update for 23.1.0-rc2
This commit is contained in:
@@ -1 +1 @@
|
|||||||
ChangeLogs/ChangeLog-23.1.0-rc1.html
|
ChangeLogs/ChangeLog-23.1.0-rc2.html
|
||||||
@@ -1 +1 @@
|
|||||||
ChangeLogs/ChangeLog-23.1.0-rc1.md
|
ChangeLogs/ChangeLog-23.1.0-rc2.md
|
||||||
61
ChangeLogs/ChangeLog-23.1.0-rc2.html
Normal file
61
ChangeLogs/ChangeLog-23.1.0-rc2.html
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
<html><head><title>ChangeLog for asterisk-23.1.0-rc2</title></head><body>
|
||||||
|
<h2>Change Log for Release asterisk-23.1.0-rc2</h2>
|
||||||
|
<h3>Links:</h3>
|
||||||
|
<ul>
|
||||||
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc2.html">Full ChangeLog</a> </li>
|
||||||
|
<li><a href="https://github.com/asterisk/asterisk/compare/23.1.0-rc1...23.1.0-rc2">GitHub Diff</a> </li>
|
||||||
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0-rc2.tar.gz">Tarball</a> </li>
|
||||||
|
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk">Downloads</a> </li>
|
||||||
|
</ul>
|
||||||
|
<h3>Summary:</h3>
|
||||||
|
<ul>
|
||||||
|
<li>Commits: 1</li>
|
||||||
|
<li>Commit Authors: 1</li>
|
||||||
|
<li>Issues Resolved: 1</li>
|
||||||
|
<li>Security Advisories Resolved: 0</li>
|
||||||
|
</ul>
|
||||||
|
<h3>User Notes:</h3>
|
||||||
|
<h3>Upgrade Notes:</h3>
|
||||||
|
<h3>Developer Notes:</h3>
|
||||||
|
<h3>Commit Authors:</h3>
|
||||||
|
<ul>
|
||||||
|
<li>George Joseph: (1)</li>
|
||||||
|
</ul>
|
||||||
|
<h2>Issue and Commit Detail:</h2>
|
||||||
|
<h3>Closed Issues:</h3>
|
||||||
|
<ul>
|
||||||
|
<li>1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Commits By Author:</h3>
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<h4>George Joseph (1):</h4>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Commit List:</h3>
|
||||||
|
<ul>
|
||||||
|
<li>channelstorage: Allow storage driver read locking to be skipped.</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Commit Details:</h3>
|
||||||
|
<h4>channelstorage: Allow storage driver read locking to be skipped.</h4>
|
||||||
|
<p>Author: George Joseph
|
||||||
|
Date: 2025-11-06</p>
|
||||||
|
<p>After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
||||||
|
channels/externalMedia was called with a custom channel id AND the
|
||||||
|
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
||||||
|
hanging up the channel. It's actually triggered in
|
||||||
|
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
||||||
|
channelstorage driver then subsequently does a lookup for channel uniqueid
|
||||||
|
which now does a read lock. This is an invalid operation and causes the lock
|
||||||
|
state to get "bad". When the channels try to hang up, a write lock is
|
||||||
|
attempted again which hangs and causes the deadlock.</p>
|
||||||
|
<p>Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
||||||
|
automatically performing a read lock, they take a "lock" parameter which
|
||||||
|
allows a caller who already has a write lock to indicate that the "get" API
|
||||||
|
must not attempt its own lock. This prevents the state from getting mesed up.</p>
|
||||||
|
<p>The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
||||||
|
have this issue but since it also implements the common channelstorage API,
|
||||||
|
it needed its "get" implementations updated to take the lock parameter. They
|
||||||
|
just don't use it.</p>
|
||||||
|
<p>Resolves: #1578</p>
|
||||||
|
</body></html>
|
||||||
72
ChangeLogs/ChangeLog-23.1.0-rc2.md
Normal file
72
ChangeLogs/ChangeLog-23.1.0-rc2.md
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
|
||||||
|
## Change Log for Release asterisk-23.1.0-rc2
|
||||||
|
|
||||||
|
### Links:
|
||||||
|
|
||||||
|
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-23.1.0-rc2.html)
|
||||||
|
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/23.1.0-rc1...23.1.0-rc2)
|
||||||
|
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-23.1.0-rc2.tar.gz)
|
||||||
|
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||||
|
|
||||||
|
### Summary:
|
||||||
|
|
||||||
|
- Commits: 1
|
||||||
|
- Commit Authors: 1
|
||||||
|
- Issues Resolved: 1
|
||||||
|
- Security Advisories Resolved: 0
|
||||||
|
|
||||||
|
### User Notes:
|
||||||
|
|
||||||
|
|
||||||
|
### Upgrade Notes:
|
||||||
|
|
||||||
|
|
||||||
|
### Developer Notes:
|
||||||
|
|
||||||
|
|
||||||
|
### Commit Authors:
|
||||||
|
|
||||||
|
- George Joseph: (1)
|
||||||
|
|
||||||
|
## Issue and Commit Detail:
|
||||||
|
|
||||||
|
### Closed Issues:
|
||||||
|
|
||||||
|
- 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend
|
||||||
|
|
||||||
|
### Commits By Author:
|
||||||
|
|
||||||
|
- #### George Joseph (1):
|
||||||
|
|
||||||
|
### Commit List:
|
||||||
|
|
||||||
|
- channelstorage: Allow storage driver read locking to be skipped.
|
||||||
|
|
||||||
|
### Commit Details:
|
||||||
|
|
||||||
|
#### channelstorage: Allow storage driver read locking to be skipped.
|
||||||
|
Author: George Joseph
|
||||||
|
Date: 2025-11-06
|
||||||
|
|
||||||
|
After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
|
||||||
|
channels/externalMedia was called with a custom channel id AND the
|
||||||
|
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
|
||||||
|
hanging up the channel. It's actually triggered in
|
||||||
|
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
|
||||||
|
channelstorage driver then subsequently does a lookup for channel uniqueid
|
||||||
|
which now does a read lock. This is an invalid operation and causes the lock
|
||||||
|
state to get "bad". When the channels try to hang up, a write lock is
|
||||||
|
attempted again which hangs and causes the deadlock.
|
||||||
|
|
||||||
|
Now instead of the cpp_map_name_id channelstorage driver "get" APIs
|
||||||
|
automatically performing a read lock, they take a "lock" parameter which
|
||||||
|
allows a caller who already has a write lock to indicate that the "get" API
|
||||||
|
must not attempt its own lock. This prevents the state from getting mesed up.
|
||||||
|
|
||||||
|
The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
|
||||||
|
have this issue but since it also implements the common channelstorage API,
|
||||||
|
it needed its "get" implementations updated to take the lock parameter. They
|
||||||
|
just don't use it.
|
||||||
|
|
||||||
|
Resolves: #1578
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<html><head><title>Readme for asterisk-23.1.0-rc1</title></head><body>
|
<html><head><title>Readme for asterisk-23.1.0-rc2</title></head><body>
|
||||||
<h1>The Asterisk(R) Open Source PBX</h1>
|
<h1>The Asterisk(R) Open Source PBX</h1>
|
||||||
<pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community.
|
<pre><code>By Mark Spencer <markster@digium.com> and the Asterisk.org developer community.
|
||||||
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
|
Copyright (C) 2001-2025 Sangoma Technologies Corporation and other copyright holders.
|
||||||
@@ -37,7 +37,7 @@ hardware.</p>
|
|||||||
<p>If you are updating from a previous version of Asterisk, make sure you
|
<p>If you are updating from a previous version of Asterisk, make sure you
|
||||||
read the Change Logs.</p>
|
read the Change Logs.</p>
|
||||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||||
<p><a href="ChangeLogs/ChangeLog-23.1.0-rc1.html">Change Logs</a></p>
|
<p><a href="ChangeLogs/ChangeLog-23.1.0-rc2.html">Change Logs</a></p>
|
||||||
<!-- END-CHANGELOGS -->
|
<!-- END-CHANGELOGS -->
|
||||||
|
|
||||||
<h3>NEW INSTALLATIONS</h3>
|
<h3>NEW INSTALLATIONS</h3>
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ If you are updating from a previous version of Asterisk, make sure you
|
|||||||
read the Change Logs.
|
read the Change Logs.
|
||||||
|
|
||||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||||
[Change Logs](ChangeLogs/ChangeLog-23.1.0-rc1.html)
|
[Change Logs](ChangeLogs/ChangeLog-23.1.0-rc2.html)
|
||||||
<!-- END-CHANGELOGS -->
|
<!-- END-CHANGELOGS -->
|
||||||
|
|
||||||
### NEW INSTALLATIONS
|
### NEW INSTALLATIONS
|
||||||
|
|||||||
Reference in New Issue
Block a user