mirror of
https://github.com/asterisk/asterisk.git
synced 2025-08-24 22:18:19 +00:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
ac87f47b32 | ||
|
a4248c671a | ||
|
a3e0fdeb46 | ||
|
8cc49544f8 | ||
|
ad66cbd0be | ||
|
987ad61270 | ||
|
574a7bfa97 | ||
|
e6cc1f5083 | ||
|
a92fdd25ac |
85
ChangeLog
85
ChangeLog
@@ -1,3 +1,88 @@
|
||||
2019-11-21 21:14 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 16.6.2 Released.
|
||||
|
||||
2019-11-21 15:13 +0000 [a4248c671a] Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* Update CHANGES and UPGRADE.txt for 16.6.2
|
||||
2019-10-24 12:41 +0000 [8cc49544f8] George Joseph <gjoseph@digium.com>
|
||||
|
||||
* manager.c: Prevent the Originate action from running the Originate app
|
||||
|
||||
If an AMI user without the "system" authorization calls the
|
||||
Originate AMI command with the Originate application,
|
||||
the second Originate could run the "System" command.
|
||||
|
||||
Action: Originate
|
||||
Channel: Local/1111
|
||||
Application: Originate
|
||||
Data: Local/2222,app,System,touch /tmp/owned
|
||||
|
||||
If the "system" authorization isn't set, we now block the
|
||||
Originate app as well as the System, Exec, etc. apps.
|
||||
|
||||
ASTERISK-28580
|
||||
Reported by: Eliel Sardañons
|
||||
|
||||
Change-Id: Ic4c9dedc34c426f03c8c14fce334a71386d8a5fa
|
||||
(cherry picked from commit 1b9281a5ded62e5d30af2959e5aa33bc5a0fc285)
|
||||
|
||||
2019-10-21 14:55 +0000 [ad66cbd0be] Ben Ford <bford@digium.com>
|
||||
|
||||
* chan_sip.c: Prevent address change on unauthenticated SIP request.
|
||||
|
||||
If the name of a peer is known and a SIP request is sent using that
|
||||
peer's name, the address of the peer will change even if the request
|
||||
fails the authentication challenge. This means that an endpoint can
|
||||
be altered and even rendered unusuable, even if it was in a working
|
||||
state previously. This can only occur when the nat option is set to the
|
||||
default, or auto_force_rport.
|
||||
|
||||
This change checks the result of authentication first to ensure it is
|
||||
successful before setting the address and the nat option.
|
||||
|
||||
ASTERISK-28589 #close
|
||||
|
||||
Change-Id: I581c5ed1da60ca89f590bd70872de2b660de02df
|
||||
(cherry picked from commit c2279540bade208dad35f7760ebd4a7cc94731fe)
|
||||
|
||||
2019-10-16 15:50 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 16.6.1 Released.
|
||||
|
||||
2019-10-09 09:32 +0000 [e6cc1f5083] George Joseph <gjoseph@digium.com>
|
||||
|
||||
* pjproject_bundled: Replace earlier reverts with official fixes.
|
||||
|
||||
Issues in pjproject 2.9 caused us to revert some of their changes
|
||||
as a work around. This introduced another issue where pjproject
|
||||
wouldn't build with older gcc versions such as that found on
|
||||
CentOS 6. This commit replaces the reverts with the official
|
||||
fixes for the original issues and allows pjproject to be built
|
||||
on CentOS 6 again.
|
||||
|
||||
ASTERISK-28574
|
||||
Reported-by: Niklas Larsson
|
||||
|
||||
Change-Id: I06f8507bea553d1a01b0b8874197d35b9d47ec4c
|
||||
(cherry picked from commit cb6e0d36aedfb0b58e167bdc3fc4ec27c9f3ddb7)
|
||||
|
||||
2019-10-10 15:30 +0000 [a92fdd25ac] Kevin Harwell <kharwell@digium.com>
|
||||
|
||||
* res_pjsip_mwi: potential double unref, and potential unwanted double link
|
||||
|
||||
When creating an unsolicited MWI aggregate subscription it was possible for
|
||||
the subscription object to be double unref'ed. This patch removes the explicit
|
||||
unref as it is not needed since the RAII_VAR will handle it at function end.
|
||||
|
||||
Less concerning there was also a bug that could potentially allow the aggregate
|
||||
subscription object to be added to the unsolicited container twice. This patch
|
||||
ensures it is added only once.
|
||||
|
||||
ASTERISK-28575
|
||||
|
||||
Change-Id: I9ccfdb5ea788bc0c3618db183aae235e53c12763
|
||||
|
||||
2019-10-08 17:33 +0000 Asterisk Development Team <asteriskteam@digium.com>
|
||||
|
||||
* asterisk 16.6.0 Released.
|
||||
|
10
UPGRADE.txt
10
UPGRADE.txt
@@ -18,6 +18,16 @@
|
||||
===
|
||||
===========================================================
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
--- Functionality changes from Asterisk 16.6.1 to Asterisk 16.6.2 ------------
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
AMI
|
||||
------------------
|
||||
* The AMI Originate action, which optionally takes a dialplan application as
|
||||
an argument, no longer accepts "Originate" as the application due to
|
||||
security concerns.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
--- Functionality changes from Asterisk 16.5.0 to Asterisk 16.6.0 ------------
|
||||
------------------------------------------------------------------------------
|
||||
|
@@ -1,178 +0,0 @@
|
||||
<!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"><title>Release Summary - asterisk-16.6.0</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-16.6.0</h3><h3 align="center">Date: 2019-10-08</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="#closed_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><p>This release is a point release of an existing major version. The changes included were made to address problems that have been identified in this release series, or are minor, backwards compatible new features or improvements. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous version 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-16.5.0.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><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 affected by commits that went into this release.</p><table width="100%" border="0">
|
||||
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
|
||||
<tr valign="top"><td width="33%">13 George Joseph <gjoseph@digium.com><br/>8 Sean Bright <sean.bright@gmail.com><br/>5 Kevin Harwell <kharwell@digium.com><br/>5 Tzafrir Cohen <tzafrir.cohen@xorcom.com><br/>4 Joshua Colp <jcolp@digium.com><br/>3 Alexei Gradinari <alex2grad@gmail.com> (license 5691)<br/>3 Asterisk Development Team <asteriskteam@digium.com><br/>3 Igor Goncharovsky <igor.goncharovsky@gmail.com><br/>2 Frederic LE FOLL <frederic.lefoll@c-s.fr><br/>2 Dan Cropp <dan@amtelco.com><br/>1 Rodrigo Ramírez Norambuena <a@rodrigoramirez.com><br/>1 Walter Doekes <walter+asterisk@wjd.nu><br/>1 Leonid Fainshtein <leonid.fainshtein@xorcom.com><br/>1 Torrey Searle <torrey@voxbone.com><br/>1 Chris-Savinovich <csavinovich@digium.com><br/>1 Guido Falsi <madpilot@FreeBSD.org><br/>1 sungtae kim <pchero21@gmail.com><br/>1 Stas Kobzar <stas@modulis.ca><br/></td><td width="33%">1 tests/test_utils.c.<br/></td><td width="33%">2 Alexei Gradinari <alex2grad@gmail.com><br/>2 Joshua C. Colp <jcolp@digium.com><br/>2 Dan Cropp <dan@amtelco.com><br/>2 Frederic LE FOLL <frederic.lefoll@c-s.fr><br/>2 Dan Cropp<br/>2 Ruddy G <plugworld@micnes.com><br/>1 Walter Doekes <walter+asterisk@wjd.nu><br/>1 Byron Clark <bclark@getjive.com><br/>1 Jonas Swiatek <jonas@telzio.com><br/>1 Salah Ahmed <txrubel@gmail.com><br/>1 Guido Falsi <madpilot@freebsd.org><br/>1 Cyril Ramière <cyril.ramiere@ino.global><br/>1 Stas Kobzar <stas@modulis.ca><br/>1 Kilburn <kilburna@gmail.com><br/>1 Ian Jones <tech@iljones.net><br/>1 Alexander Traud <pabstraud@compuserve.com><br/>1 Dennis <dennis.buteyn@xorcom.com><br/>1 Mark <mark@wrapped.cx><br/>1 Chris Savinovich <csavinovich@digium.com><br/>1 Alexander Traud<br/>1 Gregory Massel <greg@csurf.co.za><br/>1 Torrey Searle <tsearle@gmail.com><br/>1 dennis <dennis@arena1.com><br/></td></tr>
|
||||
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Security</h3><h4>Category: Resources/res_pjsip_t38</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28495">ASTERISK-28495</a>: res_pjsip_t38: 200 OK with SDP answer with declined stream causes crash<br/>Reported by: Alexei Gradinari<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=965df3c228d49bcde3503e0482f3c831dcbf6c77">[965df3c228]</a> Alexei Gradinari -- AST-2019-004 - res_pjsip_t38.c: Add NULL checks before using session media</li>
|
||||
</ul><br><h3>Bug</h3><h4>Category: .Release/Targets</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28488">ASTERISK-28488</a>: pjsip mwi: n+1 sip notify's sent on re-register<br/>Reported by: Chris Savinovich<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7db5f5df6ae6b807849277e169624a70e45a2077">[7db5f5df6a]</a> Kevin Harwell -- res_pjsip_mwi: add better handling of solicited vs unsolicited subscriptions</li>
|
||||
</ul><br><h4>Category: Applications/app_chanisavail</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28527">ASTERISK-28527</a>: ChanIsAvail() creates a CDR if unanswered=yes is set in cdr.conf<br/>Reported by: Frederic LE FOLL<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c8cf3ad389ffbcf96e3079fc776a27da737f79b7">[c8cf3ad389]</a> Frederic LE FOLL -- ChanIsAvail() generates a CDR when unanswered=yes in cdr.conf.</li>
|
||||
</ul><br><h4>Category: Applications/app_transfer</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26968">ASTERISK-26968</a>: chan_pjsip: Transfer() does not result in TRANSFERSTATUS reflecting SIP response to transfer<br/>Reported by: Dan Cropp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f4896703b95b8d34301f4a919b3e488a7f042bb2">[f4896703b9]</a> Dan Cropp -- chan_pjsip: Transmit REFER waits for the REFER result setting TRANSFERSTATUS</li>
|
||||
</ul><br><h4>Category: Applications/app_voicemail/IMAP</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28505">ASTERISK-28505</a>: app_voicemail/IMAP: segfault in leave_voicemail because not checking mailstream<br/>Reported by: Alexei Gradinari<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ff180a5bfc3090485ee7b2746ce7bee58e754746">[ff180a5bfc]</a> Alexei Gradinari -- app_voicemail/IMAP: check mailstream not NULL in leave_voicemail</li>
|
||||
</ul><br><h4>Category: Channels/chan_dahdi</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28536">ASTERISK-28536</a>: Asterisk release candidates fail to build on FreeBSD<br/>Reported by: Guido Falsi<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8931669b37d4edc9a27de42eb3529b13326bec78">[8931669b37]</a> Guido Falsi -- chan_dahdi: Fix build with clang/llvm</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28525">ASTERISK-28525</a>: chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hangs up<br/>Reported by: Frederic LE FOLL<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c6b17b521231dde9da890d95ee705c93953bab8c">[c6b17b5212]</a> Frederic LE FOLL -- chan_dahdi: set CHANNEL(hangupsource) when a PRI channel hangs up</li>
|
||||
</ul><br><h4>Category: Channels/chan_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28538">ASTERISK-28538</a>: chan_pjsip: Deadlock on fax detection<br/>Reported by: Joshua C. Colp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=deb45228c817e6db71f75d7af65ffe1f91e3e9fb">[deb45228c8]</a> Joshua Colp -- chan_pjsip: Relock correct channel during "fax" redirect.</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-26968">ASTERISK-26968</a>: chan_pjsip: Transfer() does not result in TRANSFERSTATUS reflecting SIP response to transfer<br/>Reported by: Dan Cropp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f4896703b95b8d34301f4a919b3e488a7f042bb2">[f4896703b9]</a> Dan Cropp -- chan_pjsip: Transmit REFER waits for the REFER result setting TRANSFERSTATUS</li>
|
||||
</ul><br><h4>Category: Channels/chan_sip/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28282">ASTERISK-28282</a>: AST_SCHED_REPLACE_UNREF causes wait-on-self deadlocks (in chan_sip)<br/>Reported by: Walter Doekes<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=64d25d36fb4c1cdba3e8b4791462c4805715aee8">[64d25d36fb]</a> Walter Doekes -- sched: Don't allow ast_sched_del to deadlock ast_sched_runq from same thread</li>
|
||||
</ul><br><h4>Category: Channels/chan_unistim</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-25592">ASTERISK-25592</a>: chan_unistim: Clang Warning: variable sized type not at end of a struct<br/>Reported by: Alexander Traud<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=92261d60c876cb0be63eb75390525bd1732a5db8">[92261d60c8]</a> Igor Goncharovsky -- chan_unistim: Fix clang warning: variable sized type not at end of a struct</li>
|
||||
</ul><br><h4>Category: Codecs/codec_resample</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28511">ASTERISK-28511</a>: codec_resample: Bad sound quality when up sampling from SLIN16 to SLIN32<br/>Reported by: Ruddy G<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=bf527810efba18baabf84fcd931a2cb9fc65d707">[bf527810ef]</a> Sean Bright -- codec_resample: Ensure OUTSIDE_SPEEX is defined when necessary</li>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=cdbb9800e311e4d9ca98215ba14348fe5d9e224e">[cdbb9800e3]</a> Sean Bright -- codec_resample: Upgrade speex_resample to fix up-sampling bug</li>
|
||||
</ul><br><h4>Category: Core/BuildSystem</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28487">ASTERISK-28487</a>: compile menuselect on gentoo<br/>Reported by: Kilburn<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8399211eaf55fa27b845ff089fbeac5f3cf535ef">[8399211eaf]</a> Sean Bright -- menuselect: Fix curses build on Gentoo Linux</li>
|
||||
</ul><br><h4>Category: Core/Channels</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28499">ASTERISK-28499</a>: translate: Crash when frame does not have a "src" field set<br/>Reported by: Gregory Massel<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2691ee7e106ee537e6347c4e69a3ef7e417667e6">[2691ee7e10]</a> Joshua Colp -- AST-2019-005 - translate: Don't assume all frames will have a src.</li>
|
||||
</ul><br><h4>Category: Core/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28498">ASTERISK-28498</a>: cel / cdr: Event times may be incorrect<br/>Reported by: Joshua C. Colp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6350f4e278569c084f519eff3302a5f5eebec355">[6350f4e278]</a> Joshua Colp -- cdr / cel: Use event time at event creation instead of processing.</li>
|
||||
</ul><br><h4>Category: Core/RTP</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28480">ASTERISK-28480</a>: json integer overflow in ssrc and timestamp<br/>Reported by: Salah Ahmed<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6bb14150c4b19407ad2d166ee6f0bc94415e9d21">[6bb14150c4]</a> Kevin Harwell -- various modules: json integer overflow</li>
|
||||
</ul><br><h4>Category: Core/UDPTL</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28483">ASTERISK-28483</a>: packet lost on UDPTL wrap around<br/>Reported by: Torrey Searle<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=83390327b2036b4e4d34c4e94fcbed0b057a8b03">[83390327b2]</a> Torrey Searle -- main/udptl.c: correctly handle udptl sequence wrap around</li>
|
||||
</ul><br><h4>Category: General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28523">ASTERISK-28523</a>: Asterisk 16.5.0 Memory leak<br/>Reported by: Cyril Ramière<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6b072ab08cb067b5ecba32b94a541e2f827a2b78">[6b072ab08c]</a> Kevin Harwell -- res_sorcery_memory_cache: stale item update leak</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28472">ASTERISK-28472</a>: Asterisk occasionally passes a NULL as srtp->session to srtp_protect/unprotect causing SEGV<br/>Reported by: Jonas Swiatek<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d4766a82a28cce3c068fcb45cbb34fba0328b28c">[d4766a82a2]</a> Kevin Harwell -- srtp: Fix possible race condition, and add NULL checks</li>
|
||||
</ul><br><h4>Category: Resources/res_config_sqlite3</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28477">ASTERISK-28477</a>: Crash when not specifying "dbfile" in res_config_sqlite3.conf<br/>Reported by: Dennis<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=28654308efcc677f61534c6e9d883db3fb396eca">[28654308ef]</a> Sean Bright -- res_config_sqlite3: Only join threads that we started</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28478">ASTERISK-28478</a>: Crash performing "core reload" with modified res_config_sqlite3.conf<br/>Reported by: Dennis<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=28654308efcc677f61534c6e9d883db3fb396eca">[28654308ef]</a> Sean Bright -- res_config_sqlite3: Only join threads that we started</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28521">ASTERISK-28521</a>: pjsip: Memory Leak<br/>Reported by: Mark<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2b75c4fc514c3a6e2fcb5d89a47ea552764d5992">[2b75c4fc51]</a> George Joseph -- pjproject_bundled: Revert pjproject 2.9 commits causing leaks</li>
|
||||
</ul><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28228">ASTERISK-28228</a>: res_pjsip: pjsip show contacts prints double entries<br/>Reported by: Ian Jones<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c2b135729caad2c08526fabeca80f7e519aca2a2">[c2b135729c]</a> Joshua Colp -- res_pjsip: Fix multiple of the same contact in "pjsip show contacts".</li>
|
||||
</ul><br><h4>Category: Resources/res_pjsip_outbound_registration</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28521">ASTERISK-28521</a>: pjsip: Memory Leak<br/>Reported by: Mark<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2b75c4fc514c3a6e2fcb5d89a47ea552764d5992">[2b75c4fc51]</a> George Joseph -- pjproject_bundled: Revert pjproject 2.9 commits causing leaks</li>
|
||||
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28509">ASTERISK-28509</a>: PJSIP cnonce generated on Linux contains 36 characters, NEC only supports up to 32 characters<br/>Reported by: Dan Cropp<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c8cc530726f5f81c99bc4181c8b8c39a1842913f">[c8cc530726]</a> Dan Cropp -- pjproject: Configurable setting for cnonce to include hyphens or not</li>
|
||||
</ul><br><h3>New Feature</h3><h4>Category: Resources/res_musiconhold</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-17808">ASTERISK-17808</a>: [patch] Unregister a realtime moh class<br/>Reported by: Byron Clark<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=b478f46d59114733f716c41356585af54c10c1f8">[b478f46d59]</a> sungtae kim -- res_musiconhold: Added unregister realtime moh class</li>
|
||||
</ul><br><h4>Category: pjproject/pjsip</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28489">ASTERISK-28489</a>: Channel variable SIPFROMDOMAIN for chan_pjsip to setup From header URI domain<br/>Reported by: Stas Kobzar<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=fb984eda40f9753a5f98b59044386664129bbb52">[fb984eda40]</a> Stas Kobzar -- res_pjsip: Channel variable SIPFROMDOMAIN</li>
|
||||
</ul><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><p>This is a list of all changes that went into this release that did not reference a JIRA issue.</p><table width="100%" border="1">
|
||||
<tr><th>Revision</th><th>Author</th><th>Summary</th></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=e70a65eb55d2e183ca15c9e0d9b5a34897f33852">e70a65eb55</a></td><td>Asterisk Development Team</td><td>Update for 16.6.0-rc2</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=951d914aab0e0cae65365fb3cf55b30b4262b53f">951d914aab</a></td><td>Asterisk Development Team</td><td>Update for 16.6.0-rc1</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=688908fe7a6d26cfd3ef3b7213986103b749dd4e">688908fe7a</a></td><td>Asterisk Development Team</td><td>Update CHANGES and UPGRADE.txt for 16.6.0</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d566314e38d47313af73dc5150c259323e930528">d566314e38</a></td><td>George Joseph</td><td>ARI: External Media</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a321225fa443d1fb823ad992d72c2ef825df67ef">a321225fa4</a></td><td>Chris-Savinovich</td><td>test_utils.c: Skip test adsi_loaded_test if module not loaded.</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=78d00c277cebad260577024a59227ef7fc0920e7">78d00c277c</a></td><td>Igor Goncharovsky</td><td>chan_unistim: Fix code, causing all incoming DTMF sent back to asterisk</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=821b7561f85b5fcbc337b4dfcec85709812c56e3">821b7561f8</a></td><td>Igor Goncharovsky</td><td>chan_unistim: Fix RTP port byte order for big-endian arch</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=aaaa1695ca76b659a9131ceaa86ae3fa4fb3aca0">aaaa1695ca</a></td><td>Alexei Gradinari</td><td>Fix misname 'res_external_mwi' to 'res_mwi_external' in comments.</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c00a010fe8e4cac63f09406a8c7ff97166f5f773">c00a010fe8</a></td><td>George Joseph</td><td>chan_rtp: Accept hostname as well as ip address as destination</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=6407ccd2d9887754d51b38de6d635e42fd775611">6407ccd2d9</a></td><td>George Joseph</td><td>dns_core: Create new API ast_dns_resolve_ipv6_and_ipv4</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f82d0b74fd870b94609c196c11bdc9c4d5b9663b">f82d0b74fd</a></td><td>George Joseph</td><td>res_ari.c: Prefer exact handler match over wildcard</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=51fd43206ba2655233f660f92da2424ffa2ab874">51fd43206b</a></td><td>Sean Bright</td><td>audiohook.c: Substitute silence for unavailable audio frames</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=92066b87469080831c678d16305f4043b1e26861">92066b8746</a></td><td>George Joseph</td><td>CI: Escape backslashes in printenv/sort/tr</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=db9684ad1e2a74329da744aede8bd8c5f293f41c">db9684ad1e</a></td><td>George Joseph</td><td>CI: Add "throttle" label and "skip_gate" capability</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=2641081caa7f1c9755a782509d5a46a1c59e6b3a">2641081caa</a></td><td>George Joseph</td><td>CI: Make node labels job-specific</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=97183769028a8791f31d441e3495bb444bcc22a1">9718376902</a></td><td>Sean Bright</td><td>res_musiconhold: Use a vector instead of custom array allocation</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=0ebfc4a19ddd6d2d53840ca18d7cd53a5a572b81">0ebfc4a19d</a></td><td>Sean Bright</td><td>manager: Send fewer packets</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=d6af1acb8c21eb1552663e5c335aea93373e7fed">d6af1acb8c</a></td><td>Sean Bright</td><td>res_musiconhold: Use ast_pipe_nonblock() wrapper</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=05cf9c99128cff8a83711624f2e78c049957b54e">05cf9c9912</a></td><td>George Joseph</td><td>loader.c: Fix possible SEGV when a module fails to register</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=06780d2bc4c8304de2709e5ceb32f011559878e4">06780d2bc4</a></td><td>George Joseph</td><td>CI: Don't enable non-core modules in Certified branches</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=3814faf8486214d57d9ffad9cf8e8a39254772c5">3814faf848</a></td><td>Leonid Fainshtein</td><td>openr2(6/6): Set hangup cause</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=06515707dff10a8016723a81bc6132ced28f21cb">06515707df</a></td><td>Tzafrir Cohen</td><td>openr2(5/6): added cli command -- mfcr2 destroy link <index></td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=93a093f6c4e01357ed598f426bb0233e9f9f9c4d">93a093f6c4</a></td><td>Tzafrir Cohen</td><td>openr2(4/6): added new cli command -- mfcr2 show links</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a45cfefb77e7f58254d48f65f61b57d457e66102">a45cfefb77</a></td><td>Tzafrir Cohen</td><td>openr2(3/6): Convert r2links to standard Asterisk AST_LIST*</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ec6e88592a94ac0e16a8c313df0584e052fe3dce">ec6e88592a</a></td><td>Tzafrir Cohen</td><td>openr2(2/6): Stop polling channels when DAHDI returns -ENODEV (e.g: plug-out)</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=7b6df814a6dc731acc5f3acc8f4e730425256af3">7b6df814a6</a></td><td>Tzafrir Cohen</td><td>openr2(1/6): bugfix in configuration saving</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=356f4256cc53d5fa6d9ced1b92f0f2f80e1ae166">356f4256cc</a></td><td>George Joseph</td><td>CI: Add cleanWs to cleanup steps in jenkinsfiles</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=9d694692032b85e7360c625e8240dbae4951d53c">9d69469203</a></td><td>Rodrigo Ramírez Norambuena</td><td>README.md: Update year</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=c86c0973ff61f8379a729076c6bbb747384d41cf">c86c0973ff</a></td><td>George Joseph</td><td>CI: Add install-headers to the install make targets</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=f62d9013c10cf5c677a61926696502639abc2fe0">f62d9013c1</a></td><td>George Joseph</td><td>Build: Add separate header install/uninstall targets</td></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=88ea395c333acea93791a21b948f361408e2f5a9">88ea395c33</a></td><td>Kevin Harwell</td><td>manager: Log AMI actions</td></tr>
|
||||
</table><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><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>asterisk-16.5.0-summary.html | 105 -
|
||||
asterisk-16.5.0-summary.txt | 302 --
|
||||
b/.version | 2
|
||||
b/CHANGES | 49
|
||||
b/ChangeLog | 810 +++++++
|
||||
b/Makefile | 30
|
||||
b/README.md | 2
|
||||
b/UPGRADE.txt | 14
|
||||
b/apps/app_agent_pool.c | 4
|
||||
b/apps/app_chanisavail.c | 3
|
||||
b/apps/app_mixmonitor.c | 13
|
||||
b/apps/app_queue.c | 12
|
||||
b/apps/app_voicemail.c | 2
|
||||
b/asterisk-16.6.0-rc2-summary.html | 26
|
||||
b/asterisk-16.6.0-rc2-summary.txt | 118 +
|
||||
b/channels/chan_dahdi.c | 427 +++-
|
||||
b/channels/chan_iax2.c | 8
|
||||
b/channels/chan_pjsip.c | 179 +
|
||||
b/channels/chan_rtp.c | 19
|
||||
b/channels/chan_unistim.c | 174 -
|
||||
b/channels/sig_pri.c | 17
|
||||
b/codecs/Makefile | 3
|
||||
b/codecs/speex/arch.h | 13
|
||||
b/codecs/speex/fixed_generic.h | 4
|
||||
b/codecs/speex/resample.c | 332 +--
|
||||
b/codecs/speex/speex_resampler.h | 4
|
||||
b/funcs/func_talkdetect.c | 2
|
||||
b/include/asterisk/audiohook.h | 2
|
||||
b/include/asterisk/cel.h | 22
|
||||
b/include/asterisk/dns_core.h | 22
|
||||
b/include/asterisk/sched.h | 16
|
||||
b/main/aoc.c | 8
|
||||
b/main/audiohook.c | 11
|
||||
b/main/ccss.c | 4
|
||||
b/main/cdr.c | 52
|
||||
b/main/cel.c | 82
|
||||
b/main/channel.c | 4
|
||||
b/main/core_local.c | 6
|
||||
b/main/dns_core.c | 72
|
||||
b/main/loader.c | 2
|
||||
b/main/manager.c | 105 -
|
||||
b/main/rtp_engine.c | 27
|
||||
b/main/sched.c | 30
|
||||
b/main/stasis_channels.c | 4
|
||||
b/main/translate.c | 2
|
||||
b/main/udptl.c | 18
|
||||
b/menuselect/Makefile | 8
|
||||
b/menuselect/autoconfig.h.in | 3
|
||||
b/menuselect/configure | 334 +++
|
||||
b/menuselect/configure.ac | 12
|
||||
b/menuselect/makeopts.in | 3
|
||||
b/res/ari/ari_model_validators.c | 56
|
||||
b/res/ari/ari_model_validators.h | 22
|
||||
b/res/ari/resource_channels.c | 192 +
|
||||
b/res/ari/resource_channels.h | 42
|
||||
b/res/res_ari.c | 23
|
||||
b/res/res_ari_channels.c | 135 +
|
||||
b/res/res_config_sqlite3.c | 6
|
||||
b/res/res_musiconhold.c | 238 +-
|
||||
b/res/res_pjsip.c | 4
|
||||
b/res/res_pjsip/location.c | 6
|
||||
b/res/res_pjsip_mwi.c | 289 ++
|
||||
b/res/res_pjsip_sdp_rtp.c | 2
|
||||
b/res/res_pjsip_session.c | 12
|
||||
b/res/res_pjsip_t38.c | 72
|
||||
b/res/res_sorcery_memory_cache.c | 1
|
||||
b/res/res_srtp.c | 33
|
||||
b/rest-api/api-docs/channels.json | 146 +
|
||||
b/tests/CI/buildAsterisk.sh | 10
|
||||
b/tests/CI/gates.jenkinsfile | 30
|
||||
b/tests/CI/installAsterisk.sh | 2
|
||||
b/tests/CI/periodics-daily.jenkinsfile | 9
|
||||
b/tests/CI/ref_debug.jenkinsfile | 15
|
||||
b/tests/CI/unittests.jenkinsfile | 9
|
||||
b/tests/test_utils.c | 5
|
||||
b/third-party/pjproject/patches/0020-patch_cnonce_only_digits_option.patch | 53
|
||||
b/third-party/pjproject/patches/0030-Revert-Misc-re-2147-Fixed-warnings-in-SSL-socket-red.patch | 60
|
||||
b/third-party/pjproject/patches/0031-Revert-Fixed-2204-Add-OpenSSL-remote-certificate-cha.patch | 84
|
||||
b/third-party/pjproject/patches/0032-Revert-Re-2147-misc-Fix-failed-pjsip-test-transport_.patch | 64
|
||||
b/third-party/pjproject/patches/0033-Revert-Close-1019-Support-for-multiple-listeners.patch | 1044 ++++++++++
|
||||
80 files changed, 5101 insertions(+), 1086 deletions(-)</pre><br></html>
|
@@ -1,473 +0,0 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-16.6.0
|
||||
|
||||
Date: 2019-10-08
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. Diffstat
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Summary
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This release is a point release of an existing major version. The changes
|
||||
included were made to address problems that have been identified in this
|
||||
release series, or are minor, backwards compatible new features or
|
||||
improvements. Users should be able to safely upgrade to this version if
|
||||
this release series is already in use. Users considering upgrading from a
|
||||
previous version 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-16.5.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 affected by commits that went into
|
||||
this release.
|
||||
|
||||
Coders Testers Reporters
|
||||
13 George Joseph 1 tests/test_utils.c. 2 Alexei Gradinari
|
||||
8 Sean Bright 2 Joshua C. Colp
|
||||
5 Kevin Harwell 2 Dan Cropp
|
||||
5 Tzafrir Cohen 2 Frederic LE FOLL
|
||||
4 Joshua Colp 2 Dan Cropp
|
||||
3 Alexei Gradinari (license 5691) 2 Ruddy G
|
||||
3 Asterisk Development Team 1 Walter Doekes
|
||||
3 Igor Goncharovsky 1 Byron Clark
|
||||
2 Frederic LE FOLL 1 Jonas Swiatek
|
||||
2 Dan Cropp 1 Salah Ahmed
|
||||
1 Rodrigo RamÃrez Norambuena 1 Guido Falsi
|
||||
1 Walter Doekes 1 Cyril Ramière
|
||||
1 Leonid Fainshtein 1 Stas Kobzar
|
||||
1 Torrey Searle 1 Kilburn
|
||||
1 Chris-Savinovich 1 Ian Jones
|
||||
1 Guido Falsi 1 Alexander Traud
|
||||
1 sungtae kim 1 Dennis
|
||||
1 Stas Kobzar 1 Mark
|
||||
1 Chris Savinovich
|
||||
1 Alexander Traud
|
||||
1 Gregory Massel
|
||||
1 Torrey Searle
|
||||
1 dennis
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
Security
|
||||
|
||||
Category: Resources/res_pjsip_t38
|
||||
|
||||
ASTERISK-28495: res_pjsip_t38: 200 OK with SDP answer with declined stream
|
||||
causes crash
|
||||
Reported by: Alexei Gradinari
|
||||
* [965df3c228] Alexei Gradinari -- AST-2019-004 - res_pjsip_t38.c: Add
|
||||
NULL checks before using session media
|
||||
|
||||
Bug
|
||||
|
||||
Category: .Release/Targets
|
||||
|
||||
ASTERISK-28488: pjsip mwi: n+1 sip notify's sent on re-register
|
||||
Reported by: Chris Savinovich
|
||||
* [7db5f5df6a] Kevin Harwell -- res_pjsip_mwi: add better handling of
|
||||
solicited vs unsolicited subscriptions
|
||||
|
||||
Category: Applications/app_chanisavail
|
||||
|
||||
ASTERISK-28527: ChanIsAvail() creates a CDR if unanswered=yes is set in
|
||||
cdr.conf
|
||||
Reported by: Frederic LE FOLL
|
||||
* [c8cf3ad389] Frederic LE FOLL -- ChanIsAvail() generates a CDR when
|
||||
unanswered=yes in cdr.conf.
|
||||
|
||||
Category: Applications/app_transfer
|
||||
|
||||
ASTERISK-26968: chan_pjsip: Transfer() does not result in TRANSFERSTATUS
|
||||
reflecting SIP response to transfer
|
||||
Reported by: Dan Cropp
|
||||
* [f4896703b9] Dan Cropp -- chan_pjsip: Transmit REFER waits for the
|
||||
REFER result setting TRANSFERSTATUS
|
||||
|
||||
Category: Applications/app_voicemail/IMAP
|
||||
|
||||
ASTERISK-28505: app_voicemail/IMAP: segfault in leave_voicemail because
|
||||
not checking mailstream
|
||||
Reported by: Alexei Gradinari
|
||||
* [ff180a5bfc] Alexei Gradinari -- app_voicemail/IMAP: check mailstream
|
||||
not NULL in leave_voicemail
|
||||
|
||||
Category: Channels/chan_dahdi
|
||||
|
||||
ASTERISK-28536: Asterisk release candidates fail to build on FreeBSD
|
||||
Reported by: Guido Falsi
|
||||
* [8931669b37] Guido Falsi -- chan_dahdi: Fix build with clang/llvm
|
||||
ASTERISK-28525: chan_dahdi: set CHANNEL(hangupsource) when a PRI channel
|
||||
hangs up
|
||||
Reported by: Frederic LE FOLL
|
||||
* [c6b17b5212] Frederic LE FOLL -- chan_dahdi: set CHANNEL(hangupsource)
|
||||
when a PRI channel hangs up
|
||||
|
||||
Category: Channels/chan_pjsip
|
||||
|
||||
ASTERISK-28538: chan_pjsip: Deadlock on fax detection
|
||||
Reported by: Joshua C. Colp
|
||||
* [deb45228c8] Joshua Colp -- chan_pjsip: Relock correct channel during
|
||||
"fax" redirect.
|
||||
ASTERISK-26968: chan_pjsip: Transfer() does not result in TRANSFERSTATUS
|
||||
reflecting SIP response to transfer
|
||||
Reported by: Dan Cropp
|
||||
* [f4896703b9] Dan Cropp -- chan_pjsip: Transmit REFER waits for the
|
||||
REFER result setting TRANSFERSTATUS
|
||||
|
||||
Category: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-28282: AST_SCHED_REPLACE_UNREF causes wait-on-self deadlocks (in
|
||||
chan_sip)
|
||||
Reported by: Walter Doekes
|
||||
* [64d25d36fb] Walter Doekes -- sched: Don't allow ast_sched_del to
|
||||
deadlock ast_sched_runq from same thread
|
||||
|
||||
Category: Channels/chan_unistim
|
||||
|
||||
ASTERISK-25592: chan_unistim: Clang Warning: variable sized type not at
|
||||
end of a struct
|
||||
Reported by: Alexander Traud
|
||||
* [92261d60c8] Igor Goncharovsky -- chan_unistim: Fix clang warning:
|
||||
variable sized type not at end of a struct
|
||||
|
||||
Category: Codecs/codec_resample
|
||||
|
||||
ASTERISK-28511: codec_resample: Bad sound quality when up sampling from
|
||||
SLIN16 to SLIN32
|
||||
Reported by: Ruddy G
|
||||
* [bf527810ef] Sean Bright -- codec_resample: Ensure OUTSIDE_SPEEX is
|
||||
defined when necessary
|
||||
* [cdbb9800e3] Sean Bright -- codec_resample: Upgrade speex_resample to
|
||||
fix up-sampling bug
|
||||
|
||||
Category: Core/BuildSystem
|
||||
|
||||
ASTERISK-28487: compile menuselect on gentoo
|
||||
Reported by: Kilburn
|
||||
* [8399211eaf] Sean Bright -- menuselect: Fix curses build on Gentoo
|
||||
Linux
|
||||
|
||||
Category: Core/Channels
|
||||
|
||||
ASTERISK-28499: translate: Crash when frame does not have a "src" field
|
||||
set
|
||||
Reported by: Gregory Massel
|
||||
* [2691ee7e10] Joshua Colp -- AST-2019-005 - translate: Don't assume all
|
||||
frames will have a src.
|
||||
|
||||
Category: Core/General
|
||||
|
||||
ASTERISK-28498: cel / cdr: Event times may be incorrect
|
||||
Reported by: Joshua C. Colp
|
||||
* [6350f4e278] Joshua Colp -- cdr / cel: Use event time at event
|
||||
creation instead of processing.
|
||||
|
||||
Category: Core/RTP
|
||||
|
||||
ASTERISK-28480: json integer overflow in ssrc and timestamp
|
||||
Reported by: Salah Ahmed
|
||||
* [6bb14150c4] Kevin Harwell -- various modules: json integer overflow
|
||||
|
||||
Category: Core/UDPTL
|
||||
|
||||
ASTERISK-28483: packet lost on UDPTL wrap around
|
||||
Reported by: Torrey Searle
|
||||
* [83390327b2] Torrey Searle -- main/udptl.c: correctly handle udptl
|
||||
sequence wrap around
|
||||
|
||||
Category: General
|
||||
|
||||
ASTERISK-28523: Asterisk 16.5.0 Memory leak
|
||||
Reported by: Cyril Ramière
|
||||
* [6b072ab08c] Kevin Harwell -- res_sorcery_memory_cache: stale item
|
||||
update leak
|
||||
ASTERISK-28472: Asterisk occasionally passes a NULL as srtp->session to
|
||||
srtp_protect/unprotect causing SEGV
|
||||
Reported by: Jonas Swiatek
|
||||
* [d4766a82a2] Kevin Harwell -- srtp: Fix possible race condition, and
|
||||
add NULL checks
|
||||
|
||||
Category: Resources/res_config_sqlite3
|
||||
|
||||
ASTERISK-28477: Crash when not specifying "dbfile" in
|
||||
res_config_sqlite3.conf
|
||||
Reported by: Dennis
|
||||
* [28654308ef] Sean Bright -- res_config_sqlite3: Only join threads that
|
||||
we started
|
||||
ASTERISK-28478: Crash performing "core reload" with modified
|
||||
res_config_sqlite3.conf
|
||||
Reported by: Dennis
|
||||
* [28654308ef] Sean Bright -- res_config_sqlite3: Only join threads that
|
||||
we started
|
||||
|
||||
Category: Resources/res_pjsip
|
||||
|
||||
ASTERISK-28521: pjsip: Memory Leak
|
||||
Reported by: Mark
|
||||
* [2b75c4fc51] George Joseph -- pjproject_bundled: Revert pjproject 2.9
|
||||
commits causing leaks
|
||||
ASTERISK-28228: res_pjsip: pjsip show contacts prints double entries
|
||||
Reported by: Ian Jones
|
||||
* [c2b135729c] Joshua Colp -- res_pjsip: Fix multiple of the same
|
||||
contact in "pjsip show contacts".
|
||||
|
||||
Category: Resources/res_pjsip_outbound_registration
|
||||
|
||||
ASTERISK-28521: pjsip: Memory Leak
|
||||
Reported by: Mark
|
||||
* [2b75c4fc51] George Joseph -- pjproject_bundled: Revert pjproject 2.9
|
||||
commits causing leaks
|
||||
|
||||
Category: pjproject/pjsip
|
||||
|
||||
ASTERISK-28509: PJSIP cnonce generated on Linux contains 36 characters,
|
||||
NEC only supports up to 32 characters
|
||||
Reported by: Dan Cropp
|
||||
* [c8cc530726] Dan Cropp -- pjproject: Configurable setting for cnonce
|
||||
to include hyphens or not
|
||||
|
||||
New Feature
|
||||
|
||||
Category: Resources/res_musiconhold
|
||||
|
||||
ASTERISK-17808: [patch] Unregister a realtime moh class
|
||||
Reported by: Byron Clark
|
||||
* [b478f46d59] sungtae kim -- res_musiconhold: Added unregister realtime
|
||||
moh class
|
||||
|
||||
Category: pjproject/pjsip
|
||||
|
||||
ASTERISK-28489: Channel variable SIPFROMDOMAIN for chan_pjsip to setup
|
||||
From header URI domain
|
||||
Reported by: Stas Kobzar
|
||||
* [fb984eda40] Stas Kobzar -- res_pjsip: Channel variable SIPFROMDOMAIN
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Commits Not Associated with an Issue
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all changes that went into this release that did not
|
||||
reference a JIRA issue.
|
||||
|
||||
+------------------------------------------------------------------------+
|
||||
| Revision | Author | Summary |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| e70a65eb55 | Asterisk Development | Update for 16.6.0-rc2 |
|
||||
| | Team | |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 951d914aab | Asterisk Development | Update for 16.6.0-rc1 |
|
||||
| | Team | |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 688908fe7a | Asterisk Development | Update CHANGES and UPGRADE.txt for |
|
||||
| | Team | 16.6.0 |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| d566314e38 | George Joseph | ARI: External Media |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| | | test_utils.c: Skip test |
|
||||
| a321225fa4 | Chris-Savinovich | adsi_loaded_test if module not |
|
||||
| | | loaded. |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| | | chan_unistim: Fix code, causing |
|
||||
| 78d00c277c | Igor Goncharovsky | all incoming DTMF sent back to |
|
||||
| | | asterisk |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 821b7561f8 | Igor Goncharovsky | chan_unistim: Fix RTP port byte |
|
||||
| | | order for big-endian arch |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| aaaa1695ca | Alexei Gradinari | Fix misname 'res_external_mwi' to |
|
||||
| | | 'res_mwi_external' in comments. |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| c00a010fe8 | George Joseph | chan_rtp: Accept hostname as well |
|
||||
| | | as ip address as destination |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 6407ccd2d9 | George Joseph | dns_core: Create new API |
|
||||
| | | ast_dns_resolve_ipv6_and_ipv4 |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| f82d0b74fd | George Joseph | res_ari.c: Prefer exact handler |
|
||||
| | | match over wildcard |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 51fd43206b | Sean Bright | audiohook.c: Substitute silence |
|
||||
| | | for unavailable audio frames |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 92066b8746 | George Joseph | CI: Escape backslashes in |
|
||||
| | | printenv/sort/tr |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| db9684ad1e | George Joseph | CI: Add "throttle" label and |
|
||||
| | | "skip_gate" capability |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 2641081caa | George Joseph | CI: Make node labels job-specific |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 9718376902 | Sean Bright | res_musiconhold: Use a vector |
|
||||
| | | instead of custom array allocation |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 0ebfc4a19d | Sean Bright | manager: Send fewer packets |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| d6af1acb8c | Sean Bright | res_musiconhold: Use |
|
||||
| | | ast_pipe_nonblock() wrapper |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 05cf9c9912 | George Joseph | loader.c: Fix possible SEGV when a |
|
||||
| | | module fails to register |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 06780d2bc4 | George Joseph | CI: Don't enable non-core modules |
|
||||
| | | in Certified branches |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 3814faf848 | Leonid Fainshtein | openr2(6/6): Set hangup cause |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 06515707df | Tzafrir Cohen | openr2(5/6): added cli command -- |
|
||||
| | | mfcr2 destroy link <index> |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 93a093f6c4 | Tzafrir Cohen | openr2(4/6): added new cli command |
|
||||
| | | -- mfcr2 show links |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| a45cfefb77 | Tzafrir Cohen | openr2(3/6): Convert r2links to |
|
||||
| | | standard Asterisk AST_LIST* |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| | | openr2(2/6): Stop polling channels |
|
||||
| ec6e88592a | Tzafrir Cohen | when DAHDI returns -ENODEV (e.g: |
|
||||
| | | plug-out) |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 7b6df814a6 | Tzafrir Cohen | openr2(1/6): bugfix in |
|
||||
| | | configuration saving |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 356f4256cc | George Joseph | CI: Add cleanWs to cleanup steps |
|
||||
| | | in jenkinsfiles |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 9d69469203 | Rodrigo RamÃrez | README.md: Update year |
|
||||
| | Norambuena | |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| c86c0973ff | George Joseph | CI: Add install-headers to the |
|
||||
| | | install make targets |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| f62d9013c1 | George Joseph | Build: Add separate header |
|
||||
| | | install/uninstall targets |
|
||||
|------------+----------------------+------------------------------------|
|
||||
| 88ea395c33 | Kevin Harwell | manager: Log AMI actions |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
asterisk-16.5.0-summary.html | 105 -
|
||||
asterisk-16.5.0-summary.txt | 302 --
|
||||
b/.version | 2
|
||||
b/CHANGES | 49
|
||||
b/ChangeLog | 810 +++++++
|
||||
b/Makefile | 30
|
||||
b/README.md | 2
|
||||
b/UPGRADE.txt | 14
|
||||
b/apps/app_agent_pool.c | 4
|
||||
b/apps/app_chanisavail.c | 3
|
||||
b/apps/app_mixmonitor.c | 13
|
||||
b/apps/app_queue.c | 12
|
||||
b/apps/app_voicemail.c | 2
|
||||
b/asterisk-16.6.0-rc2-summary.html | 26
|
||||
b/asterisk-16.6.0-rc2-summary.txt | 118 +
|
||||
b/channels/chan_dahdi.c | 427 +++-
|
||||
b/channels/chan_iax2.c | 8
|
||||
b/channels/chan_pjsip.c | 179 +
|
||||
b/channels/chan_rtp.c | 19
|
||||
b/channels/chan_unistim.c | 174 -
|
||||
b/channels/sig_pri.c | 17
|
||||
b/codecs/Makefile | 3
|
||||
b/codecs/speex/arch.h | 13
|
||||
b/codecs/speex/fixed_generic.h | 4
|
||||
b/codecs/speex/resample.c | 332 +--
|
||||
b/codecs/speex/speex_resampler.h | 4
|
||||
b/funcs/func_talkdetect.c | 2
|
||||
b/include/asterisk/audiohook.h | 2
|
||||
b/include/asterisk/cel.h | 22
|
||||
b/include/asterisk/dns_core.h | 22
|
||||
b/include/asterisk/sched.h | 16
|
||||
b/main/aoc.c | 8
|
||||
b/main/audiohook.c | 11
|
||||
b/main/ccss.c | 4
|
||||
b/main/cdr.c | 52
|
||||
b/main/cel.c | 82
|
||||
b/main/channel.c | 4
|
||||
b/main/core_local.c | 6
|
||||
b/main/dns_core.c | 72
|
||||
b/main/loader.c | 2
|
||||
b/main/manager.c | 105 -
|
||||
b/main/rtp_engine.c | 27
|
||||
b/main/sched.c | 30
|
||||
b/main/stasis_channels.c | 4
|
||||
b/main/translate.c | 2
|
||||
b/main/udptl.c | 18
|
||||
b/menuselect/Makefile | 8
|
||||
b/menuselect/autoconfig.h.in | 3
|
||||
b/menuselect/configure | 334 +++
|
||||
b/menuselect/configure.ac | 12
|
||||
b/menuselect/makeopts.in | 3
|
||||
b/res/ari/ari_model_validators.c | 56
|
||||
b/res/ari/ari_model_validators.h | 22
|
||||
b/res/ari/resource_channels.c | 192 +
|
||||
b/res/ari/resource_channels.h | 42
|
||||
b/res/res_ari.c | 23
|
||||
b/res/res_ari_channels.c | 135 +
|
||||
b/res/res_config_sqlite3.c | 6
|
||||
b/res/res_musiconhold.c | 238 +-
|
||||
b/res/res_pjsip.c | 4
|
||||
b/res/res_pjsip/location.c | 6
|
||||
b/res/res_pjsip_mwi.c | 289 ++
|
||||
b/res/res_pjsip_sdp_rtp.c | 2
|
||||
b/res/res_pjsip_session.c | 12
|
||||
b/res/res_pjsip_t38.c | 72
|
||||
b/res/res_sorcery_memory_cache.c | 1
|
||||
b/res/res_srtp.c | 33
|
||||
b/rest-api/api-docs/channels.json | 146 +
|
||||
b/tests/CI/buildAsterisk.sh | 10
|
||||
b/tests/CI/gates.jenkinsfile | 30
|
||||
b/tests/CI/installAsterisk.sh | 2
|
||||
b/tests/CI/periodics-daily.jenkinsfile | 9
|
||||
b/tests/CI/ref_debug.jenkinsfile | 15
|
||||
b/tests/CI/unittests.jenkinsfile | 9
|
||||
b/tests/test_utils.c | 5
|
||||
b/third-party/pjproject/patches/0020-patch_cnonce_only_digits_option.patch | 53
|
||||
b/third-party/pjproject/patches/0030-Revert-Misc-re-2147-Fixed-warnings-in-SSL-socket-red.patch | 60
|
||||
b/third-party/pjproject/patches/0031-Revert-Fixed-2204-Add-OpenSSL-remote-certificate-cha.patch | 84
|
||||
b/third-party/pjproject/patches/0032-Revert-Re-2147-misc-Fix-failed-pjsip-test-transport_.patch | 64
|
||||
b/third-party/pjproject/patches/0033-Revert-Close-1019-Support-for-multiple-listeners.patch | 1044 ++++++++++
|
||||
80 files changed, 5101 insertions(+), 1086 deletions(-)
|
19
asterisk-16.6.2-summary.html
Normal file
19
asterisk-16.6.2-summary.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<!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"><title>Release Summary - asterisk-16.6.2</title><h1 align="center"><a name="top">Release Summary</a></h1><h3 align="center">asterisk-16.6.2</h3><h3 align="center">Date: 2019-11-21</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="#closed_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><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:</p><ul>
|
||||
<li><a href="http://downloads.asterisk.org/pub/security/AST-2019-006,AST-2019-007.html">AST-2019-006,AST-2019-007</a></li>
|
||||
</ul><p>The data in this summary reflects changes that have been made since the previous release, asterisk-16.6.1.</p><hr><a name="contributors"><h2 align="center">Contributors</h2></a><center><a href="#top">[Back to Top]</a></center><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 affected by commits that went into this release.</p><table width="100%" border="0">
|
||||
<tr><th width="33%">Coders</th><th width="33%">Testers</th><th width="33%">Reporters</th></tr>
|
||||
<tr valign="top"><td width="33%">1 Asterisk Development Team <asteriskteam@digium.com><br/>1 George Joseph <gjoseph@digium.com><br/>1 Ben Ford <bford@digium.com><br/></td><td width="33%"><td width="33%">1 Eliel Sardañons <eliels@gmail.com><br/>1 Andrey V. T. <avt1203@gmail.com><br/>1 Eliel Sardañons<br/></td></tr>
|
||||
</table><hr><a name="closed_issues"><h2 align="center">Closed Issues</h2></a><center><a href="#top">[Back to Top]</a></center><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p><h3>Security</h3><h4>Category: Channels/chan_sip/General</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28589">ASTERISK-28589</a>: chan_sip: Depending on configuration an INVITE can alter Addr of a peer<br/>Reported by: Andrey V. T.<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=ad66cbd0be39198d0016d7133c840289ae6e2dea">[ad66cbd0be]</a> Ben Ford -- chan_sip.c: Prevent address change on unauthenticated SIP request.</li>
|
||||
</ul><br><h4>Category: Core/ManagerInterface</h4><a href="https://issues.asterisk.org/jira/browse/ASTERISK-28580">ASTERISK-28580</a>: Bypass SYSTEM write permission in manager action allows system commands execution<br/>Reported by: Eliel Sardañons<ul>
|
||||
<li><a href="https://code.asterisk.org/code/changelog/asterisk?cs=8cc49544f889b3fc29011751420fda90d8349a1c">[8cc49544f8]</a> George Joseph -- manager.c: Prevent the Originate action from running the Originate app</li>
|
||||
</ul><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><p>This is a list of all changes that went into this release that did not reference a JIRA issue.</p><table width="100%" border="1">
|
||||
<tr><th>Revision</th><th>Author</th><th>Summary</th></tr>
|
||||
<tr><td><a href="https://code.asterisk.org/code/changelog/asterisk?cs=a4248c671a5c9a36f9d7277af8593b73352f038a">a4248c671a</a></td><td>Asterisk Development Team</td><td>Update CHANGES and UPGRADE.txt for 16.6.2</td></tr>
|
||||
</table><hr><a name="diffstat"><h2 align="center">Diffstat Results</h2></a><center><a href="#top">[Back to Top]</a></center><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>0 files changed</pre><br></html>
|
111
asterisk-16.6.2-summary.txt
Normal file
111
asterisk-16.6.2-summary.txt
Normal file
@@ -0,0 +1,111 @@
|
||||
Release Summary
|
||||
|
||||
asterisk-16.6.2
|
||||
|
||||
Date: 2019-11-21
|
||||
|
||||
<asteriskteam@digium.com>
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Table of Contents
|
||||
|
||||
1. Summary
|
||||
2. Contributors
|
||||
3. Closed Issues
|
||||
4. Other Changes
|
||||
5. 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-2019-006,AST-2019-007
|
||||
|
||||
The data in this summary reflects changes that have been made since the
|
||||
previous release, asterisk-16.6.1.
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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 affected by commits that went into
|
||||
this release.
|
||||
|
||||
Coders Testers Reporters
|
||||
1 Asterisk Development Team 1 Eliel Sardañons
|
||||
1 George Joseph 1 Andrey V. T.
|
||||
1 Ben Ford 1 Eliel Sardañons
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
Security
|
||||
|
||||
Category: Channels/chan_sip/General
|
||||
|
||||
ASTERISK-28589: chan_sip: Depending on configuration an INVITE can alter
|
||||
Addr of a peer
|
||||
Reported by: Andrey V. T.
|
||||
* [ad66cbd0be] Ben Ford -- chan_sip.c: Prevent address change on
|
||||
unauthenticated SIP request.
|
||||
|
||||
Category: Core/ManagerInterface
|
||||
|
||||
ASTERISK-28580: Bypass SYSTEM write permission in manager action allows
|
||||
system commands execution
|
||||
Reported by: Eliel Sardañons
|
||||
* [8cc49544f8] George Joseph -- manager.c: Prevent the Originate action
|
||||
from running the Originate app
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Commits Not Associated with an Issue
|
||||
|
||||
[Back to Top]
|
||||
|
||||
This is a list of all changes that went into this release that did not
|
||||
reference a JIRA issue.
|
||||
|
||||
+------------------------------------------------------------------------+
|
||||
| Revision | Author | Summary |
|
||||
|------------+---------------------------+-------------------------------|
|
||||
| a4248c671a | Asterisk Development Team | Update CHANGES and |
|
||||
| | | UPGRADE.txt for 16.6.2 |
|
||||
+------------------------------------------------------------------------+
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
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.
|
||||
|
||||
0 files changed
|
@@ -19245,18 +19245,6 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
|
||||
bogus_peer = NULL;
|
||||
}
|
||||
|
||||
/* build_peer, called through sip_find_peer, is not able to check the
|
||||
* sip_pvt->natdetected flag in order to determine if the peer is behind
|
||||
* NAT or not when SIP_PAGE3_NAT_AUTO_RPORT or SIP_PAGE3_NAT_AUTO_COMEDIA
|
||||
* are set on the peer. So we check for that here and set the peer's
|
||||
* address accordingly.
|
||||
*/
|
||||
set_peer_nat(p, peer);
|
||||
|
||||
if (p->natdetected && ast_test_flag(&peer->flags[2], SIP_PAGE3_NAT_AUTO_RPORT)) {
|
||||
ast_sockaddr_copy(&peer->addr, &p->recv);
|
||||
}
|
||||
|
||||
if (!ast_apply_acl(peer->acl, addr, "SIP Peer ACL: ")) {
|
||||
ast_debug(2, "Found peer '%s' for '%s', but fails host access\n", peer->name, of);
|
||||
sip_unref_peer(peer, "sip_unref_peer: check_peer_ok: from sip_find_peer call, early return of AUTH_ACL_FAILED");
|
||||
@@ -19325,6 +19313,21 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
|
||||
ast_string_field_set(p, peermd5secret, NULL);
|
||||
}
|
||||
if (!(res = check_auth(p, req, peer->name, p->peersecret, p->peermd5secret, sipmethod, uri2, reliable))) {
|
||||
|
||||
/* build_peer, called through sip_find_peer, is not able to check the
|
||||
* sip_pvt->natdetected flag in order to determine if the peer is behind
|
||||
* NAT or not when SIP_PAGE3_NAT_AUTO_RPORT or SIP_PAGE3_NAT_AUTO_COMEDIA
|
||||
* are set on the peer. So we check for that here and set the peer's
|
||||
* address accordingly. The address should ONLY be set once we are sure
|
||||
* authentication was a success. If, for example, an INVITE was sent that
|
||||
* matched the peer name but failed the authentication check, the address
|
||||
* would be updated, which is bad.
|
||||
*/
|
||||
set_peer_nat(p, peer);
|
||||
if (p->natdetected && ast_test_flag(&peer->flags[2], SIP_PAGE3_NAT_AUTO_RPORT)) {
|
||||
ast_sockaddr_copy(&peer->addr, &p->recv);
|
||||
}
|
||||
|
||||
/* If we have a call limit, set flag */
|
||||
if (peer->call_limit)
|
||||
ast_set_flag(&p->flags[0], SIP_CALL_LIMIT);
|
||||
@@ -19424,6 +19427,7 @@ static enum check_auth_result check_peer_ok(struct sip_pvt *p, char *of,
|
||||
}
|
||||
}
|
||||
sip_unref_peer(peer, "check_peer_ok: sip_unref_peer: tossing temp ptr to peer from sip_find_peer");
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
@@ -5742,6 +5742,7 @@ static int action_originate(struct mansession *s, const struct message *m)
|
||||
EAGI(/bin/rm,-rf /) */
|
||||
strcasestr(app, "mixmonitor") || /* MixMonitor(blah,,rm -rf) */
|
||||
strcasestr(app, "externalivr") || /* ExternalIVR(rm -rf) */
|
||||
strcasestr(app, "originate") || /* Originate(Local/1234,app,System,rm -rf) */
|
||||
(strstr(appdata, "SHELL") && (bad_appdata = 1)) || /* NoOp(${SHELL(rm -rf /)}) */
|
||||
(strstr(appdata, "EVAL") && (bad_appdata = 1)) /* NoOp(${EVAL(${some_var_containing_SHELL})}) */
|
||||
)) {
|
||||
|
@@ -1289,6 +1289,13 @@ static int create_unsolicited_mwi_subscriptions(struct ast_sip_endpoint *endpoin
|
||||
if (!aggregate_sub) {
|
||||
return 0; /* No MWI aggregation for you */
|
||||
}
|
||||
|
||||
/*
|
||||
* Just in case we somehow get in the position of recreating with no previous
|
||||
* aggregate object, set recreate to false here in order to allow the new
|
||||
* object to be linked into the container below
|
||||
*/
|
||||
recreate = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1330,13 +1337,13 @@ static int create_unsolicited_mwi_subscriptions(struct ast_sip_endpoint *endpoin
|
||||
|
||||
if (aggregate_sub) {
|
||||
if (ao2_container_count(aggregate_sub->stasis_subs)) {
|
||||
ao2_link_flags(unsolicited_mwi, aggregate_sub, OBJ_NOLOCK);
|
||||
/* Only link if we're dealing with a new aggregate object */
|
||||
if (!recreate) {
|
||||
ao2_link_flags(unsolicited_mwi, aggregate_sub, OBJ_NOLOCK);
|
||||
}
|
||||
if (send_now && sub_added) {
|
||||
send_notify(aggregate_sub, NULL, 0);
|
||||
}
|
||||
} else {
|
||||
/* No stasis subscriptions then no MWI data to aggregate */
|
||||
ao2_ref(aggregate_sub, -1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,60 +0,0 @@
|
||||
From 8d0652d4a02c7b8da58b1b98421cfda57056184d Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Tue, 24 Sep 2019 06:41:16 -0600
|
||||
Subject: [PATCH 30/33] Revert "Misc (re #2147): Fixed warnings in SSL socket:
|
||||
redefinition of typedef 'pj_ssl_sock_t' and unused 'get_pem'."
|
||||
|
||||
This reverts commit 688a9b0de685328f62b2df86304b44c21e4460ae.
|
||||
---
|
||||
pjlib/src/pj/ssl_sock_imp_common.h | 4 ++--
|
||||
pjlib/src/pj/ssl_sock_ossl.c | 5 +----
|
||||
2 files changed, 3 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/pjlib/src/pj/ssl_sock_imp_common.h b/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
index 09f259ef7..4edbb3b82 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
+++ b/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
@@ -93,7 +93,7 @@ typedef struct circ_buf_t {
|
||||
/*
|
||||
* Secure socket structure definition.
|
||||
*/
|
||||
-struct pj_ssl_sock_t
|
||||
+typedef struct pj_ssl_sock_t
|
||||
{
|
||||
pj_pool_t *pool;
|
||||
pj_ssl_sock_t *parent;
|
||||
@@ -139,7 +139,7 @@ struct pj_ssl_sock_t
|
||||
|
||||
circ_buf_t circ_buf_output;
|
||||
pj_lock_t *circ_buf_output_mutex;
|
||||
-};
|
||||
+} pj_ssl_sock_t;
|
||||
|
||||
|
||||
/*
|
||||
diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
index b4ac5c15f..debb105b1 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_ossl.c
|
||||
+++ b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#if defined(PJ_HAS_SSL_SOCK) && PJ_HAS_SSL_SOCK != 0 && \
|
||||
(PJ_SSL_SOCK_IMP == PJ_SSL_SOCK_IMP_OPENSSL)
|
||||
|
||||
+#include "ssl_sock_imp_common.h"
|
||||
#include "ssl_sock_imp_common.c"
|
||||
|
||||
#define THIS_FILE "ssl_sock_ossl.c"
|
||||
@@ -1575,10 +1576,6 @@ static void ssl_update_remote_cert_chain_info(pj_pool_t *pool,
|
||||
{
|
||||
int i;
|
||||
|
||||
- /* For now, get_pem has to be PJ_TRUE */
|
||||
- pj_assert(get_pem);
|
||||
- PJ_UNUSED_ARG(get_pem);
|
||||
-
|
||||
ci->raw_chain.cert_raw = (pj_str_t *)pj_pool_calloc(pool,
|
||||
sk_X509_num(chain),
|
||||
sizeof(pj_str_t));
|
||||
--
|
||||
2.21.0
|
||||
|
105
third-party/pjproject/patches/0030-ssl-regression-fix.patch
vendored
Normal file
105
third-party/pjproject/patches/0030-ssl-regression-fix.patch
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
From 489281f29fc7b97143cf79154f22e5007adaba39 Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Wed, 9 Oct 2019 07:49:44 -0600
|
||||
Subject: [PATCH 30/31] ssl regression fix
|
||||
|
||||
---
|
||||
pjlib/src/pj/ssl_sock_gtls.c | 6 ++++--
|
||||
pjlib/src/pj/ssl_sock_imp_common.c | 4 ++++
|
||||
pjlib/src/pj/ssl_sock_imp_common.h | 3 +++
|
||||
pjlib/src/pj/ssl_sock_ossl.c | 9 +++++----
|
||||
4 files changed, 16 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/pjlib/src/pj/ssl_sock_gtls.c b/pjlib/src/pj/ssl_sock_gtls.c
|
||||
index 311b7b757..484770ae4 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_gtls.c
|
||||
+++ b/pjlib/src/pj/ssl_sock_gtls.c
|
||||
@@ -1050,7 +1050,8 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock)
|
||||
goto us_out;
|
||||
|
||||
tls_cert_get_info(ssock->pool, &ssock->local_cert_info, cert);
|
||||
- tls_cert_get_chain_raw(ssock->pool, &ssock->local_cert_info, us, 1);
|
||||
+ pj_pool_reset(ssock->info_pool);
|
||||
+ tls_cert_get_chain_raw(ssock->info_pool, &ssock->local_cert_info, us, 1);
|
||||
|
||||
us_out:
|
||||
tls_last_error = ret;
|
||||
@@ -1077,7 +1078,8 @@ us_out:
|
||||
goto peer_out;
|
||||
|
||||
tls_cert_get_info(ssock->pool, &ssock->remote_cert_info, cert);
|
||||
- tls_cert_get_chain_raw(ssock->pool, &ssock->remote_cert_info, certs,
|
||||
+ pj_pool_reset(ssock->info_pool);
|
||||
+ tls_cert_get_chain_raw(ssock->info_pool, &ssock->remote_cert_info, certs,
|
||||
certslen);
|
||||
|
||||
peer_out:
|
||||
diff --git a/pjlib/src/pj/ssl_sock_imp_common.c b/pjlib/src/pj/ssl_sock_imp_common.c
|
||||
index e6273d832..51a62a2fb 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_imp_common.c
|
||||
+++ b/pjlib/src/pj/ssl_sock_imp_common.c
|
||||
@@ -616,6 +616,7 @@ static void ssl_on_destroy(void *arg)
|
||||
}
|
||||
|
||||
/* Secure release pool, i.e: all memory blocks will be zeroed first */
|
||||
+ pj_pool_secure_release(&ssock->info_pool);
|
||||
pj_pool_secure_release(&ssock->pool);
|
||||
}
|
||||
|
||||
@@ -1262,15 +1263,18 @@ PJ_DEF(pj_status_t) pj_ssl_sock_create (pj_pool_t *pool,
|
||||
{
|
||||
pj_ssl_sock_t *ssock;
|
||||
pj_status_t status;
|
||||
+ pj_pool_t *info_pool;
|
||||
|
||||
PJ_ASSERT_RETURN(pool && param && p_ssock, PJ_EINVAL);
|
||||
PJ_ASSERT_RETURN(param->sock_type == pj_SOCK_STREAM(), PJ_ENOTSUP);
|
||||
|
||||
+ info_pool = pj_pool_create(pool->factory, "ssl_chain%p", 512, 512, NULL);
|
||||
pool = pj_pool_create(pool->factory, "ssl%p", 512, 512, NULL);
|
||||
|
||||
/* Create secure socket */
|
||||
ssock = ssl_alloc(pool);
|
||||
ssock->pool = pool;
|
||||
+ ssock->info_pool = info_pool;
|
||||
ssock->sock = PJ_INVALID_SOCKET;
|
||||
ssock->ssl_state = SSL_STATE_NULL;
|
||||
ssock->circ_buf_input.owner = ssock;
|
||||
diff --git a/pjlib/src/pj/ssl_sock_imp_common.h b/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
index 09f259ef7..eb45f14e0 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
+++ b/pjlib/src/pj/ssl_sock_imp_common.h
|
||||
@@ -96,6 +96,9 @@ typedef struct circ_buf_t {
|
||||
struct pj_ssl_sock_t
|
||||
{
|
||||
pj_pool_t *pool;
|
||||
+ pj_pool_t *info_pool; /* this is for certificate chain
|
||||
+ * information allocation. Don't use for
|
||||
+ * other purposes. */
|
||||
pj_ssl_sock_t *parent;
|
||||
pj_ssl_sock_param param;
|
||||
pj_ssl_sock_param newsock_param;
|
||||
diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
index b4ac5c15f..2545b7c37 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_ossl.c
|
||||
+++ b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
@@ -1637,11 +1637,12 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock)
|
||||
|
||||
chain = SSL_get_peer_cert_chain(ossock->ossl_ssl);
|
||||
if (chain) {
|
||||
- ssl_update_remote_cert_chain_info(ssock->pool,
|
||||
- &ssock->remote_cert_info,
|
||||
- chain, PJ_TRUE);
|
||||
+ pj_pool_reset(ssock->info_pool);
|
||||
+ ssl_update_remote_cert_chain_info(ssock->info_pool,
|
||||
+ &ssock->remote_cert_info,
|
||||
+ chain, PJ_TRUE);
|
||||
} else {
|
||||
- ssock->remote_cert_info.raw_chain.cnt = 0;
|
||||
+ ssock->remote_cert_info.raw_chain.cnt = 0;
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
@@ -1,84 +0,0 @@
|
||||
From 616a13933f33a6d74f84d85b5bfb858279a09e2d Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Tue, 24 Sep 2019 06:42:04 -0600
|
||||
Subject: [PATCH 31/33] Revert "Fixed #2204: Add OpenSSL remote certificate
|
||||
chain info"
|
||||
|
||||
This reverts commit f71d60c866c4572a7c8398fe982416771fc6a7f5.
|
||||
---
|
||||
pjlib/src/pj/ssl_sock_ossl.c | 45 ------------------------------------
|
||||
1 file changed, 45 deletions(-)
|
||||
|
||||
diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
index debb105b1..109c5c1e2 100644
|
||||
--- a/pjlib/src/pj/ssl_sock_ossl.c
|
||||
+++ b/pjlib/src/pj/ssl_sock_ossl.c
|
||||
@@ -1566,41 +1566,6 @@ static void get_cert_info(pj_pool_t *pool, pj_ssl_cert_info *ci, X509 *x,
|
||||
}
|
||||
}
|
||||
|
||||
-/* Update remote certificates chain info. This function should be
|
||||
- * called after handshake or renegotiation successfully completed.
|
||||
- */
|
||||
-static void ssl_update_remote_cert_chain_info(pj_pool_t *pool,
|
||||
- pj_ssl_cert_info *ci,
|
||||
- STACK_OF(X509) *chain,
|
||||
- pj_bool_t get_pem)
|
||||
-{
|
||||
- int i;
|
||||
-
|
||||
- ci->raw_chain.cert_raw = (pj_str_t *)pj_pool_calloc(pool,
|
||||
- sk_X509_num(chain),
|
||||
- sizeof(pj_str_t));
|
||||
- ci->raw_chain.cnt = sk_X509_num(chain);
|
||||
-
|
||||
- for (i = 0; i < sk_X509_num(chain); i++) {
|
||||
- BIO *bio;
|
||||
- BUF_MEM *ptr;
|
||||
- X509 *x = sk_X509_value(chain, i);
|
||||
-
|
||||
- bio = BIO_new(BIO_s_mem());
|
||||
-
|
||||
- if (!PEM_write_bio_X509(bio, x)) {
|
||||
- PJ_LOG(3, (THIS_FILE, "Error retrieving raw certificate info"));
|
||||
- ci->raw_chain.cert_raw[i].ptr = NULL;
|
||||
- ci->raw_chain.cert_raw[i].slen = 0;
|
||||
- } else {
|
||||
- BIO_write(bio, "\0", 1);
|
||||
- BIO_get_mem_ptr(bio, &ptr);
|
||||
- pj_strdup2(pool, &ci->raw_chain.cert_raw[i], ptr->data );
|
||||
- }
|
||||
-
|
||||
- BIO_free(bio);
|
||||
- }
|
||||
-}
|
||||
|
||||
/* Update local & remote certificates info. This function should be
|
||||
* called after handshake or renegotiation successfully completed.
|
||||
@@ -1609,7 +1574,6 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock)
|
||||
{
|
||||
ossl_sock_t *ossock = (ossl_sock_t *)ssock;
|
||||
X509 *x;
|
||||
- STACK_OF(X509) *chain;
|
||||
|
||||
pj_assert(ssock->ssl_state == SSL_STATE_ESTABLISHED);
|
||||
|
||||
@@ -1631,15 +1595,6 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock)
|
||||
} else {
|
||||
pj_bzero(&ssock->remote_cert_info, sizeof(pj_ssl_cert_info));
|
||||
}
|
||||
-
|
||||
- chain = SSL_get_peer_cert_chain(ossock->ossl_ssl);
|
||||
- if (chain) {
|
||||
- ssl_update_remote_cert_chain_info(ssock->pool,
|
||||
- &ssock->remote_cert_info,
|
||||
- chain, PJ_TRUE);
|
||||
- } else {
|
||||
- ssock->remote_cert_info.raw_chain.cnt = 0;
|
||||
- }
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.21.0
|
||||
|
187
third-party/pjproject/patches/0031-transport-regression-fix.patch
vendored
Normal file
187
third-party/pjproject/patches/0031-transport-regression-fix.patch
vendored
Normal file
@@ -0,0 +1,187 @@
|
||||
From 9c6108ca392d5e0392e7fb5d2ffde85e3c44ce55 Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Wed, 9 Oct 2019 07:50:32 -0600
|
||||
Subject: [PATCH 31/31] transport regression fix
|
||||
|
||||
---
|
||||
pjsip/src/pjsip/sip_transport.c | 73 +++++++++++++++++++++++++++------
|
||||
1 file changed, 61 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
|
||||
index 65ac823d4..da6b70e50 100644
|
||||
--- a/pjsip/src/pjsip/sip_transport.c
|
||||
+++ b/pjsip/src/pjsip/sip_transport.c
|
||||
@@ -50,6 +50,24 @@ static const char *addr_string(const pj_sockaddr_t *addr)
|
||||
str, sizeof(str));
|
||||
return str;
|
||||
}
|
||||
+static const char* print_tpsel_info(const pjsip_tpselector *sel)
|
||||
+{
|
||||
+ static char tpsel_info_buf[80];
|
||||
+ if (!sel) return "(null)";
|
||||
+ if (sel->type==PJSIP_TPSELECTOR_LISTENER)
|
||||
+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf),
|
||||
+ "listener[%s], reuse=%d", sel->u.listener->obj_name,
|
||||
+ !sel->disable_connection_reuse);
|
||||
+ else if (sel->type==PJSIP_TPSELECTOR_TRANSPORT)
|
||||
+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf),
|
||||
+ "transport[%s], reuse=%d", sel->u.transport->info,
|
||||
+ !sel->disable_connection_reuse);
|
||||
+ else
|
||||
+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf),
|
||||
+ "unknown[%p], reuse=%d", sel->u.ptr,
|
||||
+ !sel->disable_connection_reuse);
|
||||
+ return tpsel_info_buf;
|
||||
+}
|
||||
#else
|
||||
# define TRACE_(x)
|
||||
#endif
|
||||
@@ -1210,10 +1228,14 @@ PJ_DEF(pj_status_t) pjsip_transport_register( pjsip_tpmgr *mgr,
|
||||
* new transport to the list.
|
||||
*/
|
||||
pj_list_push_back(tp_ref, tp_add);
|
||||
+ TRACE_((THIS_FILE, "Remote address already registered, "
|
||||
+ "appended the transport to the list"));
|
||||
} else {
|
||||
/* Transport list not found, add it to the hash table. */
|
||||
pj_hash_set_np(mgr->table, &tp->key, key_len, hval, tp_add->tp_buf,
|
||||
tp_add);
|
||||
+ TRACE_((THIS_FILE, "Remote address not registered, "
|
||||
+ "added the transport to the hash"));
|
||||
}
|
||||
|
||||
/* Add ref transport group lock, if any */
|
||||
@@ -1283,6 +1305,13 @@ static pj_status_t destroy_transport( pjsip_tpmgr *mgr,
|
||||
/* The transport list has multiple entry. */
|
||||
pj_hash_set_np(mgr->table, &tp_next->tp->key, key_len,
|
||||
hval, tp_next->tp_buf, tp_next);
|
||||
+ TRACE_((THIS_FILE, "Hash entry updated after "
|
||||
+ "transport %d being destroyed",
|
||||
+ tp->obj_name));
|
||||
+ } else {
|
||||
+ TRACE_((THIS_FILE, "Hash entry deleted after "
|
||||
+ "transport %d being destroyed",
|
||||
+ tp->obj_name));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1294,6 +1323,14 @@ static pj_status_t destroy_transport( pjsip_tpmgr *mgr,
|
||||
}
|
||||
tp_iter = tp_iter->next;
|
||||
} while (tp_iter != tp_ref);
|
||||
+
|
||||
+ if (tp_iter->tp != tp) {
|
||||
+ PJ_LOG(3, (THIS_FILE, "Warning: transport %s being destroyed is "
|
||||
+ "not registered", tp->obj_name));
|
||||
+ }
|
||||
+ } else {
|
||||
+ PJ_LOG(3, (THIS_FILE, "Warning: transport %s being destroyed is "
|
||||
+ "not found in the hash table", tp->obj_name));
|
||||
}
|
||||
|
||||
pj_lock_release(mgr->lock);
|
||||
@@ -2159,6 +2196,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr,
|
||||
NULL, tp);
|
||||
}
|
||||
|
||||
+
|
||||
/*
|
||||
* pjsip_tpmgr_acquire_transport2()
|
||||
*
|
||||
@@ -2176,8 +2214,9 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
pjsip_tpfactory *factory;
|
||||
pj_status_t status;
|
||||
|
||||
- TRACE_((THIS_FILE,"Acquiring transport type=%s, remote=%s:%d",
|
||||
+ TRACE_((THIS_FILE,"Acquiring transport type=%s, sel=%s remote=%s:%d",
|
||||
pjsip_transport_get_type_name(type),
|
||||
+ print_tpsel_info(sel),
|
||||
addr_string(remote),
|
||||
pj_sockaddr_get_port(remote)));
|
||||
|
||||
@@ -2194,6 +2233,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
/* See if the transport is (not) suitable */
|
||||
if (seltp->key.type != type) {
|
||||
pj_lock_release(mgr->lock);
|
||||
+ TRACE_((THIS_FILE, "Transport type in tpsel not matched"));
|
||||
return PJSIP_ETPNOTSUITABLE;
|
||||
}
|
||||
|
||||
@@ -2234,6 +2274,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
{
|
||||
if (sel->u.listener->type != type) {
|
||||
pj_lock_release(mgr->lock);
|
||||
+ TRACE_((THIS_FILE, "Listener type in tpsel not matched"));
|
||||
return PJSIP_ETPNOTSUITABLE;
|
||||
}
|
||||
}
|
||||
@@ -2249,21 +2290,25 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
tp_entry = (transport *)pj_hash_get(mgr->table, &key, key_len,
|
||||
NULL);
|
||||
if (tp_entry) {
|
||||
- if (sel && sel->type == PJSIP_TPSELECTOR_LISTENER) {
|
||||
- transport *tp_iter = tp_entry;
|
||||
- do {
|
||||
+ transport *tp_iter = tp_entry;
|
||||
+ do {
|
||||
+ /* Don't use transport being shutdown */
|
||||
+ if (!tp_iter->tp->is_shutdown) {
|
||||
if (sel && sel->type == PJSIP_TPSELECTOR_LISTENER &&
|
||||
- sel->u.listener &&
|
||||
- tp_iter->tp->factory == sel->u.listener)
|
||||
+ sel->u.listener)
|
||||
{
|
||||
+ /* Match listener if selector is set */
|
||||
+ if (tp_iter->tp->factory == sel->u.listener) {
|
||||
+ tp_ref = tp_iter->tp;
|
||||
+ break;
|
||||
+ }
|
||||
+ } else {
|
||||
tp_ref = tp_iter->tp;
|
||||
break;
|
||||
}
|
||||
- tp_iter = tp_iter->next;
|
||||
- } while (tp_iter != tp_entry);
|
||||
- } else {
|
||||
- tp_ref = tp_entry->tp;
|
||||
- }
|
||||
+ }
|
||||
+ tp_iter = tp_iter->next;
|
||||
+ } while (tp_iter != tp_entry);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2276,7 +2321,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
|
||||
/* Ignore address for loop transports. */
|
||||
if (type == PJSIP_TRANSPORT_LOOP ||
|
||||
- type == PJSIP_TRANSPORT_LOOP_DGRAM)
|
||||
+ type == PJSIP_TRANSPORT_LOOP_DGRAM)
|
||||
{
|
||||
pj_sockaddr *addr = &key.rem_addr;
|
||||
|
||||
@@ -2315,6 +2360,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
* 'duplicate' of the existing transport (same type & remote addr,
|
||||
* but different factory).
|
||||
*/
|
||||
+ TRACE_((THIS_FILE, "Transport found but from different listener"));
|
||||
}
|
||||
|
||||
if (tp_ref!=NULL && !tp_ref->is_shutdown) {
|
||||
@@ -2347,10 +2393,13 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr,
|
||||
*/
|
||||
|
||||
/* Verify that the listener type matches the destination type */
|
||||
+ /* Already checked above. */
|
||||
+ /*
|
||||
if (sel->u.listener->type != type) {
|
||||
pj_lock_release(mgr->lock);
|
||||
return PJSIP_ETPNOTSUITABLE;
|
||||
}
|
||||
+ */
|
||||
|
||||
/* We'll use this listener to create transport */
|
||||
factory = sel->u.listener;
|
||||
--
|
||||
2.21.0
|
||||
|
@@ -1,64 +0,0 @@
|
||||
From 17cd744e19cd332a219a512770fa6e18453044ba Mon Sep 17 00:00:00 2001
|
||||
From: George Joseph <gjoseph@digium.com>
|
||||
Date: Tue, 24 Sep 2019 06:45:25 -0600
|
||||
Subject: [PATCH 32/33] Revert "Re #2147 (misc): Fix failed pjsip-test
|
||||
(transport_loop_test) caused by r6002."
|
||||
|
||||
This reverts commit 342148f5bcf3a6b0029ce834b8567c2cd691b15b.
|
||||
---
|
||||
pjsip/src/pjsip/sip_transport.c | 12 +++++-------
|
||||
pjsip/src/pjsip/sip_transport_loop.c | 2 +-
|
||||
pjsip/src/test/transport_loop_test.c | 1 -
|
||||
3 files changed, 6 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c
|
||||
index 65ac823d4..d63823a98 100644
|
||||
--- a/pjsip/src/pjsip/sip_transport.c
|
||||
+++ b/pjsip/src/pjsip/sip_transport.c
|
||||
@@ -1222,13 +1222,11 @@ PJ_DEF(pj_status_t) pjsip_transport_register( pjsip_tpmgr *mgr,
|
||||
|
||||
pj_lock_release(mgr->lock);
|
||||
|
||||
- TRACE_((THIS_FILE, "Transport %s registered: type=%s, remote=%s:%d",
|
||||
- tp->obj_name,
|
||||
- pjsip_transport_get_type_name(tp->key.type),
|
||||
- pj_sockaddr_has_addr(&tp->key.rem_addr)?
|
||||
- addr_string(&tp->key.rem_addr):"",
|
||||
- pj_sockaddr_has_addr(&tp->key.rem_addr)?
|
||||
- pj_sockaddr_get_port(&tp->key.rem_addr):0));
|
||||
+ TRACE_((THIS_FILE,"Transport %s registered: type=%s, remote=%s:%d",
|
||||
+ tp->obj_name,
|
||||
+ pjsip_transport_get_type_name(tp->key.type),
|
||||
+ addr_string(&tp->key.rem_addr),
|
||||
+ pj_sockaddr_get_port(&tp->key.rem_addr)));
|
||||
|
||||
return PJ_SUCCESS;
|
||||
}
|
||||
diff --git a/pjsip/src/pjsip/sip_transport_loop.c b/pjsip/src/pjsip/sip_transport_loop.c
|
||||
index 37e20e69b..24e1a5f69 100644
|
||||
--- a/pjsip/src/pjsip/sip_transport_loop.c
|
||||
+++ b/pjsip/src/pjsip/sip_transport_loop.c
|
||||
@@ -376,7 +376,7 @@ PJ_DEF(pj_status_t) pjsip_loop_start( pjsip_endpoint *endpt,
|
||||
if (status != PJ_SUCCESS)
|
||||
goto on_error;
|
||||
loop->base.key.type = PJSIP_TRANSPORT_LOOP_DGRAM;
|
||||
- //loop->base.key.rem_addr.addr.sa_family = pj_AF_INET();
|
||||
+ loop->base.key.rem_addr.addr.sa_family = pj_AF_INET();
|
||||
loop->base.type_name = "LOOP-DGRAM";
|
||||
loop->base.info = "LOOP-DGRAM";
|
||||
loop->base.flag = PJSIP_TRANSPORT_DATAGRAM;
|
||||
diff --git a/pjsip/src/test/transport_loop_test.c b/pjsip/src/test/transport_loop_test.c
|
||||
index 5f2f03904..efa2ea116 100644
|
||||
--- a/pjsip/src/test/transport_loop_test.c
|
||||
+++ b/pjsip/src/test/transport_loop_test.c
|
||||
@@ -36,7 +36,6 @@ static int datagram_loop_test()
|
||||
|
||||
PJ_LOG(3,(THIS_FILE, "testing datagram loop transport"));
|
||||
|
||||
- pj_sockaddr_in_init(&addr, NULL, 0);
|
||||
/* Test acquire transport. */
|
||||
status = pjsip_endpt_acquire_transport( endpt, PJSIP_TRANSPORT_LOOP_DGRAM,
|
||||
&addr, sizeof(addr), NULL, &loop);
|
||||
--
|
||||
2.21.0
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user