[-]
[+]
|
Changed |
asterisk.changes
|
|
[-]
[+]
|
Changed |
asterisk.spec
^
|
|
[-]
[+]
|
Deleted |
asterisk-1.8.31.1.tar.xz/asterisk-1.8.31.1-summary.html
^
|
@@ -1,64 +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">
-<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.8.31.1</title></head>
-<body>
-<h1 align="center"><a name="top">Release Summary</a></h1>
-<h3 align="center">asterisk-1.8.31.1</h3>
-<h3 align="center">Date: 2014-10-20</h3>
-<h3 align="center"><asteriskteam@digium.com></h3>
-<hr/>
-<h2 align="center">Table of Contents</h2>
-<ol>
- <li><a href="#summary">Summary</a></li>
- <li><a href="#contributors">Contributors</a></li>
- <li><a href="#commits">Other Changes</a></li>
- <li><a href="#diffstat">Diffstat</a></li>
-</ol>
-<hr/>
-<a name="summary"><h2 align="center">Summary</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This release has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
-<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2014-011.html">AST-2014-011</a></p>
-<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.8.31.0.</p>
-<hr/>
-<a name="contributors"><h2 align="center">Contributors</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
-<table width="100%" border="0">
-<tr>
-<td width="33%"><h3>Coders</h3></td>
-<td width="33%"><h3>Testers</h3></td>
-<td width="33%"><h3>Reporters</h3></td>
-</tr>
-<tr valign="top">
-<td>
-3 bebuild<br/>
-</td>
-<td>
-</td>
-<td>
-</td>
-</tr>
-</table>
-<hr/>
-<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
-<table width="100%" border="1">
-<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.31.1?view=revision&revision=425988">425988</a></td><td>bebuild</td><td>Create 1.8.31.1</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.31.1?view=revision&revision=425998">425998</a></td><td>bebuild</td><td>Update .version, remove summaries</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.31.1?view=revision&revision=426015">426015</a></td><td>bebuild</td><td>Merge 425985</td>
-<td></td></tr></table>
-<hr/>
-<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
-<pre>
-.version | 2
-ChangeLog | 26 ++++
-UPGRADE.txt | 12 ++
-asterisk-1.8.31.0-summary.html | 176 -----------------------------
-asterisk-1.8.31.0-summary.txt | 244 -----------------------------------------
-main/tcptls.c | 22 ++-
-res/res_jabber.c | 5
-7 files changed, 60 insertions(+), 427 deletions(-)
-</pre><br/>
-<hr/>
-</body>
-</html>
|
[-]
[+]
|
Deleted |
asterisk-1.8.31.1.tar.xz/asterisk-1.8.31.1-summary.txt
^
|
@@ -1,94 +0,0 @@
- Release Summary
-
- asterisk-1.8.31.1
-
- Date: 2014-10-20
-
- <asteriskteam@digium.com>
-
- ----------------------------------------------------------------------
-
- Table of Contents
-
- 1. Summary
- 2. Contributors
- 3. Other Changes
- 4. Diffstat
-
- ----------------------------------------------------------------------
-
- Summary
-
- [Back to Top]
-
- This release has been made to address one or more security vulnerabilities
- that have been identified. A security advisory document has been published
- for each vulnerability that includes additional information. Users of
- versions of Asterisk that are affected are strongly encouraged to review
- the advisories and determine what action they should take to protect their
- systems from these issues.
-
- Security Advisories: AST-2014-011
-
- The data in this summary reflects changes that have been made since the
- previous release, asterisk-1.8.31.0.
-
- ----------------------------------------------------------------------
-
- Contributors
-
- [Back to Top]
-
- This table lists the people who have submitted code, those that have
- tested patches, as well as those that reported issues on the issue tracker
- that were resolved in this release. For coders, the number is how many of
- their patches (of any size) were committed into this release. For testers,
- the number is the number of times their name was listed as assisting with
- testing a patch. Finally, for reporters, the number is the number of
- issues that they reported that were closed by commits that went into this
- release.
-
- Coders Testers Reporters
- 3 bebuild
-
- ----------------------------------------------------------------------
-
- Commits Not Associated with an Issue
-
- [Back to Top]
-
- This is a list of all changes that went into this release that did not
- directly close an issue from the issue tracker. The commits may have been
- marked as being related to an issue. If that is the case, the issue
- numbers are listed here, as well.
-
- +------------------------------------------------------------------------+
- | Revision | Author | Summary | Issues Referenced |
- |----------+---------+-------------------------------+-------------------|
- | 425988 | bebuild | Create 1.8.31.1 | |
- |----------+---------+-------------------------------+-------------------|
- | 425998 | bebuild | Update .version, remove | |
- | | | summaries | |
- |----------+---------+-------------------------------+-------------------|
- | 426015 | bebuild | Merge 425985 | |
- +------------------------------------------------------------------------+
-
- ----------------------------------------------------------------------
-
- Diffstat Results
-
- [Back to Top]
-
- This is a summary of the changes to the source code that went into this
- release that was generated using the diffstat utility.
-
- .version | 2
- ChangeLog | 26 ++++
- UPGRADE.txt | 12 ++
- asterisk-1.8.31.0-summary.html | 176 -----------------------------
- asterisk-1.8.31.0-summary.txt | 244 -----------------------------------------
- main/tcptls.c | 22 ++-
- res/res_jabber.c | 5
- 7 files changed, 60 insertions(+), 427 deletions(-)
-
- ----------------------------------------------------------------------
|
|
Deleted |
asterisk-1.8.32.1.tar.xz
^
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/.version
^
|
@@ -1 +1 @@
-1.8.31.1
+1.8.32.2
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/ChangeLog
^
|
@@ -1,28 +1,355 @@
-2014-10-20 Asterisk Development Team <asteriskteam@digium.com>
+2015-01-28 Asterisk Development Team <asteriskteam@digium.com>
- * Asterisk 1.8.31.1 Released.
+ * Asterisk 1.8.32.2 Released.
- * AST-2014-011: Fix POODLE security issues
+ * Mitigate possible HTTP injection attacks using CURL() function in
+ Asterisk.
- There are two aspects to the vulnerability:
- (1) res_jabber/res_xmpp use SSLv3 only. This patch updates the module
- to use TLSv1+. At this time, it does not refactor res_jabber/
- res_xmpp to use the TCP/TLS core, which should be done as an
- improvement at a latter date.
- (2) The TCP/TLS core, when tlsclientmethod/sslclientmethod is left
- unspecified, will default to the OpenSSL SSLv23_method. This
- method allows for all encryption methods, including SSLv2/SSLv3.
- A MITM can exploit this by forcing a fallback to SSLv3, which
- leaves the server vulnerable to POODLE. This patch adds WARNINGS
- if a user uses SSLv2/SSLv3 in their configuration, and explicitly
- disables SSLv2/SSLv3 if using SSLv23_method.
-
- For TLS clients, Asterisk will default to TLSv1+ and WARN if SSLv2 or
- SSLv3 is explicitly chosen. For TLS servers, Asterisk will no longer
- support SSLv2 or SSLv3.
+ CVE-2014-8150 disclosed a vulnerability in libcURL where HTTP request
+ injection can be performed given properly-crafted URLs.
- Much thanks to abelbeck for reporting the vulnerability and providing
- a patch for the res_jabber/res_xmpp modules.
+ Since Asterisk makes use of libcURL, and it is possible that users of
+ Asterisk may get cURL URLs from user input or remote sources, we have
+ made a patch to Asterisk to prevent such HTTP injection attacks from
+ originating from Asterisk.
+
+ ASTERISK-24676 #close
+ Reported by: Matt Jordan, Olle Johansson
+
+ Review: https://reviewboard.asterisk.org/r/4364
+
+ AST-2015-002
+
+2014-11-20 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.32.1 Released.
+
+ * AST-2014-012: Fix error with mixed address family ACLs.
+
+ Prior to this commit, the address family of the first item in an ACL
+ was used to compare all incoming traffic. This could lead to traffic
+ of other IP address families bypassing ACLs.
+
+ ASTERISK-24469 #close
+ Reported by Matt Jordan
+
+ * AST-2014-018 - func_db: DB Dialplan function permission escalation
+ via AMI.
+
+ The DB dialplan function when executed from an external protocol
+ (for instance AMI), could result in a privilege escalation.
+
+ Asterisk now inhibits the DB function from being executed from an
+ external interface if the live_dangerously option is set to no.
+
+ ASTERISK-24534
+ Reported by: Gareth Palmer
+ patches: submitted by Gareth Palmer (license 5169)
+
+2014-11-10 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.32.0 Released.
+
+2014-11-07 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.32.0-rc2 Released.
+
+2014-11-06 09:05 +0000 [r427380] Corey Farrell <git@cfware.com>
+
+ * Fix unintential memory retention in stringfields.
+
+ * Fix missing / unreachable calls to
+ __ast_string_field_release_active.
+ * Reset pool->used to zero when the current pool->active reaches
+ zero.
+
+ ASTERISK-24307 #close
+ Reported by: Etienne Lessard
+ Tested by: ibercom, Etienne Lessard
+ Review: https://reviewboard.asterisk.org/r/4114/
+
+2014-11-03 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.32.0-rc1 Released.
+
+2014-11-02 08:01 +0000 [r427023] Corey Farrell <git@cfware.com>
+
+ * main/app.c: Fix ast_writestream leaks Fix cleanup in
+ __ast_play_and_record where others[x] may be leaked. This was
+ caught where prepend != NULL && outmsg != NULL, once realfile[x]
+ == NULL any further others[x] would be leaked. A cleanup block
+ was also added for prepend != NULL && outmsg == NULL. 11+: Fix
+ leak of ast_writestream recording_fs in
+ app_voicemail:leave_voicemail. ASTERISK-24476 #close Reported by:
+ Corey Farrell Review: https://reviewboard.asterisk.org/r/4138/
+
+2014-10-31 16:37 +0000 [r426926-426929] Tzafrir Cohen <tzafrir.cohen@xorcom.com>
+
+ * Makefile: Fix syntax from r426926
+
+ * Makefile: install init.d files on GNU/kFreeBSD Review:
+ https://reviewboard.asterisk.org/r/4118/
+
+2014-10-31 03:24 +0000 [r426858] Matthew Jordan <mjordan@digium.com>
+
+ * channels/sip/reqresp_parser.c,
+ channels/sip/include/reqresp_parser.h:
+ channels/sip/reqresp_parser: Fix unit tests for r426594 When
+ r426594 was made, it did not take into account a unit test that
+ verified that the function properly populated the unsupported
+ buffer. The function would previously memset the buffer if it
+ detected it had any contents; since this function can now be
+ called iteratively on successive headers, the unit tests would
+ now fail. This patch updates the unit tests to reset the buffer
+ themselves between successive calls, and updates the
+ documentation of the function to note that this is now required.
+
+2014-10-31 03:03 +0000 [r426830] Corey Farrell <git@cfware.com>
+
+ * Makefile, contrib/Makefile (added): REF_DEBUG: Install
+ refcounter.py to $(ASTDATADIR)/scripts This change ensures
+ refcounter.py is installed to a place where it can be found by
+ the Asterisk testsuite if REF_DEBUG is enabled. ASTERISK-24432
+ #close Reported by: Corey Farrell Review:
+ https://reviewboard.asterisk.org/r/4094/
+
+2014-10-30 09:11 +0000 [r426691] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * apps/app_voicemail.c: app_voicemail: Fix unchecked bounds of
+ myArray in IMAP_STORAGE. In update_messages_by_imapuser(),
+ messages were appended to a finite array which resulted in a
+ crash when an IMAP mailbox contained more than 256 entries. This
+ memory is now dynamically increased as needed. Observe that this
+ patch adds a bunch of XXX's to questionable code. See the review
+ (url below) for more information. ASTERISK-24190 #close Reported
+ by: Nick Adams Tested by: Nick Adams Review:
+ https://reviewboard.asterisk.org/r/4126/
+
+2014-10-30 01:57 +0000 [r426594-426599] Matthew Jordan <mjordan@digium.com>
+
+ * channels/chan_sip.c: channels/chan_sip: Add improved support for
+ 4xx error codes This patch adds support for 414, 493, 479, and a
+ stray 400 response in REGISTER response handling. This helps
+ interoperability in a number of scenarios. Review:
+ https://reviewboard.asterisk.org/r/3437 patches: rb3437.patch
+ uploaded by oej (License 5267)
+
+ * channels/chan_sip.c, channels/sip/reqresp_parser.c:
+ channels/chan_sip: Support mutltiple Supported and Required
+ headers A SIP request may contain multiple Supported: and
+ Required: headers. Currently, chan_sip only parses the first
+ Supported/Required header it finds. This patch adds support for
+ multiple Supported/Required headers for INVITE requests. Review:
+ https://reviewboard.asterisk.org/r/2478 ASTERISK-21721 #close
+ Reported by: Olle Johansson patches: rb2478.patch uploaded by oej
+ (License 5267)
+
+2014-10-28 18:09 +0000 [r426295-426460] mdavenport <mdavenport@localhost>:
+
+ * configs/manager.conf.sample: ASTERISK-23512, correct inaccurate
+ comment in manager.conf.sample
+
+ * res/res_agi.c: ASTERISK-24323, fix bug in documentation of AGI
+ STREAM FILE CONTROL
+
+ * configs/extensions.conf.sample: ASTERISK-24419, fix incorrect
+ syntax for setting language in extensions.conf.sample
+
+2014-10-27 01:39 +0000 [r426140] Matthew Jordan <mjordan@digium.com>
+
+ * res/res_srtp.c: res/res_srtp: Fix include issue for libsrtp 1.5.0
+ In libsrtp 1.5.0, crypto_get_random is no longer resolved simply
+ by including srtp.h. Now, one must include crypto_kernel.h as
+ well. As it turns out, this header file has been provided by the
+ library since 2006, so this is a relatively benign change.
+ ASTERISK-24436 #close Reported by: Patrick Laimbock
+
+2014-10-20 14:09 +0000 [r425985] Matthew Jordan <mjordan@digium.com>
+
+ * main/tcptls.c, UPGRADE.txt, res/res_jabber.c: AST-2014-011: Fix
+ POODLE security issues There are two aspects to the
+ vulnerability: (1) res_jabber/res_xmpp use SSLv3 only. This patch
+ updates the module to use TLSv1+. At this time, it does not
+ refactor res_jabber/res_xmpp to use the TCP/TLS core, which
+ should be done as an improvement at a latter date. (2) The
+ TCP/TLS core, when tlsclientmethod/sslclientmethod is left
+ unspecified, will default to the OpenSSL SSLv23_method. This
+ method allows for all encryption methods, including SSLv2/SSLv3.
+ A MITM can exploit this by forcing a fallback to SSLv3, which
+ leaves the server vulnerable to POODLE. This patch adds WARNINGS
+ if a user uses SSLv2/SSLv3 in their configuration, and explicitly
+ disables SSLv2/SSLv3 if using SSLv23_method. For TLS clients,
+ Asterisk will default to TLSv1+ and WARN if SSLv2 or SSLv3 is
+ explicitly chosen. For TLS servers, Asterisk will no longer
+ support SSLv2 or SSLv3. Much thanks to abelbeck for reporting the
+ vulnerability and providing a patch for the res_jabber/res_xmpp
+ modules. Review: https://reviewboard.asterisk.org/r/4096/
+ ASTERISK-24425 #close Reported by: abelbeck Tested by: abelbeck,
+ opsmonitor, gtjoseph patches: asterisk-1.8-jabber-tls.patch
+ uploaded by abelbeck (License 5903)
+ asterisk-11-jabber-xmpp-tls.patch uploaded by abelbeck (License
+ 5903) AST-2014-011-1.8.diff uploaded by mjordan (License 6283)
+ AST-2014-011-11.diff uploaded by mjordan (License 6283)
+ AST-2014-011-12.diff uploaded by mjordan (License 6283)
+
+2014-10-17 13:07 +0000 [r425818] Matthew Jordan <mjordan@digium.com>
+
+ * channels/chan_sip.c: channels/chan_sip: Respect outboundproxy
+ setting when sending qualify requests The outboundproxy setting
+ is currently ignored when sending OPTIONS requests as a result of
+ the qualify setting. This means that if an Asterisk server is
+ unable to send the packet directly to a peer, it is unable to
+ qualify any non-inbound registered peer (e.g. a peer SIP Trunk).
+ This patch grabs the outboundproxy information for a peer when a
+ qualify attempt is being constructed and, if it finds the
+ information, uses it when sending the OPTIONS request. Review:
+ https://reviewboard.asterisk.org/r/3948 ASTERISK-24063 #close
+ Reported by: Damian Ivereigh patches: outboundproxy-dai.patch
+ uploaded by Damian Ivereigh (License 6632)
+
+2014-10-15 08:39 +0000 [r425547] Alexandr Anikin <may@telecom-service.ru>
+
+ * addons/chan_ooh323.c: : Resolve module reference leak caused by
+ reserved sessions chan_ooh323: fix rtptimeout general value
+ checking correct condition to check rtptimeout in [general]
+ config section ASTERISK-24393 #close Reported by: Dmitry Melekhov
+ Tested by: Dmitry Melekhov Patches: ASTERISK-24393.patch
+
+2014-10-14 16:16 +0000 [r425405] Corey Farrell <git@cfware.com>
+
+ * res/res_fax.c: res_fax: Resolve module reference leak caused by
+ reserved sessions Remove reference to module providing reserved
+ session after adding a reference to the final module. This
+ re-reference is done to ensure that module references are correct
+ even if the final session selects a different module than the
+ reserved session. ASTERISK-18923 #close Reported by: Grigoriy
+ Puzankin Review: https://reviewboard.asterisk.org/r/4048/
+
+2014-10-12 08:10 +0000 [r425286-425296] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * channels/chan_sip.c: chan_sip: Fix so asterisk won't send
+ reINVITE after a BYE. After a reINVITE glare situation, Asterisk
+ would re-send the reINVITE even though the call had been hung up
+ in the mean time. This patch unschedules the reinvite when
+ handling the BYE. ASTERISK-22791 #close Reported by: Paolo
+ Compagnini Tested by: Paolo Compagnini Review:
+ https://reviewboard.asterisk.org/r/4056/ (testcase is in review
+ r4055)
+
+ * Makefile: build: Relax badshell tilde test to allow for ~ in
+ middle of DESTDIR. The main Makefile has a target test called
+ 'badshell' that tests if DESTDIR does not happen to have an
+ an-expanded tilde (~). This might be the case if you run: make
+ install DESTDIR=~/somewhere/ That test also disallowed valid
+ tildes in directory names. The test is now changed to only
+ trigger on a tilde at the start of the path. ASTERISK-13797
+ #close Reported by: Tzafrir Cohen Review:
+ https://reviewboard.asterisk.org/r/4064/
+
+ * res/res_calendar_ews.c: res_calendar_ews: Relax neon version
+ check to work with 0.30 too. Allow res_calendar_ews to work not
+ only with libneon-0.29 but also with 0.30. ASTERISK-24325 #close
+ Reported by: Tzafrir Cohen Review:
+ https://reviewboard.asterisk.org/r/4068/
+
+2014-10-10 12:55 +0000 [r425152] Kinsey Moore <kmoore@digium.com>
+
+ * tests/test_callerid.c, main/callerid.c: CallerID: Fix parsing
+ regression This fixes a regression in callerid parsing introduced
+ when another bug was fixed. This bug occurred when the name was
+ composed entirely of DTMF keys and quoted without a number
+ section (<>). ASTERISK-24406 #close Reported by: Etienne Lessard
+ Tested by: Etienne Lessard Patches: callerid_fix.diff uploaded by
+ Kinsey Moore Review: https://reviewboard.asterisk.org/r/4067/
+
+2014-10-10 07:24 +0000 [r424875-425068] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * channels/chan_sip.c: chan_sip: Fix dialog leak resulting from
+ missing ACK to re-INVITE. If a device re-INVITEs at the same time
+ as the dialog is hung up, and if then the ACK to the re-INVITE
+ never reaches Asterisk, chan_sip would fail to destroy the dialog
+ after a while. This resulted in (most prominently) file handle
+ leaks. (Patch reindented by me.) ASTERISK-20784 #close
+ ASTERISK-15879 #close Reported by: Torrey Searle, Nitesh Bansal
+ Patches: reinvite_ack_timeout.patch uploaded by Torrey Searle
+ (License #5334) patch_asterisk_20784.txt uploaded by Nitesh
+ Bansal (License #6418) Reviewboard:
+ https://reviewboard.asterisk.org/r/4052/ (testcase can be found
+ at r4051)
+
+ * channels/chan_sip.c: Ouch! Accidental commit of wrong file in
+ 424875.
+
+ * channels/chan_sip.c, contrib/scripts/safe_asterisk:
+ safe_asterisk: Don't automatically exceed MAXFILES value of 2^20.
+ On systems with lots of RAM (e.g. 24GB) /proc/sys/fs/file-max
+ divided by two can exceed the per-process file limit of 2^20.
+ This patch ensures the value is capped. (Patch cleaned up by me.)
+ ASTERISK-24011 #close Reported by: Michael Myles Patches:
+ safe_asterisk-ulimit.diff uploaded by Michael Myles (License
+ #6626)
+
+2014-10-07 21:28 +0000 [r424786] Corey Farrell <git@cfware.com>
+
+ * main/astobj2.c: astobj2: Correct REF_DEBUG false leak report When
+ ao2_callback is run with OBJ_MULTIPLE and not OBJ_NODATA it
+ allocates a temporary container in a way that does not record
+ REF_DEBUG log entries. This changes that container to correctly
+ record unref's when the container is freed. ASTERISK-24390 #close
+ Reported by: Corey Farrell Review:
+ https://reviewboard.asterisk.org/r/4047/
+
+2014-10-01 10:06 +0000 [r424176-424181] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * channels/chan_sip.c: chan_sip: Simplify some unref code by
+ removing unlink_peer_from_tables. ASTERISK-22945 #related
+ Reported by: ibercom Patches:
+ asterisk11-chan_sip-simplifies.patch uploaded by ibercom (License
+ #6599)
+
+ * channels/chan_sip.c: chan_sip: Remove excess ref of realtime peer
+ before sip_poke_peer. The peer is referenced at the end of
+ sip_poke_peer, it should not get an extra ref before the call to
+ sip_poke_peer. This fixes a memory leak. ASTERISK-22945 #close
+ Reported by: ibercom Tested by: Yuriy Gorlichenko Patches:
+ asterisk11.patch uploaded by ibercom (License #6599) Review:
+ https://reviewboard.asterisk.org/r/4031/
+
+2014-09-26 15:16 +0000 [r423979] Richard Mudgett <rmudgett@digium.com>
+
+ * res/res_fax.c: res_fax: Fix out of bounds error in
+ update_modem_bits(). ASTERISK-24357 #close Reported by: Jeremy
+ Laine Patches: res_fax_bounds.patch (license #6561) patch
+ uploaded by Jeremy Laine Modified patch to not use magic numbers.
+
+2014-09-26 08:22 +0000 [r423915] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * doc/asterisk.8: docs: Escape unescaped minus sign in asterisk.8
+ manpage. ASTERISK-23768 #close Reported by: Jeremy Lainé Patches:
+ escape_manpage_hyphen.patch uploaded by Jeremy Lainé (License
+ #6561)
+
+2014-09-24 08:48 +0000 [r423800] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * channels/chan_sip.c: chan_sip: Unref outbound proxy structure on
+ dialog/pvt destruction. Make sure outbound proxy refs are always
+ unreffed on dialog destruction. Review:
+ https://reviewboard.asterisk.org/r/4016/
+
+2014-09-22 19:45 +0000 [r423657-423720] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * channels/chan_sip.c: chan_sip: On INVITE retransmission, don't
+ add an extra 503 response. INVITE arrives to asterisk, asterisk
+ responds Busy(). If the INVITE is retransmitted, asterisk would
+ generate a 503 in addition to the 486. Thanks Torrey Searle for
+ providing a working regression test. ASTERISK-24335 #close
+ Review: https://reviewboard.asterisk.org/r/4003/ Patches:
+ retrans_486_invite.patch uploaded by Torrey Searle (License
+ #5334)
+
+ * main/editline/readline.c: cli.c: Fix tab completion "module load"
+ when MALLOC_DEBUG is enabled. r421600 conflicted with r155763.
+ ASTERISK-24348 #close
2014-09-24 Asterisk Development Team <asteriskteam@digium.com>
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/Makefile
^
|
@@ -216,7 +216,7 @@
_ASTCFLAGS+=$(OPTIONS)
MOD_SUBDIRS:=channels pbx apps codecs formats cdr cel bridges funcs tests main res addons $(LOCAL_MOD_SUBDIRS)
-OTHER_SUBDIRS:=utils agi
+OTHER_SUBDIRS:=utils agi contrib
SUBDIRS:=$(OTHER_SUBDIRS) $(MOD_SUBDIRS)
SUBDIRS_INSTALL:=$(SUBDIRS:%=%-install)
SUBDIRS_CLEAN:=$(SUBDIRS:%=%-clean)
@@ -539,7 +539,7 @@
fi
badshell:
-ifneq ($(findstring ~,$(DESTDIR)),)
+ifneq ($(filter ~%,$(DESTDIR)),)
@echo "Your shell doesn't do ~ expansion when expected (specifically, when doing \"make install DESTDIR=~/path\")."
@echo "Try replacing ~ with \$$HOME, as in \"make install DESTDIR=\$$HOME/path\"."
@exit 1
@@ -685,7 +685,7 @@
rm -f contrib/scripts/asterisk.logrotate.tmp
config:
- @if [ "${OSARCH}" = "linux-gnu" ]; then \
+ @if [ "${OSARCH}" = "linux-gnu" -o "${OSARCH}" = "kfreebsd-gnu" ]; then \
if [ -f /etc/redhat-release -o -f /etc/fedora-release ]; then \
cat contrib/init.d/rc.redhat.asterisk | sed 's|__ASTERISK_ETC_DIR__|$(ASTETCDIR)|;s|__ASTERISK_SBIN_DIR__|$(ASTSBINDIR)|;s|__ASTERISK_VARRUN_DIR__|$(ASTVARRUNDIR)|;' > contrib/init.d/rc.asterisk.tmp ; \
$(INSTALL) -m 755 contrib/init.d/rc.asterisk.tmp "$(DESTDIR)/etc/rc.d/init.d/asterisk" ; \
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/addons/chan_ooh323.c
^
|
@@ -2724,7 +2724,7 @@
gContext);
} else if (!strcasecmp(v->name, "rtptimeout")) {
gRTPTimeout = atoi(v->value);
- if (gRTPTimeout <= 0)
+ if (gRTPTimeout < 0)
gRTPTimeout = 60;
} else if (!strcasecmp(v->name, "tos")) {
if (sscanf(v->value, "%30i", &format) == 1)
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/apps/app_voicemail.c
^
|
@@ -91,7 +91,7 @@
#endif
#endif
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421125 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426691 $")
#include "asterisk/paths.h" /* use ast_config_AST_SPOOL_DIR */
#include <sys/time.h>
@@ -706,7 +706,8 @@
#ifdef IMAP_STORAGE
ast_mutex_t lock;
int updated; /*!< decremented on each mail check until 1 -allows delay */
- long msgArray[VMSTATE_MAX_MSG_ARRAY];
+ long *msgArray;
+ unsigned msg_array_max;
MAILSTREAM *mailstream;
int vmArrayIndex;
char imapuser[80]; /*!< IMAP server login */
@@ -2115,6 +2116,7 @@
free_user(vmu);
return -1;
}
+ ast_assert(msgnum < vms->msg_array_max);
/* check if someone is accessing this box right now... */
vms_p = get_vm_state_by_imapuser(vmu->imapuser, 1);
@@ -2739,6 +2741,17 @@
}
ast_debug(3, "saving mailbox message number %lu as message %d. Interactive set to %d\n", number, vms->vmArrayIndex, vms->interactive);
+
+ /* Ensure we have room for the next message. */
+ if (vms->vmArrayIndex >= vms->msg_array_max) {
+ long *new_mem = ast_realloc(vms->msgArray, 2 * vms->msg_array_max * sizeof(long));
+ if (!new_mem) {
+ return;
+ }
+ vms->msgArray = new_mem;
+ vms->msg_array_max *= 2;
+ }
+
vms->msgArray[vms->vmArrayIndex++] = number;
}
@@ -3016,6 +3029,7 @@
}
if (option_debug > 4)
ast_log(AST_LOG_DEBUG, "Adding new vmstate for %s\n", vmu->imapuser);
+ /* XXX: Is this correctly freed always? */
if (!(vms_p = ast_calloc(1, sizeof(*vms_p))))
return NULL;
ast_copy_string(vms_p->imapuser, vmu->imapuser, sizeof(vms_p->imapuser));
@@ -3128,6 +3142,7 @@
vms->newmessages = altvms->newmessages;
vms->oldmessages = altvms->oldmessages;
vms->vmArrayIndex = altvms->vmArrayIndex;
+ /* XXX: no msgArray copying? */
vms->lastmsg = altvms->lastmsg;
vms->curmsg = altvms->curmsg;
/* get a pointer to the persistent store */
@@ -3186,10 +3201,14 @@
if (vc) {
ast_mutex_destroy(&vc->vms->lock);
+ ast_free(vc->vms->msgArray);
+ vc->vms->msgArray = NULL;
+ vc->vms->msg_array_max = 0;
+ /* XXX: is no one supposed to free vms itself? */
ast_free(vc);
- }
- else
+ } else {
ast_log(AST_LOG_ERROR, "No vmstate found for user:%s, mailbox %s\n", vms->imapuser, vms->username);
+ }
}
static void set_update(MAILSTREAM * stream)
@@ -3211,11 +3230,13 @@
static void init_vm_state(struct vm_state *vms)
{
- int x;
- vms->vmArrayIndex = 0;
- for (x = 0; x < VMSTATE_MAX_MSG_ARRAY; x++) {
- vms->msgArray[x] = 0;
+ vms->msg_array_max = VMSTATE_MAX_MSG_ARRAY;
+ vms->msgArray = ast_calloc(vms->msg_array_max, sizeof(long));
+ if (!vms->msgArray) {
+ /* Out of mem? This can't be good. */
+ vms->msg_array_max = 0;
}
+ vms->vmArrayIndex = 0;
ast_mutex_init(&vms->lock);
}
|
[-]
[+]
|
Added |
asterisk-1.8.32.2.tar.xz/asterisk-1.8.32.2-summary.html
^
|
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-1.8.32.2</title></head>
+<body>
+<h1 align="center"><a name="top">Release Summary</a></h1>
+<h3 align="center">asterisk-1.8.32.2</h3>
+<h3 align="center">Date: 2015-01-28</h3>
+<h3 align="center"><asteriskteam@digium.com></h3>
+<hr/>
+<h2 align="center">Table of Contents</h2>
+<ol>
+ <li><a href="#summary">Summary</a></li>
+ <li><a href="#contributors">Contributors</a></li>
+ <li><a href="#commits">Other Changes</a></li>
+ <li><a href="#diffstat">Diffstat</a></li>
+</ol>
+<hr/>
+<a name="summary"><h2 align="center">Summary</h2></a>
+<center><a href="#top">[Back to Top]</a></center><br/><p>This release has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
+<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2015-002.html">AST-2015-002</a></p>
+<p>The data in this summary reflects changes that have been made since the previous release, asterisk-1.8.32.1.</p>
+<hr/>
+<a name="contributors"><h2 align="center">Contributors</h2></a>
+<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
+<table width="100%" border="0">
+<tr>
+<td width="33%"><h3>Coders</h3></td>
+<td width="33%"><h3>Testers</h3></td>
+<td width="33%"><h3>Reporters</h3></td>
+</tr>
+<tr valign="top">
+<td>
+3 bebuild<br/>
+</td>
+<td>
+</td>
+<td>
+</td>
+</tr>
+</table>
+<hr/>
+<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
+<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
+<table width="100%" border="1">
+<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.32.2?view=revision&revision=431287">431287</a></td><td>bebuild</td><td>Create 1.8.32.2 tag</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.32.2?view=revision&revision=431292">431292</a></td><td>bebuild</td><td>Update .version; remove old summaries</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/1.8.32.2?view=revision&revision=431331">431331</a></td><td>bebuild</td><td>Merge r431324 for 1.8.32.2</td>
+<td></td></tr></table>
+<hr/>
+<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
+<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
+<pre>
+.version | 2
+ChangeLog | 22 +++++++++
+asterisk-1.8.32.1-summary.html | 64 ---------------------------
+asterisk-1.8.32.1-summary.txt | 96 -----------------------------------------
+funcs/func_curl.c | 83 +++++++++++++++++++++++++++++++++++
+5 files changed, 106 insertions(+), 161 deletions(-)
+</pre><br/>
+<hr/>
+</body>
+</html>
|
[-]
[+]
|
Added |
asterisk-1.8.32.2.tar.xz/asterisk-1.8.32.2-summary.txt
^
|
@@ -0,0 +1,92 @@
+ Release Summary
+
+ asterisk-1.8.32.2
+
+ Date: 2015-01-28
+
+ <asteriskteam@digium.com>
+
+ ----------------------------------------------------------------------
+
+ Table of Contents
+
+ 1. Summary
+ 2. Contributors
+ 3. Other Changes
+ 4. Diffstat
+
+ ----------------------------------------------------------------------
+
+ Summary
+
+ [Back to Top]
+
+ This release has been made to address one or more security vulnerabilities
+ that have been identified. A security advisory document has been published
+ for each vulnerability that includes additional information. Users of
+ versions of Asterisk that are affected are strongly encouraged to review
+ the advisories and determine what action they should take to protect their
+ systems from these issues.
+
+ Security Advisories: AST-2015-002
+
+ The data in this summary reflects changes that have been made since the
+ previous release, asterisk-1.8.32.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 closed by commits that went into this
+ release.
+
+ Coders Testers Reporters
+ 3 bebuild
+
+ ----------------------------------------------------------------------
+
+ Commits Not Associated with an Issue
+
+ [Back to Top]
+
+ This is a list of all changes that went into this release that did not
+ directly close an issue from the issue tracker. The commits may have been
+ marked as being related to an issue. If that is the case, the issue
+ numbers are listed here, as well.
+
+ +------------------------------------------------------------------------+
+ | Revision | Author | Summary | Issues Referenced |
+ |----------+---------+-------------------------------+-------------------|
+ | 431287 | bebuild | Create 1.8.32.2 tag | |
+ |----------+---------+-------------------------------+-------------------|
+ | 431292 | bebuild | Update .version; remove old | |
+ | | | summaries | |
+ |----------+---------+-------------------------------+-------------------|
+ | 431331 | bebuild | Merge r431324 for 1.8.32.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.
+
+ .version | 2
+ ChangeLog | 22 +++++++++
+ asterisk-1.8.32.1-summary.html | 64 ---------------------------
+ asterisk-1.8.32.1-summary.txt | 96 -----------------------------------------
+ funcs/func_curl.c | 83 +++++++++++++++++++++++++++++++++++
+ 5 files changed, 106 insertions(+), 161 deletions(-)
+
+ ----------------------------------------------------------------------
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/channels/chan_sip.c
^
|
@@ -209,7 +209,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426599 $")
#include <signal.h>
#include <sys/signal.h>
@@ -3044,15 +3044,6 @@
unlink_peers_from_tables(SIP_PEERS_ALL);
}
-/* \brief Unlink single peer from all ao2 containers */
-static void unlink_peer_from_tables(struct sip_peer *peer)
-{
- ao2_t_unlink(peers, peer, "ao2_unlink of peer from peers table");
- if (!ast_sockaddr_isnull(&peer->addr)) {
- ao2_t_unlink(peers_by_ip, peer, "ao2_unlink of peer from peers_by_ip table");
- }
-}
-
/*! \brief maintain proper refcounts for a sip_pvt's outboundproxy
*
* This function sets pvt's outboundproxy pointer to the one referenced
@@ -3888,6 +3879,11 @@
append_history(pkt->owner, "DialogKill", "Killing this failed dialog immediately");
}
}
+ } else if (pkt->owner->pendinginvite == pkt->seqno) {
+ ast_log(LOG_WARNING, "Timeout on %s on non-critical invite transaction.\n", pkt->owner->callid);
+ pkt->owner->invitestate = INV_TERMINATED;
+ pkt->owner->pendinginvite = 0;
+ check_pendings(pkt->owner);
}
if (pkt->method == SIP_BYE) {
@@ -4166,7 +4162,7 @@
If obforcing is set, we will keep the outbound proxy during the whole
dialog, regardless of what the SIP rfc says
*/
- if (p->outboundproxy && !p->outboundproxy->force){
+ if (p->outboundproxy && !p->outboundproxy->force) {
ref_proxy(p, NULL);
}
@@ -6030,6 +6026,10 @@
p->options = NULL;
}
+ if (p->outboundproxy) {
+ ref_proxy(p, NULL);
+ }
+
if (p->notify) {
ast_variables_destroy(p->notify->headers);
ast_free(p->notify->content);
@@ -14245,11 +14245,12 @@
if (peer->selfdestruct ||
ast_test_flag(&peer->flags[1], SIP_PAGE2_RTAUTOCLEAR)) {
- unlink_peer_from_tables(peer);
- } else if (!ast_sockaddr_isnull(&peer->addr)) {
- /* If we aren't self-destructing a temp_peer, we still need to unlink the peer
- * from the peers_by_ip table, otherwise we end up with multiple copies hanging
- * around each time a registration expires and the peer re-registers. */
+ ao2_t_unlink(peers, peer, "ao2_unlink of peer from peers table");
+ }
+ if (!ast_sockaddr_isnull(&peer->addr)) {
+ /* We still need to unlink the peer from the peers_by_ip table,
+ * otherwise we end up with multiple copies hanging around each
+ * time a registration expires and the peer re-registers. */
ao2_t_unlink(peers_by_ip, peer, "ao2_unlink of peer from peers_by_ip table");
}
@@ -21064,6 +21065,8 @@
}
break;
+ case 414: /* Bad request URI */
+ case 493: /* Undecipherable */
case 404: /* Not found */
xmitres = transmit_request(p, SIP_ACK, seqno, XMIT_UNRELIABLE, FALSE);
if (p->owner && !req->ignore) {
@@ -21286,12 +21289,16 @@
ASTOBJ_UNREF(p->mwi, sip_subscribe_mwi_destroy);
pvt_set_needdestroy(p, "received 481 response");
break;
+
+ case 400: /* Bad Request */
+ case 414: /* Request URI too long */
+ case 493: /* Undecipherable */
case 500:
case 501:
ast_log(LOG_WARNING, "Subscription failed for MWI. The remote side may have suffered a heart attack.\n");
p->mwi->call = NULL;
ASTOBJ_UNREF(p->mwi, sip_subscribe_mwi_destroy);
- pvt_set_needdestroy(p, "received 500/501 response");
+ pvt_set_needdestroy(p, "received serious error (500/501/493/414/400) response");
break;
}
}
@@ -21465,11 +21472,14 @@
}
manager_event(EVENT_FLAG_SYSTEM, "Registry", "ChannelType: SIP\r\nUsername: %s\r\nDomain: %s\r\nStatus: %s\r\n", r->username, r->hostname, regstate2str(r->regstate));
break;
- case 479: /* SER: Not able to process the URI - address is wrong in register*/
- ast_log(LOG_WARNING, "Got error 479 on register to %s@%s, giving up (check config)\n", p->registry->username, p->registry->hostname);
- pvt_set_needdestroy(p, "received 479 response");
+ case 400: /* Bad request */
+ case 414: /* Request URI too long */
+ case 493: /* Undecipherable */
+ case 479: /* Kamailio/OpenSIPS: Not able to process the URI - address is wrong in register*/
+ ast_log(LOG_WARNING, "Got error %d on register to %s@%s, giving up (check config)\n", resp, p->registry->username, p->registry->hostname);
+ pvt_set_needdestroy(p, "received 4xx response");
if (r->call)
- r->call = dialog_unref(r->call, "unsetting registry->call pointer-- case 479");
+ r->call = dialog_unref(r->call, "unsetting registry->call pointer-- case 4xx");
r->regstate = REG_STATE_REJECTED;
AST_SCHED_DEL_UNREF(sched, r->timeout, registry_unref(r, "reg ptr unref from handle_response_register 479"));
break;
@@ -21885,6 +21895,9 @@
pvt_set_needdestroy(p, "received 403 response");
}
break;
+ case 400: /* Bad Request */
+ case 414: /* Request URI too long */
+ case 493: /* Undecipherable */
case 404: /* Not found */
if (p->registry && sipmethod == SIP_REGISTER)
handle_response_register(p, resp, rest, req, seqno);
@@ -23133,7 +23146,9 @@
int reinvite = 0;
struct ast_party_redirecting redirecting;
struct ast_set_party_redirecting update_redirecting;
-
+ int supported_start = 0;
+ int require_start = 0;
+ char unsupported[256] = { 0, };
struct {
char exten[AST_MAX_EXTENSION];
char context[AST_MAX_CONTEXT];
@@ -23143,31 +23158,37 @@
/* Find out what they support */
if (!p->sipoptions) {
- const char *supported = get_header(req, "Supported");
- if (!ast_strlen_zero(supported)) {
- p->sipoptions = parse_sip_options(supported, NULL, 0);
- }
+ const char *supported = NULL;
+ do {
+ supported = __get_header(req, "Supported", &supported_start);
+ if (!ast_strlen_zero(supported)) {
+ p->sipoptions |= parse_sip_options(supported, NULL, 0);
+ }
+ } while (!ast_strlen_zero(supported));
}
/* Find out what they require */
- required = get_header(req, "Require");
- if (!ast_strlen_zero(required)) {
- char unsupported[256] = { 0, };
- required_profile = parse_sip_options(required, unsupported, ARRAY_LEN(unsupported));
-
- /* If there are any options required that we do not support,
- * then send a 420 with only those unsupported options listed */
- if (!ast_strlen_zero(unsupported)) {
- transmit_response_with_unsupported(p, "420 Bad extension (unsupported)", req, unsupported);
- ast_log(LOG_WARNING, "Received SIP INVITE with unsupported required extension: required:%s unsupported:%s\n", required, unsupported);
- p->invitestate = INV_COMPLETED;
- if (!p->lastinvite)
- sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
- res = -1;
- goto request_invite_cleanup;
+ do {
+ required = __get_header(req, "Require", &require_start);
+ if (!ast_strlen_zero(required)) {
+ required_profile |= parse_sip_options(required, unsupported, ARRAY_LEN(unsupported));
+ }
+ } while (!ast_strlen_zero(required));
+
+ /* If there are any options required that we do not support,
+ * then send a 420 with only those unsupported options listed */
+ if (!ast_strlen_zero(unsupported)) {
+ transmit_response_with_unsupported(p, "420 Bad extension (unsupported)", req, unsupported);
+ ast_log(LOG_WARNING, "Received SIP INVITE with unsupported required extension: required:%s unsupported:%s\n", required, unsupported);
+ p->invitestate = INV_COMPLETED;
+ if (!p->lastinvite) {
+ sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
}
+ res = -1;
+ goto request_invite_cleanup;
}
+
/* The option tags may be present in Supported: or Require: headers.
Include the Require: option tags for further processing as well */
p->sipoptions |= required_profile;
@@ -23830,7 +23851,7 @@
break;
}
} else {
- if (p && (p->autokillid == -1)) {
+ if (!req->ignore && p && (p->autokillid == -1)) {
const char *msg;
if (!p->jointcapability)
@@ -24742,6 +24763,10 @@
transmit_response(p, "200 OK", req);
}
+ /* Destroy any pending invites so we won't try to do another
+ * scheduled reINVITE. */
+ AST_SCHED_DEL_UNREF(sched, p->waitid, dialog_unref(p, "decrement refcount from sip_destroy because waitid won't be scheduled"));
+
return 1;
}
@@ -27124,6 +27149,9 @@
ast_copy_flags(&p->flags[1], &peer->flags[1], SIP_PAGE2_FLAGS_TO_COPY);
ast_copy_flags(&p->flags[2], &peer->flags[2], SIP_PAGE3_FLAGS_TO_COPY);
+ /* Get the outbound proxy information */
+ ref_proxy(p, obproxy_get(p, peer));
+
/* Send OPTIONs to peer's fullcontact */
if (!ast_strlen_zero(peer->fullcontact)) {
ast_string_field_set(p, fullcontact, peer->fullcontact);
@@ -28681,7 +28709,6 @@
/* Startup regular pokes */
if (!devstate_only && enablepoke) {
- ref_peer(peer, "schedule qualify");
sip_poke_peer(peer, 0);
}
}
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/channels/sip/include/reqresp_parser.h
^
|
@@ -152,6 +152,11 @@
* \param option list
* \param unsupported out buffer (optional)
* \param unsupported out buffer length (optional)
+ *
+ * \note Because this function can be called multiple times, it will append
+ * whatever options are specified in \c options to \c unsupported. Callers
+ * of this function should make sure the unsupported buffer is clear before
+ * calling this function.
*/
unsigned int parse_sip_options(const char *options, char *unsupported, size_t unsupported_len);
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/channels/sip/reqresp_parser.c
^
|
@@ -25,7 +25,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 416732 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426858 $")
#include "include/sip.h"
#include "include/sip_utils.h"
@@ -1595,17 +1595,12 @@
size_t outlen = unsupported_len;
char *cur_out = out;
- if (out && (outlen > 0)) {
- memset(out, 0, outlen);
- }
-
if (ast_strlen_zero(options) )
return 0;
temp = ast_strdupa(options);
ast_debug(3, "Begin: parsing SIP \"Supported: %s\"\n", options);
-
for (next = temp; next; next = sep) {
found = FALSE;
supported = FALSE;
@@ -1765,6 +1760,7 @@
/* Test with unsupported char buffer */
AST_LIST_TRAVERSE(&testdatalist, testdataptr, list) {
+ memset(unsupported, 0, sizeof(unsupported));
option_profile = parse_sip_options(testdataptr->input_options, unsupported, ARRAY_LEN(unsupported));
if (option_profile != testdataptr->expected_profile ||
strcmp(unsupported, testdataptr->expected_unsupported)) {
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/configs/extensions.conf.sample
^
|
@@ -553,7 +553,7 @@
exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
exten => 2,n,Goto(s,instruct)
-exten => 3,1,Set(LANGUAGE()=fr) ; Set language to french
+exten => 3,1,Set(CHANNEL(language)=fr) ; Set language to french
exten => 3,n,Goto(s,restart) ; Start with the congratulations
exten => 1000,1,Goto(default,s,1)
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/configs/manager.conf.sample
^
|
@@ -3,8 +3,6 @@
;
; Third party application call management support and PBX event supervision
;
-; This configuration file is read every time someone logs in
-;
; Use the "manager show commands" at the CLI to list available manager commands
; and their authorization levels.
;
|
[-]
[+]
|
Added |
asterisk-1.8.32.2.tar.xz/contrib/Makefile
^
|
@@ -0,0 +1,29 @@
+#
+# Asterisk -- A telephony toolkit for Linux.
+#
+# Contrib scripts
+#
+# Copyright (C) 1999-2014, Digium, Inc.
+#
+# This program is free software, distributed under the terms of
+# the GNU General Public License
+#
+
+ASTTOPDIR?=..
+-include $(ASTTOPDIR)/menuselect.makeopts
+
+.PHONY: all clean install uninstall
+
+all:
+clean:
+
+include $(ASTTOPDIR)/Makefile.rules
+
+install:
+ if [ -n "$(findstring REF_DEBUG,$(MENUSELECT_CFLAGS))" ]; then \
+ $(INSTALL) -d "$(DESTDIR)$(ASTDATADIR)/scripts"; \
+ $(INSTALL) -m 755 scripts/refcounter.py "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"; \
+ fi
+
+uninstall:
+ rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/contrib/scripts/safe_asterisk
^
|
@@ -63,12 +63,17 @@
message "safe_asterisk was started by `id -n` (uid `id -u`)."
else
if `uname -s | grep Linux >/dev/null 2>&1`; then
- # maximum number of open files is set to the system maximum divided by two if
- # MAXFILES is not set.
+ # maximum number of open files is set to the system maximum
+ # divided by two if MAXFILES is not set.
if test -z "$MAXFILES"; then
# just check if file-max is readable
if test -r /proc/sys/fs/file-max; then
- MAXFILES=$(( `cat /proc/sys/fs/file-max` / 2 ))
+ MAXFILES=$((`cat /proc/sys/fs/file-max` / 2))
+ # don't exceed upper limit of 2^20 for open
+ # files on systems where file-max is > 2^21
+ if test $MAXFILES -gt 1048576; then
+ MAXFILES=1048576
+ fi
fi
fi
SYSCTL_MAXFILES="fs.file-max"
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/doc/asterisk.8
^
|
@@ -98,7 +98,7 @@
connecting to an existing Asterisk instance (\*(T<\fB\-r\fR\*(T> or
\*(T<\fB\-R\fR\*(T>), it may only increase the debug level.
.TP
--e \fImemory\fR
+\-e \fImemory\fR
Limit the generation of new channels when the amount of free memory
has decreased to under \fImemory\fR megabytes.
Equivalent to \*(T<\fBminmemfree = \fR\*(T>\fImemory\fR in
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/funcs/func_curl.c
^
|
@@ -37,7 +37,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 383460 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 431331 $")
#include <curl/curl.h>
@@ -50,6 +50,7 @@
#include "asterisk/app.h"
#include "asterisk/utils.h"
#include "asterisk/threadstorage.h"
+#include "asterisk/test.h"
/*** DOCUMENTATION
<function name="CURL" language="en_US">
@@ -554,6 +555,31 @@
AST_THREADSTORAGE_CUSTOM(curl_instance, curl_instance_init, curl_instance_cleanup);
AST_THREADSTORAGE(thread_escapebuf);
+/*!
+ * \brief Check for potential HTTP injection risk.
+ *
+ * CVE-2014-8150 brought up the fact that HTTP proxies are subject to injection
+ * attacks. An HTTP URL sent to a proxy contains a carriage-return linefeed combination,
+ * followed by a complete HTTP request. Proxies will handle this as two separate HTTP
+ * requests rather than as a malformed URL.
+ *
+ * libcURL patched this vulnerability in version 7.40.0, but we have no guarantee that
+ * Asterisk systems will be using an up-to-date cURL library. Therefore, we implement
+ * the same fix as libcURL for determining if a URL is vulnerable to an injection attack.
+ *
+ * \param url The URL to check for vulnerability
+ * \retval 0 The URL is not vulnerable
+ * \retval 1 The URL is vulnerable.
+ */
+static int url_is_vulnerable(const char *url)
+{
+ if (strpbrk(url, "\r\n")) {
+ return 1;
+ }
+
+ return 0;
+}
+
static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info, char *buf, struct ast_str **input_str, ssize_t len)
{
struct ast_str *escapebuf = ast_str_thread_get(&thread_escapebuf, 16);
@@ -591,6 +617,11 @@
AST_STANDARD_APP_ARGS(args, info);
+ if (url_is_vulnerable(args.url)) {
+ ast_log(LOG_ERROR, "URL '%s' is vulnerable to HTTP injection attacks. Aborting CURL() call.\n", args.url);
+ return -1;
+ }
+
if (chan) {
ast_autoservice_start(chan);
}
@@ -747,6 +778,54 @@
.write = acf_curlopt_write,
};
+AST_TEST_DEFINE(vulnerable_url)
+{
+ const char *bad_urls [] = {
+ "http://example.com\r\nDELETE http://example.com/everything",
+ "http://example.com\rDELETE http://example.com/everything",
+ "http://example.com\nDELETE http://example.com/everything",
+ "\r\nhttp://example.com",
+ "\rhttp://example.com",
+ "\nhttp://example.com",
+ "http://example.com\r\n",
+ "http://example.com\r",
+ "http://example.com\n",
+ };
+ const char *good_urls [] = {
+ "http://example.com",
+ "http://example.com/%5Cr%5Cn",
+ };
+ int i;
+ enum ast_test_result_state res = AST_TEST_PASS;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "vulnerable_url";
+ info->category = "/funcs/func_curl/";
+ info->summary = "cURL vulnerable URL test";
+ info->description =
+ "Ensure that any combination of '\\r' or '\\n' in a URL invalidates the URL";
+ case TEST_EXECUTE:
+ break;
+ }
+
+ for (i = 0; i < ARRAY_LEN(bad_urls); ++i) {
+ if (!url_is_vulnerable(bad_urls[i])) {
+ ast_test_status_update(test, "String '%s' detected as valid when it should be invalid\n", bad_urls[i]);
+ res = AST_TEST_FAIL;
+ }
+ }
+
+ for (i = 0; i < ARRAY_LEN(good_urls); ++i) {
+ if (url_is_vulnerable(good_urls[i])) {
+ ast_test_status_update(test, "String '%s' detected as invalid when it should be valid\n", good_urls[i]);
+ res = AST_TEST_FAIL;
+ }
+ }
+
+ return res;
+}
+
static int unload_module(void)
{
int res;
@@ -754,6 +833,8 @@
res = ast_custom_function_unregister(&acf_curl);
res |= ast_custom_function_unregister(&acf_curlopt);
+ AST_TEST_UNREGISTER(vulnerable_url);
+
return res;
}
@@ -771,6 +852,8 @@
res = ast_custom_function_register(&acf_curl);
res |= ast_custom_function_register(&acf_curlopt);
+ AST_TEST_REGISTER(vulnerable_url);
+
return res;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/funcs/func_db.c
^
|
@@ -33,7 +33,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 403913 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 428431 $")
#include <regex.h>
@@ -282,7 +282,7 @@
{
int res = 0;
- res |= ast_custom_function_register(&db_function);
+ res |= ast_custom_function_register_escalating(&db_function, AST_CFE_BOTH);
res |= ast_custom_function_register(&db_exists_function);
res |= ast_custom_function_register_escalating(&db_delete_function, AST_CFE_READ);
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/include/asterisk/stringfields.h
^
|
@@ -319,14 +319,16 @@
const char *__d__ = (data); \
size_t __dlen__ = (__d__) ? strlen(__d__) + 1 : 1; \
ast_string_field *__p__ = (ast_string_field *) (ptr); \
+ ast_string_field target = *__p__; \
if (__dlen__ == 1) { \
__ast_string_field_release_active((x)->__field_mgr_pool, *__p__); \
*__p__ = __ast_string_field_empty; \
} else if ((__dlen__ <= AST_STRING_FIELD_ALLOCATION(*__p__)) || \
(!__ast_string_field_ptr_grow(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__, __p__)) || \
- (*__p__ = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) { \
- if (*__p__ != (*ptr)) { \
- __ast_string_field_release_active((x)->__field_mgr_pool, (*ptr)); \
+ (target = __ast_string_field_alloc_space(&(x)->__field_mgr, &(x)->__field_mgr_pool, __dlen__))) { \
+ if (target != *__p__) { \
+ __ast_string_field_release_active((x)->__field_mgr_pool, *__p__); \
+ *__p__ = target; \
} \
memcpy(* (void **) __p__, __d__, __dlen__); \
} \
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/acl.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 369001 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 428424 $")
#include "asterisk/network.h"
@@ -533,7 +533,7 @@
ast_copy_string(iabuf2, ast_inet_ntoa(ha->netaddr), sizeof(iabuf2));
ast_debug(1, "##### Testing %s with %s\n", iabuf, iabuf2);
#endif
- if (ast_sockaddr_is_ipv4(&ha->addr)) {
+ if (ast_sockaddr_is_ipv4(¤t_ha->addr)) {
if (ast_sockaddr_is_ipv6(addr)) {
if (ast_sockaddr_is_ipv4_mapped(addr)) {
/* IPv4 ACLs apply to IPv4-mapped addresses */
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/app.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421125 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 427023 $")
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
@@ -1121,18 +1121,20 @@
ast_truncstream(others[x]);
ast_closestream(others[x]);
}
- }
-
- if (prepend && outmsg) {
+ } else if (outmsg) {
struct ast_filestream *realfiles[AST_MAX_FORMATS];
struct ast_frame *fr;
for (x = 0; x < fmtcnt; x++) {
snprintf(comment, sizeof(comment), "Opening the real file %s.%s\n", recordfile, sfmt[x]);
realfiles[x] = ast_readfile(recordfile, sfmt[x], comment, O_RDONLY, 0, 0);
- if (!others[x] || !realfiles[x]) {
+ if (!others[x]) {
break;
}
+ if (!realfiles[x]) {
+ ast_closestream(others[x]);
+ continue;
+ }
/*!\note Same logic as above. */
if (dspsilence) {
ast_stream_rewind(others[x], dspsilence - 200);
@@ -1149,7 +1151,15 @@
ast_verb(4, "Recording Format: sfmts=%s, prependfile %s, recordfile %s\n", sfmt[x], prependfile, recordfile);
ast_filedelete(prependfile, sfmt[x]);
}
+ } else {
+ for (x = 0; x < fmtcnt; x++) {
+ if (!others[x]) {
+ break;
+ }
+ ast_closestream(others[x]);
+ }
}
+
if (rfmt && ast_set_read_format(chan, rfmt)) {
ast_log(LOG_WARNING, "Unable to restore format %s to channel '%s'\n", ast_getformatname(rfmt), chan->name);
}
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/astobj2.c
^
|
@@ -24,7 +24,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 423349 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 424786 $")
#include "asterisk/_private.h"
#include "asterisk/astobj2.h"
@@ -623,7 +623,7 @@
* is destroyed, the container will be automatically
* destroyed as well.
*/
- if (!(multi_container = __ao2_container_alloc(1, NULL, NULL))) {
+ if (!(multi_container = ao2_container_alloc(1, NULL, NULL))) {
return NULL;
}
if (!(multi_iterator = ast_calloc(1, sizeof(*multi_iterator)))) {
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/callerid.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425152 $")
#include <time.h>
#include <math.h>
@@ -1006,12 +1006,20 @@
return ast_is_valid_string(exten, "0123456789*#+()-.");
}
-int ast_callerid_parse(char *instr, char **name, char **location)
+int ast_callerid_parse(char *input_str, char **name, char **location)
{
- char *ls, *le, *name_start;
+ char *ls;
+ char *le;
+ char *name_start;
+ char *instr;
+ int quotes_stripped = 0;
/* Handle surrounding quotes */
- instr = ast_strip_quoted(instr, "\"", "\"");
+ input_str = ast_strip(input_str);
+ instr = ast_strip_quoted(input_str, "\"", "\"");
+ if (instr != input_str) {
+ quotes_stripped = 1;
+ }
/* Try "name" <location> format or name <location> format or with a missing > */
if ((ls = strrchr(instr, '<'))) {
@@ -1027,7 +1035,7 @@
ast_copy_string(tmp, instr, sizeof(tmp));
ast_shrink_phone_number(tmp);
- if (ast_isphonenumber(tmp)) { /* Assume it's just a location */
+ if (!quotes_stripped && ast_isphonenumber(tmp)) { /* Assume it's just a location */
name_start = NULL;
strcpy(instr, tmp); /* safe, because tmp will always be the same size or smaller than instr */
*location = instr;
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/editline/readline.c
^
|
@@ -36,7 +36,6 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "asterisk.h"
#include "config.h"
#if !defined(lint) && !defined(SCCSID)
__RCSID("$NetBSD: readline.c,v 1.21 2002/03/18 16:20:36 christos Exp $");
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/tcptls.c
^
|
@@ -31,7 +31,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426015 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425985 $")
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/main/utils.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 427548 $")
#include <ctype.h>
#include <sys/stat.h>
@@ -1919,9 +1919,13 @@
for (pool = pool_head, prev = NULL; pool; prev = pool, pool = pool->prev) {
if ((ptr >= pool->base) && (ptr <= (pool->base + pool->size))) {
pool->active -= AST_STRING_FIELD_ALLOCATION(ptr);
- if ((pool->active == 0) && prev) {
- prev->prev = pool->prev;
- ast_free(pool);
+ if (pool->active == 0) {
+ if (prev) {
+ prev->prev = pool->prev;
+ ast_free(pool);
+ } else {
+ pool->used = 0;
+ }
}
break;
}
@@ -1966,6 +1970,11 @@
/* Are we out of memory? */
return;
}
+ if (res == 0) {
+ __ast_string_field_release_active(*pool_head, *ptr);
+ *ptr = __ast_string_field_empty;
+ return;
+ }
needed = (size_t)res + 1; /* NUL byte */
if (needed > available) {
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/res/res_agi.c
^
|
@@ -31,7 +31,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426363 $")
#include <math.h>
#include <signal.h>
@@ -146,10 +146,10 @@
<parameter name="escape_digits" required="true" />
<parameter name="skipms" />
<parameter name="ffchar">
- <para>Defaults to <literal>*</literal></para>
+ <para>Defaults to <literal>#</literal></para>
</parameter>
<parameter name="rewchr">
- <para>Defaults to <literal>#</literal></para>
+ <para>Defaults to <literal>*</literal></para>
</parameter>
<parameter name="pausechr" />
</syntax>
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/res/res_calendar_ews.c
^
|
@@ -27,7 +27,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425286 $")
#include <ne_request.h>
#include <ne_session.h>
@@ -906,8 +906,17 @@
static int load_module(void)
{
/* Actualy, 0.29.1 is required (because of NTLM authentication), but this
- * function does not support matching patch version. */
- if (ne_version_match(0, 29)) {
+ * function does not support matching patch version.
+ *
+ * The ne_version_match function returns non-zero if the library
+ * version is not of major version major, or the minor version
+ * is less than minor. For neon versions 0.x, every minor
+ * version is assumed to be incompatible with every other minor
+ * version.
+ *
+ * I.e. for version 1.2..1.9 we would do ne_version_match(1, 2)
+ * but for version 0.29 and 0.30 we need two checks. */
+ if (ne_version_match(0, 29) && ne_version_match(0, 30)) {
ast_log(LOG_ERROR, "Exchange Web Service calendar module require neon >= 0.29.1, but %s is installed.\n", ne_version_string());
return AST_MODULE_LOAD_DECLINE;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/res/res_fax.c
^
|
@@ -37,7 +37,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425405 $")
#include "asterisk/io.h"
#include "asterisk/file.h"
@@ -467,7 +467,7 @@
m[i] = NULL;
} else {
tok = strtok(v, ", ");
- while (tok && (i < 5)) {
+ while (tok && i < ARRAY_LEN(m) - 1) {
m[i++] = tok;
tok = strtok(NULL, ", ");
}
@@ -873,6 +873,10 @@
}
ast_debug(4, "Requesting a new FAX session from '%s'.\n", faxmod->tech->description);
ast_module_ref(faxmod->tech->module);
+ if (reserved) {
+ /* Balance module ref from reserved session */
+ ast_module_unref(reserved->tech->module);
+ }
s->tech = faxmod->tech;
break;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/res/res_jabber.c
^
|
@@ -38,7 +38,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426015 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425985 $")
#include <ctype.h>
#include <iksemel.h>
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/res/res_srtp.c
^
|
@@ -37,9 +37,10 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 426140 $")
#include <srtp/srtp.h>
+#include <srtp/crypto_kernel.h>
#include "asterisk/lock.h"
#include "asterisk/sched.h"
|
[-]
[+]
|
Changed |
asterisk-1.8.32.2.tar.xz/tests/test_callerid.c
^
|
@@ -34,7 +34,7 @@
#include "asterisk.h"
#include "asterisk/callerid.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 425152 $")
#include "asterisk/utils.h"
#include "asterisk/module.h"
@@ -56,10 +56,14 @@
{"\"\" <number>", NULL, "number"},
{"<number>", NULL, "number"},
{"name", "name", NULL},
+ {" name", "name", NULL},
{"\"name\"", "name", NULL},
+ {"\"*10\"", "*10", NULL},
+ {" \"*10\"", "*10", NULL},
{"\"name\" <>", "name", NULL},
{"name <>", "name", NULL},
{"1234", NULL, "1234"},
+ {" 1234", NULL, "1234"},
{"\"na\\\"me\" <number>", "na\"me", "number"},
};
char *name;
|