mirror of
https://github.com/asterisk/asterisk.git
synced 2025-12-01 02:31:55 +00:00
Update for 21.12.0
This commit is contained in:
@@ -1 +1 @@
|
||||
ChangeLogs/ChangeLog-21.12.0-rc2.html
|
||||
ChangeLogs/ChangeLog-21.12.0.html
|
||||
@@ -1 +1 @@
|
||||
ChangeLogs/ChangeLog-21.12.0-rc2.md
|
||||
ChangeLogs/ChangeLog-21.12.0.md
|
||||
@@ -1,61 +0,0 @@
|
||||
<html><head><title>ChangeLog for asterisk-21.12.0-rc2</title></head><body>
|
||||
<h2>Change Log for Release asterisk-21.12.0-rc2</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0-rc2.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/21.12.0-rc1...21.12.0-rc2">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.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>
|
||||
@@ -1,72 +0,0 @@
|
||||
|
||||
## Change Log for Release asterisk-21.12.0-rc2
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0-rc2.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.12.0-rc1...21.12.0-rc2)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.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,17 +1,17 @@
|
||||
<html><head><title>ChangeLog for asterisk-21.12.0-rc1</title></head><body>
|
||||
<h2>Change Log for Release asterisk-21.12.0-rc1</h2>
|
||||
<html><head><title>ChangeLog for asterisk-21.12.0</title></head><body>
|
||||
<h2>Change Log for Release asterisk-21.12.0</h2>
|
||||
<h3>Links:</h3>
|
||||
<ul>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0-rc1.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/21.11.0...21.12.0-rc1">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.0-rc1.tar.gz">Tarball</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0.html">Full ChangeLog</a> </li>
|
||||
<li><a href="https://github.com/asterisk/asterisk/compare/21.11.0...21.12.0">GitHub Diff</a> </li>
|
||||
<li><a href="https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.0.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: 19</li>
|
||||
<li>Commits: 20</li>
|
||||
<li>Commit Authors: 10</li>
|
||||
<li>Issues Resolved: 12</li>
|
||||
<li>Issues Resolved: 13</li>
|
||||
<li>Security Advisories Resolved: 0</li>
|
||||
</ul>
|
||||
<h3>User Notes:</h3>
|
||||
@@ -43,14 +43,14 @@
|
||||
<ul>
|
||||
<li>Bastian Triller: (1)</li>
|
||||
<li>Ben Ford: (1)</li>
|
||||
<li>George Joseph: (3)</li>
|
||||
<li>George Joseph: (4)</li>
|
||||
<li>Igor Goncharovsky: (1)</li>
|
||||
<li>Max Grobecker: (1)</li>
|
||||
<li>Nathan Monfils: (1)</li>
|
||||
<li>Naveen Albert: (4)</li>
|
||||
<li>Phoneben: (1)</li>
|
||||
<li>Sean Bright: (3)</li>
|
||||
<li>Sven Kube: (3)</li>
|
||||
<li>phoneben: (1)</li>
|
||||
</ul>
|
||||
<h2>Issue and Commit Detail:</h2>
|
||||
<h3>Closed Issues:</h3>
|
||||
@@ -67,6 +67,7 @@
|
||||
<li>1525: [bug]: chan_websocket: fix use of raw payload variable for string comparison in process_text_message</li>
|
||||
<li>1539: [bug]: safe_asterisk without TTY doesn't log to file</li>
|
||||
<li>1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361</li>
|
||||
<li>1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend</li>
|
||||
</ul>
|
||||
<h3>Commits By Author:</h3>
|
||||
<ul>
|
||||
@@ -74,72 +75,36 @@
|
||||
<h4>Bastian Triller (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>Fix some doxygen, typos and whitespace</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Ben Ford (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>rtp_engine.c: Add exception for comfort noise payload.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>George Joseph (3):</h4>
|
||||
</li>
|
||||
<li>channelstorage_cpp_map_name_id: Add read locking around retrievals.</li>
|
||||
<li>chan_websocket.c: Change payload references to command instead.</li>
|
||||
<li>
|
||||
<p>safe_asterisk: Fix logging and sorting issue.</p>
|
||||
<h4>George Joseph (4):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Igor Goncharovsky (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Max Grobecker (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>res_pjsip_geolocation: Add support for Geolocation loc-src parameter</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Nathan Monfils (1):</h4>
|
||||
</li>
|
||||
<li>
|
||||
<p>manager.c: Fix presencestate object leak</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Naveen Albert (4):</h4>
|
||||
</li>
|
||||
<li>pbx_variables.c: Create real channel for "dialplan eval function".</li>
|
||||
<li>res_cliexec: Remove unnecessary casts to char*.</li>
|
||||
<li>app_adsiprog: Fix possible NULL dereference.</li>
|
||||
<li>
|
||||
<p>chan_dahdi: Add DAHDI_CHANNEL function.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Sean Bright (3):</h4>
|
||||
</li>
|
||||
<li>audiohook.c: Ensure correct AO2 reference is dereffed.</li>
|
||||
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
||||
<li>
|
||||
<p>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>Sven Kube (3):</h4>
|
||||
</li>
|
||||
<li>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..</li>
|
||||
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
||||
<li>
|
||||
<p>res_audiosocket: add message types for all slin sample rates</p>
|
||||
</li>
|
||||
<li>
|
||||
<h4>phoneben (1):</h4>
|
||||
</li>
|
||||
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
||||
</ul>
|
||||
<h3>Commit List:</h3>
|
||||
<ul>
|
||||
<li>channelstorage: Allow storage driver read locking to be skipped.</li>
|
||||
<li>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</li>
|
||||
<li>safe_asterisk: Fix logging and sorting issue.</li>
|
||||
<li>res_audiosocket: add message types for all slin sample rates</li>
|
||||
@@ -149,6 +114,7 @@
|
||||
<li>res_pjsip_geolocation: Add support for Geolocation loc-src parameter</li>
|
||||
<li>stasis_channels.c: Make protocol_id optional to enable blind transfer via ari</li>
|
||||
<li>Fix some doxygen, typos and whitespace</li>
|
||||
<li>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create</li>
|
||||
<li>app_queue: Add NULL pointer checks in app_queue</li>
|
||||
<li>app_externalivr: Prevent out-of-bounds read during argument processing.</li>
|
||||
<li>chan_dahdi: Add DAHDI_CHANNEL function.</li>
|
||||
@@ -160,6 +126,27 @@
|
||||
<li>pbx_variables.c: Create real channel for "dialplan eval function".</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>
|
||||
<h4>safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.</h4>
|
||||
<p>Author: Sean Bright
|
||||
Date: 2025-10-22</p>
|
||||
@@ -234,7 +221,7 @@
|
||||
<h4>Fix some doxygen, typos and whitespace</h4>
|
||||
<p>Author: Bastian Triller
|
||||
Date: 2025-09-21</p>
|
||||
<h4>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..</h4>
|
||||
<h4>stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create</h4>
|
||||
<p>Author: Sven Kube
|
||||
Date: 2025-09-18</p>
|
||||
<p>When handling SIP transfers via ARI, the <code>referred_by</code> field in
|
||||
@@ -1,35 +1,35 @@
|
||||
|
||||
## Change Log for Release asterisk-21.12.0-rc1
|
||||
## Change Log for Release asterisk-21.12.0
|
||||
|
||||
### Links:
|
||||
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0-rc1.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.11.0...21.12.0-rc1)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.0-rc1.tar.gz)
|
||||
- [Full ChangeLog](https://downloads.asterisk.org/pub/telephony/asterisk/releases/ChangeLog-21.12.0.html)
|
||||
- [GitHub Diff](https://github.com/asterisk/asterisk/compare/21.11.0...21.12.0)
|
||||
- [Tarball](https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-21.12.0.tar.gz)
|
||||
- [Downloads](https://downloads.asterisk.org/pub/telephony/asterisk)
|
||||
|
||||
### Summary:
|
||||
|
||||
- Commits: 19
|
||||
- Commits: 20
|
||||
- Commit Authors: 10
|
||||
- Issues Resolved: 12
|
||||
- Issues Resolved: 13
|
||||
- Security Advisories Resolved: 0
|
||||
|
||||
### User Notes:
|
||||
|
||||
- #### func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()
|
||||
- #### func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()
|
||||
Added a new option to HANGUPCAUSE to access additional
|
||||
information about hangup reason. Reason headers from pjsip
|
||||
could be read using 'tech_extended' cause type.
|
||||
|
||||
- #### chan_dahdi: Add DAHDI_CHANNEL function.
|
||||
- #### chan_dahdi: Add DAHDI_CHANNEL function.
|
||||
The DAHDI_CHANNEL function allows for getting/setting
|
||||
certain properties about DAHDI channels from the dialplan.
|
||||
|
||||
|
||||
### Upgrade Notes:
|
||||
|
||||
- #### res_audiosocket: add message types for all slin sample rates
|
||||
- #### res_audiosocket: add message types for all slin sample rates
|
||||
New audiosocket message types 0x11 - 0x18 has been added
|
||||
for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
|
||||
slin192 audio. External applications using audiosocket may need to be
|
||||
@@ -44,14 +44,14 @@
|
||||
|
||||
- Bastian Triller: (1)
|
||||
- Ben Ford: (1)
|
||||
- George Joseph: (3)
|
||||
- George Joseph: (4)
|
||||
- Igor Goncharovsky: (1)
|
||||
- Max Grobecker: (1)
|
||||
- Nathan Monfils: (1)
|
||||
- Naveen Albert: (4)
|
||||
- Phoneben: (1)
|
||||
- Sean Bright: (3)
|
||||
- Sven Kube: (3)
|
||||
- phoneben: (1)
|
||||
|
||||
## Issue and Commit Detail:
|
||||
|
||||
@@ -69,51 +69,33 @@
|
||||
- 1525: [bug]: chan_websocket: fix use of raw payload variable for string comparison in process_text_message
|
||||
- 1539: [bug]: safe_asterisk without TTY doesn't log to file
|
||||
- 1554: [bug]: safe_asterisk recurses into subdirectories of startup.d after f97361
|
||||
- 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend
|
||||
|
||||
### Commits By Author:
|
||||
|
||||
- #### Bastian Triller (1):
|
||||
- Fix some doxygen, typos and whitespace
|
||||
|
||||
- #### Ben Ford (1):
|
||||
- rtp_engine.c: Add exception for comfort noise payload.
|
||||
|
||||
- #### George Joseph (3):
|
||||
- channelstorage_cpp_map_name_id: Add read locking around retrievals.
|
||||
- chan_websocket.c: Change payload references to command instead.
|
||||
- safe_asterisk: Fix logging and sorting issue.
|
||||
- #### George Joseph (4):
|
||||
|
||||
- #### Igor Goncharovsky (1):
|
||||
- func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()
|
||||
|
||||
- #### Max Grobecker (1):
|
||||
- res_pjsip_geolocation: Add support for Geolocation loc-src parameter
|
||||
|
||||
- #### Nathan Monfils (1):
|
||||
- manager.c: Fix presencestate object leak
|
||||
|
||||
- #### Naveen Albert (4):
|
||||
- pbx_variables.c: Create real channel for "dialplan eval function".
|
||||
- res_cliexec: Remove unnecessary casts to char*.
|
||||
- app_adsiprog: Fix possible NULL dereference.
|
||||
- chan_dahdi: Add DAHDI_CHANNEL function.
|
||||
|
||||
- #### Sean Bright (3):
|
||||
- audiohook.c: Ensure correct AO2 reference is dereffed.
|
||||
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
||||
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
||||
|
||||
- #### Sven Kube (3):
|
||||
- stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..
|
||||
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
||||
- res_audiosocket: add message types for all slin sample rates
|
||||
|
||||
- #### phoneben (1):
|
||||
- app_queue: Add NULL pointer checks in app_queue
|
||||
|
||||
|
||||
### Commit List:
|
||||
|
||||
- channelstorage: Allow storage driver read locking to be skipped.
|
||||
- safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
||||
- safe_asterisk: Fix logging and sorting issue.
|
||||
- res_audiosocket: add message types for all slin sample rates
|
||||
@@ -123,6 +105,7 @@
|
||||
- res_pjsip_geolocation: Add support for Geolocation loc-src parameter
|
||||
- stasis_channels.c: Make protocol_id optional to enable blind transfer via ari
|
||||
- Fix some doxygen, typos and whitespace
|
||||
- stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create
|
||||
- app_queue: Add NULL pointer checks in app_queue
|
||||
- app_externalivr: Prevent out-of-bounds read during argument processing.
|
||||
- chan_dahdi: Add DAHDI_CHANNEL function.
|
||||
@@ -135,6 +118,32 @@
|
||||
|
||||
### 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
|
||||
|
||||
#### safe_asterisk: Resolve a POSIX sh problem and restore globbing behavior.
|
||||
Author: Sean Bright
|
||||
Date: 2025-10-22
|
||||
@@ -235,7 +244,7 @@
|
||||
Date: 2025-09-21
|
||||
|
||||
|
||||
#### stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_..
|
||||
#### stasis_channels.c: Add null check for referred_by in ast_ari_transfer_message_create
|
||||
Author: Sven Kube
|
||||
Date: 2025-09-18
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<html><head><title>Readme for asterisk-21.12.0-rc2</title></head><body>
|
||||
<html><head><title>Readme for asterisk-21.12.0</title></head><body>
|
||||
<h1>The Asterisk(R) Open Source PBX</h1>
|
||||
<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.
|
||||
@@ -37,7 +37,7 @@ hardware.</p>
|
||||
<p>If you are updating from a previous version of Asterisk, make sure you
|
||||
read the Change Logs.</p>
|
||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||
<p><a href="ChangeLogs/ChangeLog-21.12.0-rc2.html">Change Logs</a></p>
|
||||
<p><a href="ChangeLogs/ChangeLog-21.12.0.html">Change Logs</a></p>
|
||||
<!-- END-CHANGELOGS -->
|
||||
|
||||
<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.
|
||||
|
||||
<!-- CHANGELOGS (the URL will change based on the location of this README) -->
|
||||
[Change Logs](ChangeLogs/ChangeLog-21.12.0-rc2.html)
|
||||
[Change Logs](ChangeLogs/ChangeLog-21.12.0.html)
|
||||
<!-- END-CHANGELOGS -->
|
||||
|
||||
### NEW INSTALLATIONS
|
||||
|
||||
Reference in New Issue
Block a user