[-]
[+]
|
Changed |
asterisk.changes
|
|
[-]
[+]
|
Changed |
asterisk.spec
^
|
|
[-]
[+]
|
Deleted |
asterisk-1.8.30.0.tar.xz/asterisk-1.8.30.0-summary.html
^
|
@@ -1,161 +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.30.0</title></head>
-<body>
-<h1 align="center"><a name="top">Release Summary</a></h1>
-<h3 align="center">asterisk-1.8.30.0</h3>
-<h3 align="center">Date: 2014-08-19</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="#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><br/><p>This release includes only bug fixes. The changes included were made only to address problems that have been identified in this release series. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous release series 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-1.8.29.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>
-2 coreyfarrell<br/>
-2 rmudgett<br/>
-2 wdoekes<br/>
-1 Elazar Broad<br/>
-1 gtjoseph<br/>
-1 jrose<br/>
-1 kmoore<br/>
-1 newtonr<br/>
-1 qwell<br/>
-</td>
-<td>
-1 Arnd Schmitter<br/>
-1 George Joseph<br/>
-1 JoshE<br/>
-1 Rusty Newton<br/>
-</td>
-<td>
-1 arnd<br/>
-1 coreyfarrell<br/>
-1 dennis.guse<br/>
-1 igorg<br/>
-1 mjordan<br/>
-1 rnewton<br/>
-1 stephane.chazelas<br/>
-</td>
-</tr>
-</table>
-<hr/>
-<a name="issues"><h2 align="center">Closed Issues</h2></a>
-<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
-<h3>Category: Addons/chan_ooh323</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-23814">ASTERISK-23814</a>: No call started after peer dialed<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419374">419374</a><br/>
-Reporter: igorg<br/>
-Coders: qwell<br/>
-<br/>
-<h3>Category: Channels/chan_sip/Subscriptions</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24087">ASTERISK-24087</a>: [patch]chan_sip: sip_subscribe_mwi_destroy should not call sip_destroy<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419440">419440</a><br/>
-Reporter: coreyfarrell<br/>
-Coders: coreyfarrell<br/>
-<br/>
-<h3>Category: Channels/chan_sip/TCP-TLS</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-18345">ASTERISK-18345</a>: [patch] sips connection dropped by asterisk with a large INVITE<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=420434">420434</a><br/>
-Reporter: stephane.chazelas<br/>
-Coders: Elazar Broad<br/>
-<br/>
-<h3>Category: Core/ManagerInterface</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21178">ASTERISK-21178</a>: Improve documentation for manager command Getvar, Setvar<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419942">419942</a><br/>
-Reporter: rnewton<br/>
-Testers: Rusty Newton<br/>
-Coders: newtonr<br/>
-<br/>
-<h3>Category: Documentation</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21178">ASTERISK-21178</a>: Improve documentation for manager command Getvar, Setvar<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419942">419942</a><br/>
-Reporter: rnewton<br/>
-Testers: Rusty Newton<br/>
-Coders: newtonr<br/>
-<br/>
-<h3>Category: Functions/func_uri</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-23911">ASTERISK-23911</a>: URIENCODE/URIDECODE: WARNING about passing an empty string is a bit over zealous<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=418641">418641</a><br/>
-Reporter: mjordan<br/>
-Coders: jrose<br/>
-<br/>
-<h3>Category: PBX/pbx_lua</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-23818">ASTERISK-23818</a>: PBX_Lua: after asterisk startup module is loaded, but dialplan not available<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=420146">420146</a><br/>
-Reporter: dennis.guse<br/>
-Testers: George Joseph<br/>
-Coders: gtjoseph<br/>
-<br/>
-<h3>Category: Utilities/General</h3><br/>
-<a href="https://issues.asterisk.org/jira/browse/ASTERISK-23508">ASTERISK-23508</a>: Memory Corruption in __ast_string_field_ptr_build_va<br/>
-Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=420680">420680</a><br/>
-Reporter: arnd<br/>
-Testers: Arnd Schmitter, JoshE<br/>
-Coders: wdoekes<br/>
-<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><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/branches/1.8?view=revision&revision=418261">418261</a></td><td>rmudgett</td><td>chan_dahdi/sig_pri: Fix type mismatch in the idledial feature's channel creation.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=418504">418504</a></td><td>coreyfarrell</td><td>astobj2: work around REF_DEBUG race which causes out of order log entries</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419129">419129</a></td><td>kmoore</td><td>Fix more dev-mode build issues</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=419684">419684</a></td><td>rmudgett</td><td>datastores: Audit ast_channel_datastore_remove usage.</td>
-<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=420654">420654</a></td><td>wdoekes</td><td>tcptls: Avoid compiler warning on non-dev-mode.</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>
-addons/chan_ooh323.c | 26 -
-addons/ooh323c/src/decode.c | 4
-addons/ooh323c/src/ooq931.c | 12
-addons/ooh323c/src/printHandler.c | 2
-apps/app_meetme.c | 8
-apps/app_queue.c | 2
-apps/app_speech_utils.c | 56 ++--
-apps/app_stack.c | 505 ++++++++++++++++++++++++++++++++------
-channels/chan_sip.c | 186 +------------
-channels/sig_pri.c | 8
-contrib/scripts/refcounter.py | 17 -
-funcs/func_frame_trace.c | 1
-funcs/func_uri.c | 8
-include/asterisk/app.h | 161 +++++++++++-
-main/app.c | 128 +++++++++
-main/astobj2.c | 15 -
-main/features.c | 8
-main/manager.c | 19 -
-main/pbx.c | 5
-main/tcptls.c | 5
-main/utils.c | 17 +
-pbx/pbx_lua.c | 2
-tests/test_aoc.c | 2
-tests/test_astobj2.c | 2
-tests/test_astobj2_thrash.c | 2
-tests/test_event.c | 18 -
-tests/test_hashtab_thrash.c | 2
-tests/test_logger.c | 24 -
-28 files changed, 881 insertions(+), 364 deletions(-)
-</pre><br/>
-<hr/>
-</body>
-</html>
|
[-]
[+]
|
Deleted |
asterisk-1.8.30.0.tar.xz/asterisk-1.8.30.0-summary.txt
^
|
@@ -1,207 +0,0 @@
- Release Summary
-
- asterisk-1.8.30.0
-
- Date: 2014-08-19
-
- <asteriskteam@digium.com>
-
- ----------------------------------------------------------------------
-
- Table of Contents
-
- 1. Summary
- 2. Contributors
- 3. Closed Issues
- 4. Other Changes
- 5. Diffstat
-
- ----------------------------------------------------------------------
-
- Summary
-
- [Back to Top]
-
- This release includes only bug fixes. The changes included were made only
- to address problems that have been identified in this release series.
- Users should be able to safely upgrade to this version if this release
- series is already in use. Users considering upgrading from a previous
- release series 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-1.8.29.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
- 2 coreyfarrell 1 Arnd Schmitter 1 arnd
- 2 rmudgett 1 George Joseph 1 coreyfarrell
- 2 wdoekes 1 JoshE 1 dennis.guse
- 1 Elazar Broad 1 Rusty Newton 1 igorg
- 1 gtjoseph 1 mjordan
- 1 jrose 1 rnewton
- 1 kmoore 1 stephane.chazelas
- 1 newtonr
- 1 qwell
-
- ----------------------------------------------------------------------
-
- 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.
-
- Category: Addons/chan_ooh323
-
- ASTERISK-23814: No call started after peer dialed
- Revision: 419374
- Reporter: igorg
- Coders: qwell
-
- Category: Channels/chan_sip/Subscriptions
-
- ASTERISK-24087: [patch]chan_sip: sip_subscribe_mwi_destroy should not call
- sip_destroy
- Revision: 419440
- Reporter: coreyfarrell
- Coders: coreyfarrell
-
- Category: Channels/chan_sip/TCP-TLS
-
- ASTERISK-18345: [patch] sips connection dropped by asterisk with a large
- INVITE
- Revision: 420434
- Reporter: stephane.chazelas
- Coders: Elazar Broad
-
- Category: Core/ManagerInterface
-
- ASTERISK-21178: Improve documentation for manager command Getvar, Setvar
- Revision: 419942
- Reporter: rnewton
- Testers: Rusty Newton
- Coders: newtonr
-
- Category: Documentation
-
- ASTERISK-21178: Improve documentation for manager command Getvar, Setvar
- Revision: 419942
- Reporter: rnewton
- Testers: Rusty Newton
- Coders: newtonr
-
- Category: Functions/func_uri
-
- ASTERISK-23911: URIENCODE/URIDECODE: WARNING about passing an empty string
- is a bit over zealous
- Revision: 418641
- Reporter: mjordan
- Coders: jrose
-
- Category: PBX/pbx_lua
-
- ASTERISK-23818: PBX_Lua: after asterisk startup module is loaded, but
- dialplan not available
- Revision: 420146
- Reporter: dennis.guse
- Testers: George Joseph
- Coders: gtjoseph
-
- Category: Utilities/General
-
- ASTERISK-23508: Memory Corruption in __ast_string_field_ptr_build_va
- Revision: 420680
- Reporter: arnd
- Testers: Arnd Schmitter, JoshE
- Coders: wdoekes
-
- ----------------------------------------------------------------------
-
- 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 |
- |----------+--------------+---------------------------------+------------|
- | | | chan_dahdi/sig_pri: Fix type | |
- | 418261 | rmudgett | mismatch in the idledial | |
- | | | feature's channel creation. | |
- |----------+--------------+---------------------------------+------------|
- | | | astobj2: work around REF_DEBUG | |
- | 418504 | coreyfarrell | race which causes out of order | |
- | | | log entries | |
- |----------+--------------+---------------------------------+------------|
- | 419129 | kmoore | Fix more dev-mode build issues | |
- |----------+--------------+---------------------------------+------------|
- | | | datastores: Audit | |
- | 419684 | rmudgett | ast_channel_datastore_remove | |
- | | | usage. | |
- |----------+--------------+---------------------------------+------------|
- | 420654 | wdoekes | tcptls: Avoid compiler warning | |
- | | | on non-dev-mode. | |
- +------------------------------------------------------------------------+
-
- ----------------------------------------------------------------------
-
- 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.
-
- addons/chan_ooh323.c | 26 -
- addons/ooh323c/src/decode.c | 4
- addons/ooh323c/src/ooq931.c | 12
- addons/ooh323c/src/printHandler.c | 2
- apps/app_meetme.c | 8
- apps/app_queue.c | 2
- apps/app_speech_utils.c | 56 ++--
- apps/app_stack.c | 505 ++++++++++++++++++++++++++++++++------
- channels/chan_sip.c | 186 +------------
- channels/sig_pri.c | 8
- contrib/scripts/refcounter.py | 17 -
- funcs/func_frame_trace.c | 1
- funcs/func_uri.c | 8
- include/asterisk/app.h | 161 +++++++++++-
- main/app.c | 128 +++++++++
- main/astobj2.c | 15 -
- main/features.c | 8
- main/manager.c | 19 -
- main/pbx.c | 5
- main/tcptls.c | 5
- main/utils.c | 17 +
- pbx/pbx_lua.c | 2
- tests/test_aoc.c | 2
- tests/test_astobj2.c | 2
- tests/test_astobj2_thrash.c | 2
- tests/test_event.c | 18 -
- tests/test_hashtab_thrash.c | 2
- tests/test_logger.c | 24 -
- 28 files changed, 881 insertions(+), 364 deletions(-)
-
- ----------------------------------------------------------------------
|
|
Deleted |
asterisk-1.8.30.0.tar.xz/sounds/asterisk-core-sounds-en-gsm-1.4.25.tar.gz
^
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/.version
^
|
@@ -1 +1 @@
-1.8.30.0
+1.8.31.0
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/ChangeLog
^
|
@@ -1,3 +1,247 @@
+2014-09-24 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.31.0 Released.
+
+2014-09-19 Asterisk Development Team <asteriskteam@digium.com>
+
+ * Asterisk 1.8.31.0-rc1 Released.
+
+2014-09-18 16:08 +0000 [r423349] Richard Mudgett <rmudgett@digium.com>
+
+ * main/astobj2.c, contrib/scripts/refcounter.py:
+ astobj2.c/refcounter.py: Fix to deal with invalid object refs. *
+ Make astob2 REF_DEBUG output an invalid object line when an
+ invalid ao2 object ref/unref is attempted. This is similar to the
+ constructor/destructor lines. * Fixed refcounter.py to handle
+ skewed objects that have constructor/destructor states. * Made
+ refcounter.py highlight the invalid ao2 object refs by putting
+ them in their own section of the processed output file. * Made
+ refcounter.py highlight unreffing an object by more than one that
+ results in a negative ref count and the object being destroyed.
+ The abnormally destroyed object is reported in the invalid and
+ finalized object sections of the output. Review:
+ https://reviewboard.asterisk.org/r/3971/
+
+2014-09-18 14:37 +0000 [r423276] George Joseph <george.joseph@fairview5.com>
+
+ * main/config.c, main/manager.c, include/asterisk/config.h: config:
+ bug: Fix SEGV in ast_category_insert when matching category isn't
+ found If you call ast_category_insert with a match category that
+ doesn't exist, the list traverse runs out of 'next' categories
+ and you get a SEGV. This patch adds check for the end-of-list
+ condition and changes the signature to return an int for
+ success/failure indication instead of a void. The only consumer
+ of this function is manager and it was also changed to use the
+ return value. Tested by: George Joseph Review:
+ https://reviewboard.asterisk.org/r/3993/
+
+2014-09-14 15:48 +0000 [r423066] Walter Doekes <walter+asterisk@wjd.nu>
+
+ * configs/sip.conf.sample: chan_sip: Clarify that sipdebug=yes
+ cannot be undone by the CLI. Document it in sip.conf.
+ ASTERISK-24249 #close Reported by: Avinash Mohod Review:
+ https://reviewboard.asterisk.org/r/3926/
+
+2014-09-12 18:17 +0000 [r423006] Kinsey Moore <kmoore@digium.com>
+
+ * main/channel.c: Bridging: Fix bouncing native bridge This fixes a
+ situation in Asterisk 1.8 and 11 where ast_channel_bridge could
+ cause a bouncing native bridge. In the case of the
+ dial_LS_options test, this was a remote RTP bridge which caused
+ the audio path to continually cycle between Asterisk and the
+ remote endpoints generating a large number of SIP messages and
+ delaying the test long enough to cause it to fail (checking
+ timing was part of the test). The root cause was that the code to
+ decide whether to use native bridging was expecting a
+ time-remaining value of 0 to be the default instead of the actual
+ default value of -1. A value of 0 or negative numbers could also
+ be generated by preceding code in some circumstances. Both issues
+ are addressed in this patch. ASTERISK-24211 #close Reported by:
+ Matt Jordan Review: https://reviewboard.asterisk.org/r/3987/
+
+2014-09-10 15:58 +0000 [r422900] George Joseph <george.joseph@fairview5.com>
+
+ * main/config.c: config: bug: fix truncation of included config
+ files on permissions error ast_config_text_file_save() currently
+ truncates include files as they are processed. If a subsequent
+ include file or the main config file has a permissions error that
+ prevents writing, earlier include files are left truncated
+ resulting in a frantic search for backups. This patch causes
+ ast_config_text_file_save to check for write access on all files
+ before it truncates any of them. Will be applied 1.8 > trunk.
+ Tested by: George Joseph Review:
+ https://reviewboard.asterisk.org/r/3986/
+
+2014-09-07 00:07 +0000 [r422789] Rusty Newton <rnewton@digium.com>
+
+ * sounds/Makefile, sounds/sounds.xml: Sounds/BuildSystem:
+ Modifications to include new releases and Japanese language.
+ Modifying Makefile and sounds.xml to include new core 1.4.26 and
+ extra 1.4.15 sound prompt releases, plus the new Japanese core
+ sound prompts contributed by QLOOG. ASTERISK-23324 Reported by:
+ Kevin McCoy Tested by: Rusty Newton
+
+2014-09-04 19:51 +0000 [r422584] Jonathan Rose <jrose@digium.com>
+
+ * main/manager.c: Manager: Require read permission for SYSTEM in
+ order to send FullyBooted Review:
+ https://reviewboard.asterisk.org/r/3969/
+
+2014-08-30 17:19 +0000 [r422439] George Joseph <george.joseph@fairview5.com>
+
+ * main/manager.c: manager: Make WaitEvent action respect
+ eventfilters A WaitEvent issued via an http session isn't
+ respecting eventfilters defined for the user. I just added a
+ match_filter to the predicate that controls astman_append. Tested
+ by: George Joseph Review:
+ https://reviewboard.asterisk.org/r/3958/
+
+2014-08-29 19:38 +0000 [r422293-422376] Matthew Jordan <mjordan@digium.com>
+
+ * doc/smsq.8 (added): doc: Add a manpage for the smsq utility This
+ patch adds a manpage for the smsq utility. Note that this is one
+ of the patches the Debian distro applies for the Asterisk
+ project, as per ASTERISK-24191. Review:
+ https://reviewboard.asterisk.org/r/3895/ ASTERISK-24171 #close
+ Reported by: Jeremy Laine patches: smsq.8 uploaded by Jeremy
+ Laine (License 6561)
+
+ * doc/aelparse.8 (added): doc: Add a manpage for the aelparse
+ utility This patch adds a manpage for the aelparse utility. Note
+ that this is one of the patches the Debian distro applies for the
+ Asterisk project, as per ASTERISK-24191. Review:
+ https://reviewboard.asterisk.org/r/3896/ ASTERISK-24171 #close
+ Reported by: Jeremy Laine patches: aelparse.8 uploaded by Jeremy
+ Laine (License 6561)
+
+ * LICENSE: LICENSE: Clarify language in Asterisk's LICENSE to allow
+ for linking to UniMRCP The UniMRCP project distributes Asterisk
+ modules that integrate Asterisk with UniMRCP, and other Asterisk
+ users use the UniMRCP library as well. Unfortunately, the UniMRCP
+ license is Apache 2.0, which per the Free Software Foundation, is
+ not a compatible license with the GPLv2. "Please note that this
+ license is not compatible with GPL version 2, because it has some
+ requirements that are not in that GPL version. These include
+ certain patent termination and indemnification provisions. The
+ patent termination provision is a good thing, which is why we
+ recommend the Apache 2.0 license for substantial programs over
+ other lax permissive licenses." On the other hand, UniMRCP is a
+ great project and we'd like to let people use it with Asterisk.
+ This patch updates the LICENSE text to allow users to link
+ Asterisk with UniMRCP and distribute the resulting binaries.
+
+2014-08-27 14:25 +0000 [r422112] Kinsey Moore <kmoore@digium.com>
+
+ * include/asterisk/utils.h, channels/chan_sip.c,
+ tests/test_callerid.c (added), tests/test_utils.c,
+ main/callerid.c, main/utils.c: CallerID: Fix parsing of malformed
+ callerid This allows the callerid parsing function to handle
+ malformed input strings and strings containing escaped and
+ unescaped double quotes. This also adds a unittest to cover many
+ of the cases where the parsing algorithm previously failed.
+ Review: https://reviewboard.asterisk.org/r/3923/
+
+2014-08-25 16:00 +0000 [r421976] Richard Mudgett <rmudgett@digium.com>
+
+ * res/res_musiconhold.c: res_musiconhold: Fix MOH restarting where
+ it left off from the last hold. Restore code removed by
+ https://reviewboard.asterisk.org/r/3536/ that introduced a
+ regression that prevents MOH from restarting were it left off the
+ last time. ASTERISK-24019 #close Reported by: Jason Richards
+ Patches: jira_asterisk_24019_v1.8.patch (license #5621) patch
+ uploaded by rmudgett Review:
+ https://reviewboard.asterisk.org/r/3928/
+
+2014-08-21 22:01 +0000 [r421799] Richard Mudgett <rmudgett@digium.com>
+
+ * res/res_musiconhold.c: res_musiconhold.c: Remove obsolete
+ REF_DEBUG code. Remove unneeded code that writes to the wrong
+ file location in an obsolete format.
+
+2014-08-21 17:32 +0000 [r421717] Matthew Jordan <mjordan@digium.com>
+
+ * channels/chan_sip.c: chan_sip: Don't use port derived from
+ fromdomain if it isn't set If a user does not provide a port in
+ the fromdomain setting, chan_sip will set the fromdomainport to
+ STANDARD_SIP_PORT (5060). The fromdomainport value will then get
+ used unilaterally in certain places. This causes issues with TLS,
+ where the default port is expected to be 5061. This patch
+ modifies chan_sip such that fromdomainport is only used if it is
+ not the standard SIP port; otherwise, the port from the SIP pvt's
+ recorded self IP address is used. Review:
+ https://reviewboard.asterisk.org/r/3893/ ASTERISK-24178 #close
+ Reported by: Elazar Broad patches: fromdomainport_fix.diff
+ uploaded by Elazar Broad (License 5835)
+
+2014-08-20 22:13 +0000 [r421600] Richard Mudgett <rmudgett@digium.com>
+
+ * main/cli.c: cli.c: Fix tab completion of "module load" when
+ MALLOC_DEBUG is enabled. filename_completion_function() returns
+ memory that was not allocated by the MALLOC_DEBUG allocation
+ tracker so the memory must be freed by ast_std_free().
+
+2014-08-19 19:38 +0000 [r421442] Kinsey Moore <kmoore@digium.com>
+
+ * main/manager.c: AMI Docs: Fix Status channel parameter
+ optionality
+
+2014-08-18 20:14 +0000 [r421327] George Joseph <george.joseph@fairview5.com>
+
+ * funcs/func_config.c: func_config: Change 'Not Found' message from
+ ERROR to DEBUG When you call the CONFIG dialplan function with
+ the name of a variable that doesn't exist in the target context
+ you get an ERROR. This does nothing but clutter up the logs with
+ messages that may be perfectly acceptable. Just because a
+ variable wasn't in the context doesn't mean it's an error. Maybei
+ t's optional or just needs to be defaulted or ignored. This patch
+ changes the log level from ERROR to DEBUG. If a dialplan
+ developer wants to debug their dialplan they still canby setting
+ the console debug level as needed. Tested by: George Joseph
+ Review: https://reviewboard.asterisk.org/r/3919/
+
+2014-08-17 23:06 +0000 [r421227-421232] Matthew Jordan <mjordan@digium.com>
+
+ * apps/app_dial.c: apps/app_dial: Fix Dial 'z' option The 'z'
+ option is supposed to disable the dial timeout in the case of a
+ call forward. Unfortunately, the wrong timeout timer was passed
+ to the do_forward function, resulting in the option not working.
+ ASTERISK-24225 #close Reported by: dimitripietro Tested by:
+ dimitripietro patches: jira_asterisk_24225_v1.8.patch uploaded by
+ rmudgett (License 5621) jira_asterisk_24225_v11.patch uploaded by
+ rmudgett (License 5621)
+
+ * configure, configure.ac: configure: Undefine FORTIFY_SOURCE prior
+ to defining it for patched gcc Some distributions of Linux patch
+ gcc to define FORTIFY_SOURCE when gcc is executed with
+ optimization. This "help" unfortunately results in re-definition
+ warnings when FORTIFY_SOURCE is later defined in Asterisk's build
+ system. This patch undefines FORTIFY_SOURCE prior to defining it
+ to prevent this warning. Review:
+ https://reviewboard.asterisk.org/r/3912/ ASTERISK-24032 #close
+ Reported by: Kilburn Tested by: Kilburn, wdoekes patches:
+ 1.8.diff uploaded by cloos (License 5956) 10.diff uploaded by
+ cloos (License 5956) 11.diff uploaded by cloos (License 5956)
+ 12.diff uploaded by cloos (License 5956) 13.diff uploaded by
+ cloos (License 5956)
+
+2014-08-15 14:43 +0000 [r421059-421125] Matthew Jordan <mjordan@digium.com>
+
+ * apps/app_voicemail.c, main/app.c: app_voicemail/app: Remove test
+ events that were duplicated by r421059 Moving the test event
+ raised when a file is played back (which occurred in r421059)
+ broke the ever loving snot out of the voicemail tests. This
+ caused duplicate test events to get raised, as app_voicemail and
+ main/app were raising events prior to call ast_streamfile. The
+ voicemail tests did not enjoy getting multiple events. Since
+ raising the playback event in ast_streamfile is far more useful
+ to the vast majority of tests, this patch keeps the call there
+ and simply removes the extraneous calls that duplicated the
+ event.
+
+ * main/file.c: main/file: Move test event to emit PLAYBACK event
+ more consistently This is being done in advance of the test for
+ ASTERISK-23953
+
2014-08-19 Asterisk Development Team <asteriskteam@digium.com>
* Asterisk 1.8.30.0 Released.
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/LICENSE
^
|
@@ -25,7 +25,7 @@
would strongly encourage you to make the same exception that we do).
Specific permission is also granted to link Asterisk with OpenSSL, OpenH323
-and/or the UW IMAP Toolkit and distribute the resulting binary files.
+UniMRCP, and/or the UW IMAP Toolkit and distribute the resulting binary files.
In addition, Asterisk implements two management/control protocols: the
Asterisk Manager Interface (AMI) and the Asterisk Gateway Interface
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/apps/app_dial.c
^
|
@@ -33,7 +33,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413949 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421232 $")
#include <sys/time.h>
#include <sys/signal.h>
@@ -1203,7 +1203,7 @@
ast_channel_unlock(in);
}
- do_forward(o, &num, peerflags, single, caller_entertained, to,
+ do_forward(o, &num, peerflags, single, caller_entertained, &orig,
forced_clid, stored_clid);
if (single && o->chan
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/apps/app_voicemail.c
^
|
@@ -91,7 +91,7 @@
#endif
#endif
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421125 $")
#include "asterisk/paths.h" /* use ast_config_AST_SPOOL_DIR */
#include <sys/time.h>
@@ -7296,7 +7296,6 @@
}
} else {
/* Ask for an extension */
- ast_test_suite_event_notify("PLAYBACK", "Message: vm-extension");
res = ast_streamfile(chan, "vm-extension", chan->language); /* "extension" */
prompt_played++;
if (res || prompt_played > 4)
@@ -9820,7 +9819,6 @@
adsi_begin(chan, &useadsi);
if (!skipuser && useadsi)
adsi_login(chan);
- ast_test_suite_event_notify("PLAYBACK", "Message: vm-login");
if (!silent && !skipuser && ast_streamfile(chan, "vm-login", chan->language)) {
ast_log(AST_LOG_WARNING, "Couldn't stream login file\n");
return -1;
@@ -9868,7 +9866,6 @@
/* saved password is blank, so don't bother asking */
password[0] = '\0';
} else {
- ast_test_suite_event_notify("PLAYBACK", "Message: %s", vm_password);
if (ast_streamfile(chan, vm_password, chan->language)) {
ast_log(AST_LOG_WARNING, "Unable to stream password file\n");
return -1;
@@ -9905,13 +9902,11 @@
logretries++;
if (!valid) {
if (skipuser || logretries >= max_logins) {
- ast_test_suite_event_notify("PLAYBACK", "Message: vm-incorrect");
if (ast_streamfile(chan, "vm-incorrect", chan->language)) {
ast_log(AST_LOG_WARNING, "Unable to stream incorrect message\n");
return -1;
}
} else {
- ast_test_suite_event_notify("PLAYBACK", "Message: vm-incorrect-mailbox");
if (useadsi)
adsi_login(chan);
if (ast_streamfile(chan, "vm-incorrect-mailbox", chan->language)) {
|
[-]
[+]
|
Added |
asterisk-1.8.31.0.tar.xz/asterisk-1.8.31.0-summary.html
^
|
@@ -0,0 +1,176 @@
+<!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.0</title></head>
+<body>
+<h1 align="center"><a name="top">Release Summary</a></h1>
+<h3 align="center">asterisk-1.8.31.0</h3>
+<h3 align="center">Date: 2014-09-24</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="#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><br/><p>This release includes only bug fixes. The changes included were made only to address problems that have been identified in this release series. Users should be able to safely upgrade to this version if this release series is already in use. Users considering upgrading from a previous release series 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-1.8.30.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>
+5 rmudgett<br/>
+4 gtjoseph<br/>
+3 kmoore<br/>
+3 mjordan<br/>
+2 Jeremy Laine<br/>
+1 cloos<br/>
+1 Elazar Broad<br/>
+1 jrose<br/>
+1 newtonr<br/>
+1 wdoekes<br/>
+</td>
+<td>
+1 dimitripietro<br/>
+1 Kilburn<br/>
+1 wdoekes<br/>
+</td>
+<td>
+2 sharky<br/>
+1 amohod<br/>
+1 ateks<br/>
+1 dimitripietro<br/>
+1 ebroad<br/>
+1 maddog<br/>
+1 mjordan<br/>
+</td>
+</tr>
+</table>
+<hr/>
+<a name="issues"><h2 align="center">Closed Issues</h2></a>
+<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all issues from the issue tracker that were closed by changes that went into this release.</p>
+<h3>Category: Applications/app_dial</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24225">ASTERISK-24225</a>: Dial option z is broken<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421232">421232</a><br/>
+Reporter: dimitripietro<br/>
+Testers: dimitripietro<br/>
+Coders: rmudgett<br/>
+<br/>
+<h3>Category: Channels/chan_sip/General</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24178">ASTERISK-24178</a>: [patch]fromdomainport used even if not set<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421717">421717</a><br/>
+Reporter: ebroad<br/>
+Coders: Elazar Broad<br/>
+<br/>
+<h3>Category: Core/PBX</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24249">ASTERISK-24249</a>: SIP debugs do not stop<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=423066">423066</a><br/>
+Reporter: amohod<br/>
+Coders: wdoekes<br/>
+<br/>
+<h3>Category: Documentation</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24171">ASTERISK-24171</a>: [patch] Provide a manpage for the aelparse utility<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422371">422371</a><br/>
+Reporter: sharky<br/>
+Coders: Jeremy Laine<br/>
+<br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24171">ASTERISK-24171</a>: [patch] Provide a manpage for the aelparse utility<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422376">422376</a><br/>
+Reporter: sharky<br/>
+Coders: Jeremy Laine<br/>
+<br/>
+<h3>Category: General</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24032">ASTERISK-24032</a>: Gentoo compilation emits warning: "_FORTIFY_SOURCE" redefined<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421227">421227</a><br/>
+Reporter: maddog<br/>
+Testers: Kilburn, wdoekes<br/>
+Coders: cloos<br/>
+<br/>
+<h3>Category: Resources/res_musiconhold</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24019">ASTERISK-24019</a>: When a Music On Hold stream starts it restarts at beginning of file.<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421976">421976</a><br/>
+Reporter: ateks<br/>
+Coders: rmudgett<br/>
+<br/>
+<h3>Category: Tests/testsuite</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24211">ASTERISK-24211</a>: testsuite: Fix the dial_LS_options test<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=423006">423006</a><br/>
+Reporter: mjordan<br/>
+Coders: kmoore<br/>
+<br/>
+<h3>Category: Utilities/aelparse</h3><br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24171">ASTERISK-24171</a>: [patch] Provide a manpage for the aelparse utility<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422371">422371</a><br/>
+Reporter: sharky<br/>
+Coders: Jeremy Laine<br/>
+<br/>
+<a href="https://issues.asterisk.org/jira/browse/ASTERISK-24171">ASTERISK-24171</a>: [patch] Provide a manpage for the aelparse utility<br/>
+Revision: <a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422376">422376</a><br/>
+Reporter: sharky<br/>
+Coders: Jeremy Laine<br/>
+<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><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/branches/1.8?view=revision&revision=421059">421059</a></td><td>mjordan</td><td>main/file: Move test event to emit PLAYBACK event more consistently</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421125">421125</a></td><td>mjordan</td><td>app_voicemail/app: Remove test events that were duplicated by r421059</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421327">421327</a></td><td>gtjoseph</td><td>func_config: Change 'Not Found' message from ERROR to DEBUG</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421442">421442</a></td><td>kmoore</td><td>AMI Docs: Fix Status channel parameter optionality</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421600">421600</a></td><td>rmudgett</td><td>cli.c: Fix tab completion of "module load" when MALLOC_DEBUG is enabled.</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=421799">421799</a></td><td>rmudgett</td><td>res_musiconhold.c: Remove obsolete REF_DEBUG code.</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422112">422112</a></td><td>kmoore</td><td>CallerID: Fix parsing of malformed callerid</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422293">422293</a></td><td>mjordan</td><td>LICENSE: Clarify language in Asterisk's LICENSE to allow for linking to UniMRCP</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422439">422439</a></td><td>gtjoseph</td><td>manager: Make WaitEvent action respect eventfilters</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422584">422584</a></td><td>jrose</td><td>Manager: Require read permission for SYSTEM in order to send FullyBooted</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422789">422789</a></td><td>newtonr</td><td>Sounds/BuildSystem: Modifications to include new releases and Japanese language.</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=422900">422900</a></td><td>gtjoseph</td><td>config: bug: fix truncation of included config files on permissions error</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=423276">423276</a></td><td>gtjoseph</td><td>config: bug: Fix SEGV in ast_category_insert when matching category isn't found</td>
+<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/branches/1.8?view=revision&revision=423349">423349</a></td><td>rmudgett</td><td>astobj2.c/refcounter.py: Fix to deal with invalid object refs.</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>
+LICENSE | 2
+apps/app_dial.c | 2
+apps/app_voicemail.c | 5 -
+channels/chan_sip.c | 17 ++--
+configs/sip.conf.sample | 4 -
+configure.ac | 4 -
+contrib/scripts/refcounter.py | 80 ++++++++++++++++----
+doc/aelparse.8 | 28 +++++++
+doc/smsq.8 | 146 +++++++++++++++++++++++++++++++++++++
+funcs/func_config.c | 2
+include/asterisk/config.h | 5 +
+include/asterisk/utils.h | 9 ++
+main/app.c | 1
+main/astobj2.c | 10 ++
+main/callerid.c | 63 +++++++---------
+main/channel.c | 13 ++-
+main/cli.c | 2
+main/config.c | 68 +++++++++++------
+main/file.c | 2
+main/manager.c | 16 +++-
+main/utils.c | 22 +++++
+res/res_musiconhold.c | 18 ++--
+sounds/Makefile | 7 +
+sounds/sounds.xml | 27 ++++++
+tests/test_callerid.c | 165 ++++++++++++++++++++++++++++++++++++++++++
+tests/test_utils.c | 98 ++++++++++++++++++++++++
+26 files changed, 702 insertions(+), 114 deletions(-)
+</pre><br/>
+<hr/>
+</body>
+</html>
|
[-]
[+]
|
Added |
asterisk-1.8.31.0.tar.xz/asterisk-1.8.31.0-summary.txt
^
|
@@ -0,0 +1,244 @@
+ Release Summary
+
+ asterisk-1.8.31.0
+
+ Date: 2014-09-24
+
+ <asteriskteam@digium.com>
+
+ ----------------------------------------------------------------------
+
+ Table of Contents
+
+ 1. Summary
+ 2. Contributors
+ 3. Closed Issues
+ 4. Other Changes
+ 5. Diffstat
+
+ ----------------------------------------------------------------------
+
+ Summary
+
+ [Back to Top]
+
+ This release includes only bug fixes. The changes included were made only
+ to address problems that have been identified in this release series.
+ Users should be able to safely upgrade to this version if this release
+ series is already in use. Users considering upgrading from a previous
+ release series 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-1.8.30.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
+ 5 rmudgett 1 dimitripietro 2 sharky
+ 4 gtjoseph 1 Kilburn 1 amohod
+ 3 kmoore 1 wdoekes 1 ateks
+ 3 mjordan 1 dimitripietro
+ 2 Jeremy Laine 1 ebroad
+ 1 cloos 1 maddog
+ 1 Elazar Broad 1 mjordan
+ 1 jrose
+ 1 newtonr
+ 1 wdoekes
+
+ ----------------------------------------------------------------------
+
+ 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.
+
+ Category: Applications/app_dial
+
+ ASTERISK-24225: Dial option z is broken
+ Revision: 421232
+ Reporter: dimitripietro
+ Testers: dimitripietro
+ Coders: rmudgett
+
+ Category: Channels/chan_sip/General
+
+ ASTERISK-24178: [patch]fromdomainport used even if not set
+ Revision: 421717
+ Reporter: ebroad
+ Coders: Elazar Broad
+
+ Category: Core/PBX
+
+ ASTERISK-24249: SIP debugs do not stop
+ Revision: 423066
+ Reporter: amohod
+ Coders: wdoekes
+
+ Category: Documentation
+
+ ASTERISK-24171: [patch] Provide a manpage for the aelparse utility
+ Revision: 422371
+ Reporter: sharky
+ Coders: Jeremy Laine
+
+ ASTERISK-24171: [patch] Provide a manpage for the aelparse utility
+ Revision: 422376
+ Reporter: sharky
+ Coders: Jeremy Laine
+
+ Category: General
+
+ ASTERISK-24032: Gentoo compilation emits warning: "_FORTIFY_SOURCE"
+ redefined
+ Revision: 421227
+ Reporter: maddog
+ Testers: Kilburn, wdoekes
+ Coders: cloos
+
+ Category: Resources/res_musiconhold
+
+ ASTERISK-24019: When a Music On Hold stream starts it restarts at
+ beginning of file.
+ Revision: 421976
+ Reporter: ateks
+ Coders: rmudgett
+
+ Category: Tests/testsuite
+
+ ASTERISK-24211: testsuite: Fix the dial_LS_options test
+ Revision: 423006
+ Reporter: mjordan
+ Coders: kmoore
+
+ Category: Utilities/aelparse
+
+ ASTERISK-24171: [patch] Provide a manpage for the aelparse utility
+ Revision: 422371
+ Reporter: sharky
+ Coders: Jeremy Laine
+
+ ASTERISK-24171: [patch] Provide a manpage for the aelparse utility
+ Revision: 422376
+ Reporter: sharky
+ Coders: Jeremy Laine
+
+ ----------------------------------------------------------------------
+
+ 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 |
+ |----------+----------+-------------------------------------+------------|
+ | 421059 | mjordan | main/file: Move test event to emit | |
+ | | | PLAYBACK event more consistently | |
+ |----------+----------+-------------------------------------+------------|
+ | | | app_voicemail/app: Remove test | |
+ | 421125 | mjordan | events that were duplicated by | |
+ | | | r421059 | |
+ |----------+----------+-------------------------------------+------------|
+ | 421327 | gtjoseph | func_config: Change 'Not Found' | |
+ | | | message from ERROR to DEBUG | |
+ |----------+----------+-------------------------------------+------------|
+ | 421442 | kmoore | AMI Docs: Fix Status channel | |
+ | | | parameter optionality | |
+ |----------+----------+-------------------------------------+------------|
+ | | | cli.c: Fix tab completion of | |
+ | 421600 | rmudgett | "module load" when MALLOC_DEBUG is | |
+ | | | enabled. | |
+ |----------+----------+-------------------------------------+------------|
+ | 421799 | rmudgett | res_musiconhold.c: Remove obsolete | |
+ | | | REF_DEBUG code. | |
+ |----------+----------+-------------------------------------+------------|
+ | 422112 | kmoore | CallerID: Fix parsing of malformed | |
+ | | | callerid | |
+ |----------+----------+-------------------------------------+------------|
+ | | | LICENSE: Clarify language in | |
+ | 422293 | mjordan | Asterisk's LICENSE to allow for | |
+ | | | linking to UniMRCP | |
+ |----------+----------+-------------------------------------+------------|
+ | 422439 | gtjoseph | manager: Make WaitEvent action | |
+ | | | respect eventfilters | |
+ |----------+----------+-------------------------------------+------------|
+ | | | Manager: Require read permission | |
+ | 422584 | jrose | for SYSTEM in order to send | |
+ | | | FullyBooted | |
+ |----------+----------+-------------------------------------+------------|
+ | | | Sounds/BuildSystem: Modifications | |
+ | 422789 | newtonr | to include new releases and | |
+ | | | Japanese language. | |
+ |----------+----------+-------------------------------------+------------|
+ | | | config: bug: fix truncation of | |
+ | 422900 | gtjoseph | included config files on | |
+ | | | permissions error | |
+ |----------+----------+-------------------------------------+------------|
+ | | | config: bug: Fix SEGV in | |
+ | 423276 | gtjoseph | ast_category_insert when matching | |
+ | | | category isn't found | |
+ |----------+----------+-------------------------------------+------------|
+ | 423349 | rmudgett | astobj2.c/refcounter.py: Fix to | |
+ | | | deal with invalid object refs. | |
+ +------------------------------------------------------------------------+
+
+ ----------------------------------------------------------------------
+
+ 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.
+
+ LICENSE | 2
+ apps/app_dial.c | 2
+ apps/app_voicemail.c | 5 -
+ channels/chan_sip.c | 17 ++--
+ configs/sip.conf.sample | 4 -
+ configure.ac | 4 -
+ contrib/scripts/refcounter.py | 80 ++++++++++++++++----
+ doc/aelparse.8 | 28 +++++++
+ doc/smsq.8 | 146 +++++++++++++++++++++++++++++++++++++
+ funcs/func_config.c | 2
+ include/asterisk/config.h | 5 +
+ include/asterisk/utils.h | 9 ++
+ main/app.c | 1
+ main/astobj2.c | 10 ++
+ main/callerid.c | 63 +++++++---------
+ main/channel.c | 13 ++-
+ main/cli.c | 2
+ main/config.c | 68 +++++++++++------
+ main/file.c | 2
+ main/manager.c | 16 +++-
+ main/utils.c | 22 +++++
+ res/res_musiconhold.c | 18 ++--
+ sounds/Makefile | 7 +
+ sounds/sounds.xml | 27 ++++++
+ tests/test_callerid.c | 165 ++++++++++++++++++++++++++++++++++++++++++
+ tests/test_utils.c | 98 ++++++++++++++++++++++++
+ 26 files changed, 702 insertions(+), 114 deletions(-)
+
+ ----------------------------------------------------------------------
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/channels/chan_sip.c
^
|
@@ -209,7 +209,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 420434 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
#include <signal.h>
#include <sys/signal.h>
@@ -11251,6 +11251,7 @@
{
struct ast_str *tmp = ast_str_alloca(256);
char tmp2[256];
+ char lid_name_buf[128];
char *lid_num;
char *lid_name;
int lid_pres;
@@ -11278,6 +11279,7 @@
if (!lid_name) {
lid_name = lid_num;
}
+ ast_escape_quoted(lid_name, lid_name_buf, sizeof(lid_name_buf));
lid_pres = ast_party_id_presentation(&p->owner->connected.id);
if (((lid_pres & AST_PRES_RESTRICTION) != AST_PRES_ALLOWED) &&
@@ -11301,7 +11303,7 @@
if (ast_test_flag(&p->flags[1], SIP_PAGE2_TRUST_ID_OUTBOUND) != SIP_PAGE2_TRUST_ID_OUTBOUND_LEGACY) {
/* trust_id_outbound = yes - Always give full information even if it's private, but append a privacy header
* When private data is included */
- ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>", lid_name, lid_num, fromdomain);
+ ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>", lid_name_buf, lid_num, fromdomain);
if ((lid_pres & AST_PRES_RESTRICTION) != AST_PRES_ALLOWED) {
add_header(req, "Privacy", "id");
}
@@ -11309,14 +11311,14 @@
/* trust_id_outbound = legacy - behave in a non RFC-3325 compliant manner and send anonymized data when
* when handling private data. */
if ((lid_pres & AST_PRES_RESTRICTION) == AST_PRES_ALLOWED) {
- ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>", lid_name, lid_num, fromdomain);
+ ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>", lid_name_buf, lid_num, fromdomain);
} else {
ast_str_set(&tmp, -1, "%s", anonymous_string);
}
}
add_header(req, "P-Asserted-Identity", ast_str_buffer(tmp));
} else {
- ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>;party=%s", lid_name, lid_num, fromdomain, p->outgoing_call ? "calling" : "called");
+ ast_str_set(&tmp, -1, "\"%s\" <sip:%s@%s>;party=%s", lid_name_buf, lid_num, fromdomain, p->outgoing_call ? "calling" : "called");
switch (lid_pres) {
case AST_PRES_ALLOWED_USER_NUMBER_NOT_SCREENED:
@@ -12430,7 +12432,7 @@
ast_uri_encode(l, tmp_l, sizeof(tmp_l), 0);
}
- ourport = (p->fromdomainport) ? p->fromdomainport : ast_sockaddr_port(&p->ourip);
+ ourport = (p->fromdomainport && (p->fromdomainport != STANDARD_SIP_PORT)) ? p->fromdomainport : ast_sockaddr_port(&p->ourip);
if (!sip_standard_port(p->socket.type, ourport)) {
snprintf(from, sizeof(from), "\"%s\" <sip:%s@%s:%d>;tag=%s", n, tmp_l, d, ourport, p->tag);
} else {
@@ -12550,8 +12552,11 @@
snprintf(header_text, sizeof(header_text), "<sip:%s@%s>;reason=%s", diverting_number,
ast_sockaddr_stringify_host_remote(&pvt->ourip), reason);
} else {
+ char diverting_name_buf[128];
+
+ ast_escape_quoted(diverting_name, diverting_name_buf, sizeof(diverting_name_buf));
snprintf(header_text, sizeof(header_text), "\"%s\" <sip:%s@%s>;reason=%s",
- diverting_name, diverting_number,
+ diverting_name_buf, diverting_number,
ast_sockaddr_stringify_host_remote(&pvt->ourip), reason);
}
@@ -13327,7 +13332,7 @@
{
struct sip_request req;
struct ast_str *out = ast_str_alloca(500);
- int ourport = (p->fromdomainport) ? p->fromdomainport : ast_sockaddr_port(&p->ourip);
+ int ourport = (p->fromdomainport && (p->fromdomainport != STANDARD_SIP_PORT)) ? p->fromdomainport : ast_sockaddr_port(&p->ourip);
const char *domain;
const char *exten = S_OR(vmexten, default_vmexten);
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/configs/sip.conf.sample
^
|
@@ -580,7 +580,9 @@
;
;--------------------------- SIP DEBUGGING ---------------------------------------------------
;sipdebug = yes ; Turn on SIP debugging by default, from
- ; the moment the channel loads this configuration
+ ; the moment the channel loads this configuration.
+ ; NOTE: You cannot use the CLI to turn it off. You'll
+ ; need to edit this and reload the config.
;recordhistory=yes ; Record SIP history by default
; (see sip history / sip no history)
;dumphistory=yes ; Dump SIP history at end of SIP dialogue
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/configure
^
|
@@ -1,12 +1,14 @@
#! /bin/sh
# From configure.ac Revision: 413714 .
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for asterisk trunk.
+# Generated by GNU Autoconf 2.68 for asterisk trunk.
#
# Report bugs to <https://issues.asterisk.org>.
#
#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
@@ -137,31 +139,6 @@
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
@@ -195,8 +172,7 @@
else
exitcode=1; echo positional parameters were not saved.
fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
+test x\$exitcode = x0 || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
@@ -241,25 +217,21 @@
if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
+ # We cannot yet assume a decent shell, so we have to provide a
+ # neutralization value for shells without unset; and this also
+ # works around shells that cannot unset nonexistent variables.
+ # Preserve -v and -x to the replacement shell.
+ BASH_ENV=/dev/null
+ ENV=/dev/null
+ (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+ export CONFIG_SHELL
+ case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+ esac
+ exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
fi
if test x$as_have_required = xno; then :
@@ -362,14 +334,6 @@
} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
@@ -491,10 +455,6 @@
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
@@ -529,16 +489,16 @@
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -550,8 +510,28 @@
as_mkdir_p=false
fi
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -1730,6 +1710,8 @@
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
+ $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used" >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -2052,9 +2034,9 @@
if $ac_init_version; then
cat <<\_ACEOF
asterisk configure trunk
-generated by GNU Autoconf 2.69
+generated by GNU Autoconf 2.68
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
@@ -2408,7 +2390,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
+ $as_test_x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2622,8 +2604,7 @@
main ()
{
static int test_array [1 - 2 * !(($2) >= 0)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -2639,8 +2620,7 @@
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -2666,8 +2646,7 @@
main ()
{
static int test_array [1 - 2 * !(($2) < 0)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -2683,8 +2662,7 @@
main ()
{
static int test_array [1 - 2 * !(($2) >= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -2718,8 +2696,7 @@
main ()
{
static int test_array [1 - 2 * !(($2) <= $ac_mid)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -2906,7 +2883,7 @@
test ! -s conftest.err
} && test -s conftest$ac_exeext && {
test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
+ $as_test_x conftest$ac_exeext
}; then :
ac_retval=0
else
@@ -2960,7 +2937,7 @@
running configure, to aid debugging if configure makes a mistake.
It was created by asterisk $as_me trunk, which was
-generated by GNU Autoconf 2.69. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3488,7 +3465,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3528,7 +3505,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3581,7 +3558,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3622,7 +3599,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -3680,7 +3657,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -3724,7 +3701,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4170,7 +4147,8 @@
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-struct stat;
+#include <sys/types.h>
+#include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -4410,7 +4388,7 @@
for ac_prog in grep ggrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
# Check for GNU ac_path_GREP and select it if it is found.
# Check for GNU $ac_path_GREP
case `"$ac_path_GREP" --version 2>&1` in
@@ -4476,7 +4454,7 @@
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -4683,8 +4661,8 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
-# define __EXTENSIONS__ 1
- $ac_includes_default
+# define __EXTENSIONS__ 1
+ $ac_includes_default
int
main ()
{
@@ -4882,7 +4860,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_UNAME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4925,7 +4903,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_UNAME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -4990,7 +4968,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5030,7 +5008,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5082,7 +5060,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="${ac_tool_prefix}g++"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5122,7 +5100,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="g++"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5174,7 +5152,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_LD="${ac_tool_prefix}ld"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5214,7 +5192,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_LD="ld"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5266,7 +5244,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5306,7 +5284,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5366,7 +5344,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5406,7 +5384,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="gcc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5459,7 +5437,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="${ac_tool_prefix}cc"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5500,7 +5478,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
@@ -5558,7 +5536,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5602,7 +5580,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5798,7 +5776,8 @@
/* end confdefs.h. */
#include <stdarg.h>
#include <stdio.h>
-struct stat;
+#include <sys/types.h>
+#include <sys/stat.h>
/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
struct buf { int x; };
FILE * (*rcsopen) (struct buf *, struct stat *, int);
@@ -5911,7 +5890,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -5955,7 +5934,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_CXX="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6434,7 +6413,7 @@
for ac_prog in sed gsed; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_SED" || continue
+ { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
# Check for GNU ac_path_SED and select it if it is found.
# Check for GNU $ac_path_SED
case `"$ac_path_SED" --version 2>&1` in
@@ -6619,7 +6598,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6680,7 +6659,7 @@
# by default.
for ac_prog in ginstall scoinst install; do
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
if test $ac_prog = install &&
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
# AIX install. It has an incompatible calling convention.
@@ -6764,7 +6743,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6804,7 +6783,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6886,7 +6865,7 @@
for ac_prog in egrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
# Check for GNU ac_path_EGREP and select it if it is found.
# Check for GNU $ac_path_EGREP
case `"$ac_path_EGREP" --version 2>&1` in
@@ -6954,7 +6933,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_STRIP="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -6998,7 +6977,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_STRIP="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7054,7 +7033,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AR="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7098,7 +7077,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_AR="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7154,7 +7133,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_SHA1SUM="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7198,7 +7177,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_SHA1SUM="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7254,7 +7233,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_OPENSSL="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7298,7 +7277,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_OPENSSL="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7360,7 +7339,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7401,7 +7380,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CMP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7442,7 +7421,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7483,7 +7462,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GREP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7524,7 +7503,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_FIND="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7565,7 +7544,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_COMPRESS="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7606,7 +7585,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_BASENAME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7647,7 +7626,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_DIRNAME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7688,7 +7667,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_SHELL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7729,7 +7708,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_LN="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7770,7 +7749,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_DOT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7811,7 +7790,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7852,7 +7831,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CURL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7893,7 +7872,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_RUBBER="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7934,7 +7913,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CATDVI="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -7975,7 +7954,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_KPATHSEA="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8016,7 +7995,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_XMLLINT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8057,7 +8036,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_XMLSTARLET="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8098,7 +8077,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_GIT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8144,7 +8123,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_FETCH="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8240,7 +8219,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_SOXMIX="${ac_tool_prefix}soxmix"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8280,7 +8259,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_SOXMIX="soxmix"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8339,7 +8318,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_MD5="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8505,7 +8484,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_acx_pthread_config="yes"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -8661,7 +8640,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_PTHREAD_CC="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9581,7 +9560,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_AWK="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9631,7 +9610,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -9673,7 +9652,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path__libcurl_config="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -11769,20 +11748,23 @@
/* end confdefs.h. */
$ac_includes_default
int
-find_stack_direction (int *addr, int depth)
+find_stack_direction ()
{
- int dir, dummy = 0;
- if (! addr)
- addr = &dummy;
- *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
- dir = depth ? find_stack_direction (addr, depth - 1) : 0;
- return dir + dummy;
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
}
int
-main (int argc, char **argv)
+main ()
{
- return find_stack_direction (0, argc + !argv + 20) < 0;
+ return find_stack_direction () < 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
@@ -12598,7 +12580,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12642,7 +12624,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_LIBXML2="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -12971,8 +12953,6 @@
esac
rm -rf conftest*
fi
-
-
fi
@@ -12985,60 +12965,60 @@
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- /* See body of main program for 'e'. */
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- /* The following fails for
- HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
+#include <stdbool.h>
+#ifndef bool
+ "error: bool is not defined"
+#endif
+#ifndef false
+ "error: false is not defined"
+#endif
+#if false
+ "error: false is not 0"
+#endif
+#ifndef true
+ "error: true is not defined"
+#endif
+#if true != 1
+ "error: true is not 1"
+#endif
+#ifndef __bool_true_false_are_defined
+ "error: __bool_true_false_are_defined is not defined"
+#endif
+
+ struct s { _Bool s: 1; _Bool t; } s;
+
+ char a[true == 1 ? 1 : -1];
+ char b[false == 0 ? 1 : -1];
+ char c[__bool_true_false_are_defined == 1 ? 1 : -1];
+ char d[(bool) 0.5 == true ? 1 : -1];
+ /* See body of main program for 'e'. */
+ char f[(_Bool) 0.0 == false ? 1 : -1];
+ char g[true];
+ char h[sizeof (_Bool)];
+ char i[sizeof s.t];
+ enum { j = false, k = true, l = false * true, m = true * 256 };
+ /* The following fails for
+ HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
+ _Bool n[m];
+ char o[sizeof n == m * sizeof n[0] ? 1 : -1];
+ char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
+ /* Catch a bug in an HP-UX C compiler. See
+ http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
+ http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
+ */
+ _Bool q = true;
+ _Bool *pq = &q;
int
main ()
{
- bool e = &s;
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
+ bool e = &s;
+ *pq |= q;
+ *pq |= ! q;
+ /* Refer to every declared value, to avoid compiler optimizations. */
+ return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
+ + !m + !n + !o + !p + !q + !pq);
;
return 0;
@@ -13053,7 +13033,7 @@
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
$as_echo "$ac_cv_header_stdbool_h" >&6; }
- ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
+ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
if test "x$ac_cv_type__Bool" = xyes; then :
cat >>confdefs.h <<_ACEOF
@@ -13063,7 +13043,6 @@
fi
-
if test $ac_cv_header_stdbool_h = yes; then
$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h
@@ -13081,11 +13060,11 @@
int
main ()
{
-
+/* FIXME: Include the comments suggested by Paul. */
#ifndef __cplusplus
- /* Ultrix mips cc rejects this sort of thing. */
+ /* Ultrix mips cc rejects this. */
typedef int charset[2];
- const charset cs = { 0, 0 };
+ const charset cs;
/* SunOS 4.1.1 cc rejects this. */
char const *const *pcpcc;
char **ppc;
@@ -13102,9 +13081,8 @@
++pcpcc;
ppc = (char**) pcpcc;
pcpcc = (char const *const *) ppc;
- { /* SCO 3.2v4 cc rejects this sort of thing. */
- char tx;
- char *t = &tx;
+ { /* SCO 3.2v4 cc rejects this. */
+ char *t;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
@@ -13120,10 +13098,10 @@
iptr p = 0;
++p;
}
- { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying
+ { /* AIX XL C 1.02.0.0 rejects this saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; } bx;
- struct s *b = &bx; b->j = 5;
+ struct s { int j; const int *ap[3]; };
+ struct s *b; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
@@ -13253,8 +13231,7 @@
- (LDBL_MANT_DIG < DBL_MANT_DIG)))
&& (int) LDBL_EPSILON == 0
)];
-test_array [0] = 0;
-return test_array [0];
+test_array [0] = 0
;
return 0;
@@ -16733,10 +16710,10 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FORTIFY_SOURCE support" >&5
$as_echo_n "checking for _FORTIFY_SOURCE support... " >&6; }
-if $(${CC} -D_FORTIFY_SOURCE=2 -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
- AST_FORTIFY_SOURCE=-D_FORTIFY_SOURCE=2
+ AST_FORTIFY_SOURCE="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
@@ -17580,7 +17557,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_PKGCONFIG="${ac_tool_prefix}pkg-config"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -17620,7 +17597,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_PKGCONFIG="pkg-config"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -20969,7 +20946,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21013,7 +20990,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_MYSQLCLIENT="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21223,7 +21200,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21267,7 +21244,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_NEON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21372,7 +21349,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21416,7 +21393,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_NEON29="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21523,7 +21500,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -21567,7 +21544,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_NETSNMP="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -22620,7 +22597,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -22663,7 +22640,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -22732,7 +22709,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -22775,7 +22752,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_PG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -25680,7 +25657,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -25742,7 +25719,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_PTLIB_CONFIG="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -28197,7 +28174,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_GMIME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -28241,7 +28218,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_GMIME="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -29319,7 +29296,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -29363,7 +29340,7 @@
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_path_ac_pt_CONFIG_SDL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
@@ -30912,16 +30889,16 @@
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
+ # In both cases, we have to default to `cp -p'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
else
- as_ln_s='cp -pR'
+ as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
@@ -30981,16 +30958,28 @@
as_mkdir_p=false
fi
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in #(
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -31012,7 +31001,7 @@
# values after options handling.
ac_log="
This file was extended by asterisk $as_me trunk, which was
-generated by GNU Autoconf 2.69. Invocation command line was
+generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -31074,10 +31063,10 @@
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
asterisk config.status trunk
-configured by $0, generated by GNU Autoconf 2.69,
+configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2010 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
@@ -31167,7 +31156,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/configure.ac
^
|
@@ -20,7 +20,7 @@
AC_CONFIG_AUX_DIR(`pwd`)
AC_COPYRIGHT("Asterisk")
-AC_REVISION($Revision: 413714 $)
+AC_REVISION($Revision: 421227 $)
# preserve any CFLAGS or LDFLAGS that may be set
# NOTE: This must be done before calling any macros that end up
@@ -961,9 +961,9 @@
AC_SUBST(AST_DECLARATION_AFTER_STATEMENT)
AC_MSG_CHECKING(for _FORTIFY_SOURCE support)
-if $(${CC} -D_FORTIFY_SOURCE=2 -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
+if $(${CC} -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -S -o /dev/null -xc /dev/null > /dev/null 2>&1); then
AC_MSG_RESULT(yes)
- AST_FORTIFY_SOURCE=-D_FORTIFY_SOURCE=2
+ AST_FORTIFY_SOURCE="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2"
else
AC_MSG_RESULT(no)
AST_FORTIFY_SOURCE=
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/contrib/scripts/refcounter.py
^
|
@@ -60,11 +60,17 @@
Returns:
A tuple containing:
- A list of objects whose lifetimes were completed
+ (i.e., finished objects)
+ - A list of objects referenced after destruction
+ (i.e., invalid objects)
- A list of objects whose lifetimes were not completed
+ (i.e., leaked objects)
- A list of objects whose lifetimes are skewed
+ (i.e., Object history starting with an unusual ref count)
"""
finished_objects = []
+ invalid_objects = []
leaked_objects = []
skewed_objects = []
current_objects = {}
@@ -76,35 +82,69 @@
if not parsed_line:
continue
+ invalid = False
obj = parsed_line['addr']
if obj not in current_objects:
- current_objects[obj] = {'log': [], 'curcount': 1,}
- if 'constructor' not in parsed_line['state']:
- current_objects[obj]['curcount'] = parsed_line['state']
+ current_objects[obj] = {'log': [], 'curcount': 1}
+ if 'constructor' in parsed_line['state']:
+ # This is the normal expected case
+ pass
+ elif 'invalid' in parsed_line['state']:
+ invalid = True
+ current_objects[obj]['curcount'] = 0
+ if options.invalid:
+ invalid_objects.append((obj, current_objects[obj]))
+ elif 'destructor' in parsed_line['state']:
+ current_objects[obj]['curcount'] = 0
+ if options.skewed:
+ skewed_objects.append((obj, current_objects[obj]))
+ else:
+ current_objects[obj]['curcount'] = int(
+ parsed_line['state'])
if options.skewed:
skewed_objects.append((obj, current_objects[obj]))
else:
current_objects[obj]['curcount'] += int(parsed_line['delta'])
- current_objects[obj]['log'].append("[%s] %s:%s %s: %s %s - [%s]" % (
- parsed_line['thread_id'],
- parsed_line['file'],
- parsed_line['line'],
- parsed_line['function'],
- parsed_line['delta'],
- parsed_line['tag'],
- parsed_line['state']))
-
- if current_objects[obj]['curcount'] == 0:
- if options.normal:
+ current_objects[obj]['log'].append(
+ "[%s] %s:%s %s: %s %s - [%s]" % (
+ parsed_line['thread_id'],
+ parsed_line['file'],
+ parsed_line['line'],
+ parsed_line['function'],
+ parsed_line['delta'],
+ parsed_line['tag'],
+ parsed_line['state']))
+
+ # It is possible for curcount to go below zero if someone
+ # unrefs an object by two or more when there aren't that
+ # many refs remaining. This condition abnormally finishes
+ # the object.
+ if current_objects[obj]['curcount'] <= 0:
+ if current_objects[obj]['curcount'] < 0:
+ current_objects[obj]['log'].append(
+ "[%s] %s:%s %s: %s %s - [%s]" % (
+ parsed_line['thread_id'],
+ parsed_line['file'],
+ parsed_line['line'],
+ parsed_line['function'],
+ "+0",
+ "Object abnormally finalized",
+ "**implied destructor**"))
+ # Highlight the abnormally finished object in the
+ # invalid section as well as reporting it in the normal
+ # finished section.
+ if options.invalid:
+ invalid_objects.append((obj, current_objects[obj]))
+ if not invalid and options.normal:
finished_objects.append((obj, current_objects[obj]))
del current_objects[obj]
if options.leaks:
for key, lines in current_objects.iteritems():
leaked_objects.append((key, lines))
- return (finished_objects, leaked_objects, skewed_objects)
+ return (finished_objects, invalid_objects, leaked_objects, skewed_objects)
def print_objects(objects, prefix=""):
@@ -138,6 +178,10 @@
parser.add_option("-f", "--file", action="store", type="string",
dest="filepath", default="/var/log/asterisk/refs",
help="The full path to the refs file to process")
+ parser.add_option("-i", "--suppress-invalid", action="store_false",
+ dest="invalid", default=True,
+ help="If specified, don't output invalid object "
+ "references")
parser.add_option("-l", "--suppress-leaks", action="store_false",
dest="leaks", default=True,
help="If specified, don't output leaked objects")
@@ -152,7 +196,8 @@
(options, args) = parser.parse_args(argv)
- if not options.leaks and not options.skewed and not options.normal:
+ if not options.invalid and not options.leaks and not options.normal \
+ and not options.skewed:
print >>sys.stderr, "All options disabled"
return -1
@@ -162,9 +207,14 @@
try:
(finished_objects,
+ invalid_objects,
leaked_objects,
skewed_objects) = process_file(options)
+ if options.invalid and len(invalid_objects):
+ print_objects(invalid_objects, "Invalid Referenced")
+ ret_code |= 4
+
if options.leaks and len(leaked_objects):
print_objects(leaked_objects, "Leaked")
ret_code |= 1
|
[-]
[+]
|
Added |
asterisk-1.8.31.0.tar.xz/doc/aelparse.8
^
|
@@ -0,0 +1,28 @@
+.TH AELPARSE "8" "Jul 2014" "Asterisk trunk" ""
+.SH NAME
+aelparse \- utility to check extensions.ael for errors
+.SH SYNOPSIS
+.B aelparse
+[\-d] [\-n] [\-q] [\-w]
+.SH DESCRIPTION
+aelparse is a utility to check the extensions.ael configuration file before
+feeding it to asterisk.
+.SH OPTIONS
+.TP
+\fB\-d\fR
+Use the current working directory as the CONFIG_DIR.
+.TP
+\fB\-n\fR
+Do not display the instructions generated by the compiler.
+.TP
+\fB\-q\fR
+Suppress progress and non-error messages.
+.TP
+\fB\-w\fR
+Dump extensions.conf format to extensions.conf.aeldump.
+
+.SH SEE ALSO
+.B asterisk(8)
+
+.SH AUTHOR
+This manual page was written by Jeremy Lainé <jeremy.laine@m4x.org>.
|
[-]
[+]
|
Added |
asterisk-1.8.31.0.tar.xz/doc/smsq.8
^
|
@@ -0,0 +1,146 @@
+.TH SMSQ "8" "May 2014" "Asterisk trunk" ""
+.SH NAME
+smsq \- helper to send SMS messages
+.SH SYNOPSIS
+.B smsq
+\fI\,<oa/da> <message>\/\fR
+.SH DESCRIPTION
+smsq is a simple helper application designed to make it easy to send messages
+from a command line. it is intended to run on the Asterisk box and have direct
+access to the queue directories for SMS and for Asterisk.
+.SH OPTIONS
+.TP
+\fB\-q\fR, \fB\-\-queue\fR=\fI\,number[\-X]\/\fR
+Queue [inc sub address] (default: "")
+.TP
+\fB\-d\fR, \fB\-\-da\fR=\fI\,number\/\fR
+Destination address
+.TP
+\fB\-o\fR, \fB\-\-oa\fR=\fI\,number\/\fR
+Origination address
+.TP
+\fB\-m\fR, \fB\-\-ud\fR=\fI\,text\/\fR
+Message
+.TP
+\fB\-f\fR, \fB\-\-ud\-file\fR=\fI\,filename\/\fR
+Message file
+.TP
+\fB\-\-UTF\-8\fR
+File treated as null terminated UTF\-8
+(default)
+.TP
+\fB\-\-UCS\-1\fR
+File treated as UCS\-1
+.TP
+\fB\-\-UCS\-2\fR
+File treated as UCS\-2
+.TP
+\fB\-t\fR, \fB\-\-mt\fR
+Mobile Terminated
+.TP
+\fB\-\-mo\fR
+Mobile Originated
+.TP
+\fB\-\-tx\fR
+Send message
+.TP
+\fB\-r\fR, \fB\-\-rx\fR
+Queue for receipt
+.TP
+\fB\-e\fR, \fB\-\-process\fR=\fI\,command\/\fR
+Rx queue process command
+.TP
+\fB\-x\fR, \fB\-\-no\-dial\fR
+Do not dial
+.TP
+\fB\-\-no\-wait\fR
+Do not wait if already calling
+.TP
+\fB\-\-concurrent\fR=\fI\,n\/\fR
+Number of concurrent calls to allow
+(default: 1)
+.TP
+\fB\-\-motx\-channel\fR=\fI\,channel\/\fR
+Channel for motx calls (default:
+"Local/1709400X")
+.TP
+\fB\-\-motx\-callerid\fR=\fI\,number\/\fR
+Caller ID for motx calls (default is
+queue name without sub address)
+.TP
+\fB\-\-motx\-wait\fR=\fI\,seconds\/\fR
+Time to wait for motx call to answer
+(default: 10)
+.TP
+\fB\-\-motx\-delay\fR=\fI\,seconds\/\fR
+Time between motx call retries (default:
+1)
+.TP
+\fB\-\-motx\-retries\fR=\fI\,n\/\fR
+Number of retries for motx call (default:
+10)
+.TP
+\fB\-\-mttx\-channel\fR=\fI\,channel\/\fR
+Channel for mttx calls (default is Local/
+and queue name without sub address)
+.TP
+\fB\-\-mttx\-callerid\fR=\fI\,number\/\fR
+Caller ID for mttx calls (default is
+queue name without sub address) (default:
+"080058752X0")
+.TP
+\fB\-\-mttx\-wait\fR=\fI\,seconds\/\fR
+Time to wait for mttx call to answer
+(default: 10)
+.TP
+\fB\-\-mttx\-delay\fR=\fI\,seconds\/\fR
+Time between mttx call retries (default:
+30)
+.TP
+\fB\-\-mttx\-retries\fR=\fI\,n\/\fR
+Number of retries for mttx call (default:
+100)
+.TP
+\fB\-n\fR, \fB\-\-mr\fR=\fI\,n\/\fR
+Message reference
+.TP
+\fB\-p\fR, \fB\-\-pid\fR=\fI\,n\/\fR
+Protocol ID
+.TP
+\fB\-c\fR, \fB\-\-dcs\fR=\fI\,n\/\fR
+Data Coding Scheme
+.TP
+\fB\-\-udh\fR=\fI\,hex\/\fR
+User data header
+.TP
+\fB\-\-srr\fR
+Status Report Request
+.TP
+\fB\-\-rp\fR
+Return Path request
+.TP
+\fB\-\-v\fR=\fI\,seconds\/\fR
+Validity Period
+.TP
+\fB\-\-scts\fR=\fI\,YYYY\-MM\-SSTHH\/\fR:MM:SS
+Timestamp
+.TP
+\fB\-\-default\-sub\-address\fR=\fI\,X\/\fR
+Default sub address (default: "9")
+.TP
+\fB\-\-spool\-dir\fR=\fI\,dirname\/\fR
+Asterisk spool dir (default:
+"/var/spool/asterisk")
+.SS "Help options:"
+.TP
+\-?, \fB\-\-help\fR
+Show this help message
+.TP
+\fB\-\-usage\fR
+Display brief usage message
+
+.SH SEE ALSO
+.B asterisk(8)
+
+.SH AUTHOR
+This manual page was written by Jeremy Lainé <jeremy.laine@m4x.org>.
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/funcs/func_config.c
^
|
@@ -33,7 +33,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 400694 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421327 $")
#include "asterisk/module.h"
#include "asterisk/channel.h"
@@ -165,7 +165,7 @@
}
if (!(val = ast_variable_retrieve(cfg, args.category, args.variable))) {
- ast_log(LOG_ERROR, "'%s' not found in [%s] of '%s'\n", args.variable,
+ ast_debug(1, "'%s' not found in [%s] of '%s'\n", args.variable,
args.category, args.filename);
AST_RWLIST_UNLOCK(&configs);
return -1;
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/include/asterisk/config.h
^
|
@@ -554,8 +554,11 @@
* \details
* This function is used to insert a new category above another category
* matching the match parameter.
+ *
+ * \retval 0 if succeeded
+ * \retval -1 if NULL parameters or match category was not found
*/
-void ast_category_insert(struct ast_config *config, struct ast_category *cat, const char *match);
+int ast_category_insert(struct ast_config *config, struct ast_category *cat, const char *match);
int ast_category_delete(struct ast_config *cfg, const char *category);
/*!
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/include/asterisk/utils.h
^
|
@@ -300,6 +300,15 @@
*/
char *ast_escape_quoted(const char *string, char *outbuf, int buflen);
+/*!
+ * \brief Unescape quotes in a string
+ *
+ * \param quote_str The string with quotes to be unescaped
+ *
+ * \note This function mutates the passed-in string.
+ */
+void ast_unescape_quoted(char *quote_str);
+
static force_inline void ast_slinear_saturated_add(short *input, short *value)
{
int res;
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/app.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 419630 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421125 $")
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
@@ -823,7 +823,6 @@
{
int d = 0;
- ast_test_suite_event_notify("PLAYBACK", "Message: %s", fn);
if ((d = ast_streamfile(chan, fn, chan->language))) {
return d;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/astobj2.c
^
|
@@ -24,7 +24,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 418504 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 423349 $")
#include "asterisk/_private.h"
#include "asterisk/astobj2.h"
@@ -226,8 +226,14 @@
}
if (ref_log && user_data) {
- if (obj && old_refcount + delta == 0) {
- fprintf(ref_log, "%p,%d,%d,%s,%d,%s,**destructor**,%s\n", user_data, delta, ast_get_tid(), file, line, funcname, tag);
+ if (!obj) {
+ /* Invalid object: Bad magic number. */
+ fprintf(ref_log, "%p,%d,%d,%s,%d,%s,**invalid**,%s\n",
+ user_data, delta, ast_get_tid(), file, line, funcname, tag);
+ fflush(ref_log);
+ } else if (old_refcount + delta == 0) {
+ fprintf(ref_log, "%p,%d,%d,%s,%d,%s,**destructor**,%s\n",
+ user_data, delta, ast_get_tid(), file, line, funcname, tag);
fflush(ref_log);
} else if (delta != 0) {
fprintf(ref_log, "%p,%s%d,%d,%s,%d,%s,%d,%s\n", user_data, (delta < 0 ? "" : "+"),
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/callerid.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
#include <time.h>
#include <math.h>
@@ -1008,50 +1008,39 @@
int ast_callerid_parse(char *instr, char **name, char **location)
{
- char *ns, *ne, *ls, *le;
+ char *ls, *le, *name_start;
- /* Try "name" <location> format or name <location> format */
- if ((ls = strrchr(instr, '<')) && (le = strrchr(ls, '>'))) {
- *ls = *le = '\0'; /* location found, trim off the brackets */
- *location = ls + 1; /* and this is the result */
- if ((ns = strchr(instr, '"')) && (ne = strchr(ns + 1, '"'))) {
- *ns = *ne = '\0'; /* trim off the quotes */
- *name = ns + 1; /* and this is the name */
- } else if (ns) {
- /* An opening quote was found but no closing quote was. The closing
- * quote may actually be after the end of the bracketed number
- */
- if (strchr(le + 1, '\"')) {
- *ns = '\0';
- *name = ns + 1;
- ast_trim_blanks(*name);
- } else {
- *name = NULL;
- }
- } else { /* no quotes, trim off leading and trailing spaces */
- *name = ast_skip_blanks(instr);
- ast_trim_blanks(*name);
+ /* Handle surrounding quotes */
+ instr = ast_strip_quoted(instr, "\"", "\"");
+
+ /* Try "name" <location> format or name <location> format or with a missing > */
+ if ((ls = strrchr(instr, '<'))) {
+ if ((le = strrchr(ls, '>'))) {
+ *le = '\0'; /* location found, trim off the brackets */
}
+ *ls = '\0';
+ *location = ls + 1; /* and this is the result */
+
+ name_start = ast_strip_quoted(instr, "\"", "\"");
} else { /* no valid brackets */
char tmp[256];
ast_copy_string(tmp, instr, sizeof(tmp));
ast_shrink_phone_number(tmp);
if (ast_isphonenumber(tmp)) { /* Assume it's just a location */
- *name = NULL;
+ name_start = NULL;
strcpy(instr, tmp); /* safe, because tmp will always be the same size or smaller than instr */
*location = instr;
} else { /* Assume it's just a name. */
*location = NULL;
- if ((ns = strchr(instr, '"')) && (ne = strchr(ns + 1, '"'))) {
- *ns = *ne = '\0'; /* trim off the quotes */
- *name = ns + 1; /* and this is the name */
- } else { /* no quotes, trim off leading and trailing spaces */
- *name = ast_skip_blanks(instr);
- ast_trim_blanks(*name);
- }
+ name_start = ast_strip_quoted(instr, "\"", "\"");
}
}
+
+ if (name_start) {
+ ast_unescape_quoted(name_start);
+ }
+ *name = name_start;
return 0;
}
@@ -1078,14 +1067,18 @@
{
if (!unknown)
unknown = "<unknown>";
- if (name && num)
- snprintf(buf, bufsiz, "\"%s\" <%s>", name, num);
- else if (name)
+ if (name && num) {
+ char name_buf[128];
+
+ ast_escape_quoted(name, name_buf, sizeof(name_buf));
+ snprintf(buf, bufsiz, "\"%s\" <%s>", name_buf, num);
+ } else if (name) {
ast_copy_string(buf, name, bufsiz);
- else if (num)
+ } else if (num) {
ast_copy_string(buf, num, bufsiz);
- else
+ } else {
ast_copy_string(buf, unknown, bufsiz);
+ }
return buf;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/channel.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 423006 $")
#include "asterisk/_private.h"
@@ -7605,8 +7605,13 @@
if (config->timelimit) {
time_left_ms = config->timelimit - ast_tvdiff_ms(now, config->start_time);
- if (time_left_ms < to)
+ if (time_left_ms < 0) {
+ time_left_ms = 0;
+ }
+
+ if (time_left_ms < to) {
to = time_left_ms;
+ }
if (time_left_ms <= 0) {
if (caller_warning && config->end_sound)
@@ -7614,7 +7619,7 @@
if (callee_warning && config->end_sound)
bridge_playfile(c1, c0, config->end_sound, 0);
*fo = NULL;
- res = 0;
+ res = AST_BRIDGE_COMPLETE;
ast_test_suite_event_notify("BRIDGE_TIMELIMIT", "Channel1: %s\r\nChannel2: %s", c0->name, c1->name);
break;
}
@@ -7657,7 +7662,7 @@
if (ast_test_flag(c0, AST_FLAG_ZOMBIE) || ast_check_hangup_locked(c0) ||
ast_test_flag(c1, AST_FLAG_ZOMBIE) || ast_check_hangup_locked(c1)) {
*fo = NULL;
- res = 0;
+ res = AST_BRIDGE_COMPLETE;
ast_debug(1, "Bridge stops because we're zombie or need a soft hangup: c0=%s, c1=%s, flags: %s,%s,%s,%s\n",
c0->name, c1->name,
ast_test_flag(c0, AST_FLAG_ZOMBIE) ? "Yes" : "No",
@@ -7673,7 +7678,7 @@
if (c0->tech->bridge &&
/* if < 1 ms remains use generic bridging for accurate timing */
- (!config->timelimit || to > 1000 || to == 0) &&
+ (!config->timelimit || to > 1000 || to == -1) &&
(c0->tech->bridge == c1->tech->bridge) &&
!c0->monitor && !c1->monitor &&
!c0->audiohooks && !c1->audiohooks &&
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/cli.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421600 $")
#include "asterisk/_private.h"
#include "asterisk/paths.h" /* use ast_config_AST_MODULE_DIR */
@@ -241,7 +241,7 @@
if (c)
c = ast_strdup(c);
- free(d);
+ ast_std_free(d);
return c;
}
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/config.c
^
|
@@ -32,7 +32,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 415359 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 423276 $")
#include "asterisk/paths.h" /* use ast_config_AST_CONFIG_DIR */
#include "asterisk/network.h" /* we do some sockaddr manipulation here */
@@ -727,24 +727,28 @@
config->current = category;
}
-void ast_category_insert(struct ast_config *config, struct ast_category *cat, const char *match)
+int ast_category_insert(struct ast_config *config, struct ast_category *cat, const char *match)
{
struct ast_category *cur_category;
- if (!cat || !match)
- return;
+ if (!config || !cat || !match) {
+ return -1;
+ }
if (!strcasecmp(config->root->name, match)) {
cat->next = config->root;
config->root = cat;
- return;
- }
- for (cur_category = config->root; cur_category; cur_category = cur_category->next) {
+ return 0;
+ }
+ for (cur_category = config->root; cur_category && cur_category->next;
+ cur_category = cur_category->next) {
if (!strcasecmp(cur_category->next->name, match)) {
cat->next = cur_category->next;
cur_category->next = cat;
- break;
+ return 0;
}
}
+
+ return -1;
}
static void ast_destroy_template_list(struct ast_category *cat)
@@ -1859,21 +1863,27 @@
ast_free(o->fname);
}
-
-static struct inclfile *set_fn(char *fn, int fn_size, const char *file, const char *configfile, struct ao2_container *fileset)
+static void make_fn(char *fn, size_t fn_size, const char *file, const char *configfile)
{
- struct inclfile lookup;
- struct inclfile *fi;
-
if (ast_strlen_zero(file)) {
- if (configfile[0] == '/')
+ if (configfile[0] == '/') {
ast_copy_string(fn, configfile, fn_size);
- else
+ } else {
snprintf(fn, fn_size, "%s/%s", ast_config_AST_CONFIG_DIR, configfile);
- } else if (file[0] == '/')
+ }
+ } else if (file[0] == '/') {
ast_copy_string(fn, file, fn_size);
- else
+ } else {
snprintf(fn, fn_size, "%s/%s", ast_config_AST_CONFIG_DIR, file);
+ }
+}
+
+static struct inclfile *set_fn(char *fn, size_t fn_size, const char *file, const char *configfile, struct ao2_container *fileset)
+{
+ struct inclfile lookup;
+ struct inclfile *fi;
+
+ make_fn(fn, fn_size, file, configfile);
lookup.fname = fn;
fi = ao2_find(fileset, &lookup, OBJ_POINTER);
if (fi) {
@@ -1982,11 +1992,29 @@
return -1;
}
- /* reset all the output flags, in case this isn't our first time saving this data */
+ /* Check all the files for write access before attempting to modify any of them */
for (incl = cfg->includes; incl; incl = incl->next) {
+ /* reset all the output flags in case this isn't our first time saving this data */
incl->output = 0;
+ /* now make sure we have write access */
+ if (!incl->exec) {
+ make_fn(fn, sizeof(fn), incl->included_file, configfile);
+ if (access(fn, R_OK | W_OK)) {
+ ast_log(LOG_ERROR, "Unable to write %s (%s)\n", fn, strerror(errno));
+ return -1;
+ }
+ }
}
+ /* now make sure we have write access to the main config file */
+ make_fn(fn, sizeof(fn), 0, configfile);
+ if (access(fn, R_OK | W_OK)) {
+ ast_log(LOG_ERROR, "Unable to write %s (%s)\n", fn, strerror(errno));
+ return -1;
+ }
+
+ /* Now that we know we have write access to all files, it's safe to start truncating them */
+
/* go thru all the inclusions and make sure all the files involved (configfile plus all its inclusions)
are all truncated to zero bytes and have that nice header*/
for (incl = cfg->includes; incl; incl = incl->next) {
@@ -1998,8 +2026,7 @@
gen_header(f, configfile, fn, generator);
fclose(f); /* this should zero out the file */
} else {
- ast_debug(1, "Unable to open for writing: %s\n", fn);
- ast_verb(2, "Unable to write %s (%s)", fn, strerror(errno));
+ ast_log(LOG_ERROR, "Unable to write %s (%s)\n", fn, strerror(errno));
}
if (fi) {
ao2_ref(fi, -1);
@@ -2032,8 +2059,7 @@
fi = set_fn(fn, sizeof(fn), cat->file, configfile, fileset);
f = fopen(fn, "a");
if (!f) {
- ast_debug(1, "Unable to open for writing: %s\n", fn);
- ast_verb(2, "Unable to write %s (%s)", fn, strerror(errno));
+ ast_log(LOG_ERROR, "Unable to write %s (%s)\n", fn, strerror(errno));
if (fi) {
ao2_ref(fi, -1);
}
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/file.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 413586 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421059 $")
#include <dirent.h>
#include <sys/stat.h>
@@ -985,6 +985,7 @@
return -1;
if (vfs && ast_applystream(chan, vfs))
return -1;
+ ast_test_suite_event_notify("PLAYBACK", "Message: %s\r\nChannel: %s", filename, chan->name);
res = ast_playstream(fs);
if (!res && vfs)
res = ast_playstream(vfs);
@@ -1370,7 +1371,6 @@
{
int res = 0;
if (!ast_strlen_zero(file)) {
- ast_test_suite_event_notify("PLAYBACK", "Message: %s", file);
res = ast_streamfile(chan, file, chan->language);
if (!res) {
res = ast_waitstream(chan, digits);
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/manager.c
^
|
@@ -47,7 +47,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 419942 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 423276 $")
#include "asterisk/_private.h"
#include "asterisk/paths.h" /* use various ast_config_AST_* */
@@ -190,7 +190,7 @@
</synopsis>
<syntax>
<xi:include xpointer="xpointer(/docs/manager[@name='Login']/syntax/parameter[@name='ActionID'])" />
- <parameter name="Channel" required="true">
+ <parameter name="Channel" required="false">
<para>The name of the channel to query for status.</para>
</parameter>
<parameter name="Variables">
@@ -1062,6 +1062,8 @@
static void free_channelvars(void);
+static int match_filter(struct mansession *s, char *eventdata);
+
/*!
* \internal
* \brief Find a registered action object.
@@ -2745,7 +2747,11 @@
if (ast_strlen_zero(match)) {
ast_category_append(cfg, category);
} else {
- ast_category_insert(cfg, category, match);
+ if (ast_category_insert(cfg, category, match)) {
+ result = FAILURE_NEWCAT;
+ ast_category_destroy(category);
+ break;
+ }
}
} else if (!strcasecmp(action, "renamecat")) {
if (ast_strlen_zero(value)) {
@@ -3019,8 +3025,9 @@
struct eventqent *eqe = s->session->last_ev;
astman_send_response(s, m, "Success", "Waiting for Event completed.");
while ((eqe = advance_event(eqe))) {
- if (((s->session->readperm & eqe->category) == eqe->category) &&
- ((s->session->send_events & eqe->category) == eqe->category)) {
+ if (((s->session->readperm & eqe->category) == eqe->category)
+ && ((s->session->send_events & eqe->category) == eqe->category)
+ && match_filter(s, eqe->eventdata)) {
astman_append(s, "%s", eqe->eventdata);
}
s->session->last_ev = eqe;
@@ -3128,6 +3135,7 @@
}
astman_send_ack(s, m, "Authentication accepted");
if ((s->session->send_events & EVENT_FLAG_SYSTEM)
+ && (s->session->readperm & EVENT_FLAG_SYSTEM)
&& ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) {
struct ast_str *auth = ast_str_alloca(80);
const char *cat_str = authority_to_str(EVENT_FLAG_SYSTEM, &auth);
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/main/utils.c
^
|
@@ -29,7 +29,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 420680 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
#include <ctype.h>
#include <sys/stat.h>
@@ -458,6 +458,28 @@
return outbuf;
}
+void ast_unescape_quoted(char *quote_str)
+{
+ int esc_pos;
+ int unesc_pos;
+ int quote_str_len = strlen(quote_str);
+
+ for (esc_pos = 0, unesc_pos = 0;
+ esc_pos < quote_str_len;
+ esc_pos++, unesc_pos++) {
+ if (quote_str[esc_pos] == '\\') {
+ /* at least one more char and current is \\ */
+ esc_pos++;
+ if (esc_pos >= quote_str_len) {
+ break;
+ }
+ }
+
+ quote_str[unesc_pos] = quote_str[esc_pos];
+ }
+ quote_str[unesc_pos] = '\0';
+}
+
/*! \brief ast_uri_decode: Decode SIP URI, URN, URL (overwrite the string) */
void ast_uri_decode(char *s)
{
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/res/res_musiconhold.c
^
|
@@ -32,7 +32,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 416439 $")
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 421976 $")
#include <ctype.h>
#include <signal.h>
@@ -155,11 +155,13 @@
struct moh_files_state {
/*! Holds a reference to the MOH class. */
struct mohclass *class;
+ char name[MAX_MUSICCLASS];
format_t origwfmt;
int samples;
int sample_queue;
int pos;
int save_pos;
+ int save_total;
char save_pos_filename[PATH_MAX];
};
@@ -234,11 +236,6 @@
if (dup) {
if (__ao2_ref_debug(dup, -1, (char *) tag, (char *) file, line, funcname) == 2) {
- FILE *ref = fopen("/tmp/refs", "a");
- if (ref) {
- fprintf(ref, "%p =1 %s:%d:%s (%s) BAD ATTEMPT!\n", class, file, line, funcname, tag);
- fclose(ref);
- }
ast_log(LOG_WARNING, "Attempt to unref mohclass %p (%s) when only 1 ref remained, and class is still in a container! (at %s:%d (%s))\n",
class, class->name, file, line, funcname);
} else {
@@ -421,11 +418,9 @@
}
}
- /* class is reffed, so we can safely compare it against the (possibly
- * recently unreffed) state->class. The unref was done after the ref
- * of class, so we're sure that they won't point to the same memory
- * by accident. */
- if (state->class != class) {
+ /* Resume MOH from where we left off last time or start from scratch? */
+ if (state->save_total != class->total_files || strcmp(state->name, class->name) != 0) {
+ /* Start MOH from scratch. */
memset(state, 0, sizeof(*state));
if (ast_test_flag(class, MOH_RANDOMIZE) && class->total_files) {
state->pos = ast_random() % class->total_files;
@@ -434,6 +429,9 @@
state->class = mohclass_ref(class, "Reffing music class for channel");
state->origwfmt = chan->writeformat;
+ /* For comparison on restart of MOH (see above) */
+ ast_copy_string(state->name, class->name, sizeof(state->name));
+ state->save_total = class->total_files;
ast_verb(3, "Started music on hold, class '%s', on %s\n", class->name, chan->name);
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/sounds/Makefile
^
|
@@ -19,8 +19,8 @@
SOUNDS_DIR:=$(DESTDIR)$(ASTDATADIR)/sounds
SOUNDS_CACHE_DIR?=
MOH_DIR:=$(DESTDIR)$(ASTDATADIR)/moh
-CORE_SOUNDS_VERSION:=1.4.25
-EXTRA_SOUNDS_VERSION:=1.4.14
+CORE_SOUNDS_VERSION:=1.4.26
+EXTRA_SOUNDS_VERSION:=1.4.15
MOH_VERSION:=2.03
SOUNDS_URL:=http://downloads.asterisk.org/pub/telephony/sounds/releases
MCS:=$(subst -EN-,-en-,$(MENUSELECT_CORE_SOUNDS))
@@ -30,6 +30,7 @@
MCS:=$(subst -ES-,-es-,$(MCS))
MCS:=$(subst -RU-,-ru-,$(MCS))
MCS:=$(subst -IT-,-it-,$(MCS))
+MCS:=$(subst -JA-,-ja-,$(MCS))
MCS:=$(subst -WAV,-wav,$(MCS))
MCS:=$(subst -ULAW,-ulaw,$(MCS))
MCS:=$(subst -ALAW,-alaw,$(MCS))
@@ -150,6 +151,8 @@
$(eval $(call sound_format_lang_rule,$(SOUNDS_DIR),core-sounds,ru,$(CORE_SOUNDS_VERSION)))
+$(eval $(call sound_format_lang_rule,$(SOUNDS_DIR),core-sounds,ja,$(CORE_SOUNDS_VERSION)))
+
$(eval $(call sound_format_lang_rule,$(SOUNDS_DIR),extra-sounds,en,$(EXTRA_SOUNDS_VERSION)))
$(eval $(call sound_format_lang_rule,$(SOUNDS_DIR),extra-sounds,en_GB,$(EXTRA_SOUNDS_VERSION)))
|
|
Added |
asterisk-1.8.31.0.tar.xz/sounds/asterisk-core-sounds-en-gsm-1.4.26.tar.gz
^
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/sounds/sounds.xml
^
|
@@ -189,6 +189,33 @@
<member name="CORE-SOUNDS-RU-SIREN14" displayname="Russian, G.722.1C (Siren14) format">
<support_level>core</support_level>
</member>
+ <member name="CORE-SOUNDS-JA-WAV" displayname="Japanese, WAV format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-ULAW" displayname="Japanese, mu-Law format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-ALAW" displayname="Japanese, a-Law format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-GSM" displayname="Japanese, GSM format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-G729" displayname="Japanese, G.729 format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-G722" displayname="Japanese, G.722 format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-SLN16" displayname="Japanese, Signed-linear 16kHz format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-SIREN7" displayname="Japanese, G.722.1 (Siren7) format">
+ <support_level>core</support_level>
+ </member>
+ <member name="CORE-SOUNDS-JA-SIREN14" displayname="Japanese, G.722.1C (Siren14) format">
+ <support_level>core</support_level>
+ </member>
</category>
<category name="MENUSELECT_MOH" displayname="Music On Hold File Packages" positive_output="yes">
<member name="MOH-OPSOUND-WAV" displayname="opsound.org Music On Hold Files, WAV format" >
|
[-]
[+]
|
Added |
asterisk-1.8.31.0.tar.xz/tests/test_callerid.c
^
|
@@ -0,0 +1,165 @@
+/*
+ * Asterisk -- An open source telephony toolkit.
+ *
+ * Copyright (C) 2014, Kinsey Moore
+ *
+ * Kinsey Moore <kmoore@digium.com>
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE file
+ * at the top of the source tree.
+ */
+
+/*!
+ * \file
+ * \brief Callerid Tests
+ *
+ * \author\verbatim Kinsey Moore <kmoore@digium.com> \endverbatim
+ *
+ * This is an Asterisk test module for callerid functionality
+ * \ingroup tests
+ */
+
+/*** MODULEINFO
+ <depend>TEST_FRAMEWORK</depend>
+ <support_level>core</support_level>
+ ***/
+
+#include "asterisk.h"
+#include "asterisk/callerid.h"
+
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $")
+
+#include "asterisk/utils.h"
+#include "asterisk/module.h"
+#include "asterisk/test.h"
+
+struct cid_set {
+ char *cid;
+ char *name;
+ char *number;
+};
+
+AST_TEST_DEFINE(parse_nominal)
+{
+ static const struct cid_set cid_sets[] = {
+ {"\"name\" <number>", "name", "number"},
+ {"\" name \" <number>", " name ", "number"},
+ {"name <number>", "name", "number"},
+ {" name <number>", "name", "number"},
+ {"\"\" <number>", NULL, "number"},
+ {"<number>", NULL, "number"},
+ {"name", "name", NULL},
+ {"\"name\"", "name", NULL},
+ {"\"name\" <>", "name", NULL},
+ {"name <>", "name", NULL},
+ {"1234", NULL, "1234"},
+ {"\"na\\\"me\" <number>", "na\"me", "number"},
+ };
+ char *name;
+ char *number;
+ int i;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "parse_nominal";
+ info->category = "/main/callerid/";
+ info->summary = "Callerid nominal parse unit test";
+ info->description =
+ "This tests parsing of nominal callerid strings.";
+ return AST_TEST_NOT_RUN;
+ case TEST_EXECUTE:
+ break;
+ }
+
+ for (i = 0; i < ARRAY_LEN(cid_sets); i++) {
+ RAII_VAR(char *, callerid, ast_strdup(cid_sets[i].cid), ast_free);
+
+ ast_callerid_parse(callerid, &name, &number);
+ if (!cid_sets[i].name == !ast_strlen_zero(name) || (cid_sets[i].name && strcmp(name, cid_sets[i].name))) {
+ ast_test_status_update(test,
+ "Expected callerid name '%s' instead of '%s'\n",
+ cid_sets[i].name, name);
+ return AST_TEST_FAIL;
+ }
+
+ if (!cid_sets[i].number == !ast_strlen_zero(number) || (cid_sets[i].number && strcmp(number, cid_sets[i].number))) {
+ ast_test_status_update(test,
+ "Expected callerid number '%s' instead of '%s'\n",
+ cid_sets[i].number, number);
+ return AST_TEST_FAIL;
+ }
+ }
+
+ return AST_TEST_PASS;
+}
+
+AST_TEST_DEFINE(parse_off_nominal)
+{
+ static const struct cid_set cid_sets[] = {
+ {"na\\\"me <number>", "na\"me", "number"},
+ {"\"na\"me\" <number>", "na\"me", "number"},
+ {"na\"me <number>", "na\"me", "number"},
+ {"\"name <number>", "\"name", "number"},
+ {"name <number", "name", "number"},
+ {"\"name <number>\"", "name", "number"},
+ };
+ char *name;
+ char *number;
+ int i;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "parse_off_nominal";
+ info->category = "/main/callerid/";
+ info->summary = "Callerid off-nominal parse unit test";
+ info->description =
+ "This tests parsing of off-nominal callerid strings.";
+ return AST_TEST_NOT_RUN;
+ case TEST_EXECUTE:
+ break;
+ }
+
+ for (i = 0; i < ARRAY_LEN(cid_sets); i++) {
+ RAII_VAR(char *, callerid, ast_strdup(cid_sets[i].cid), ast_free);
+
+ ast_callerid_parse(callerid, &name, &number);
+ if (!cid_sets[i].name == !ast_strlen_zero(name) || (cid_sets[i].name && strcmp(name, cid_sets[i].name))) {
+ ast_test_status_update(test,
+ "Expected callerid name '%s' instead of '%s'\n",
+ cid_sets[i].name, name);
+ return AST_TEST_FAIL;
+ }
+
+ if (!cid_sets[i].number == !ast_strlen_zero(number) || (cid_sets[i].number && strcmp(number, cid_sets[i].number))) {
+ ast_test_status_update(test,
+ "Expected callerid number '%s' instead of '%s'\n",
+ cid_sets[i].number, number);
+ return AST_TEST_FAIL;
+ }
+ }
+
+ return AST_TEST_PASS;
+}
+
+static int unload_module(void)
+{
+ AST_TEST_UNREGISTER(parse_nominal);
+ AST_TEST_UNREGISTER(parse_off_nominal);
+ return 0;
+}
+
+static int load_module(void)
+{
+ AST_TEST_REGISTER(parse_nominal);
+ AST_TEST_REGISTER(parse_off_nominal);
+ return AST_MODULE_LOAD_SUCCESS;
+}
+
+AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Callerid Parse Tests");
|
[-]
[+]
|
Changed |
asterisk-1.8.31.0.tar.xz/tests/test_utils.c
^
|
@@ -32,7 +32,7 @@
#include "asterisk.h"
-ASTERISK_FILE_VERSION(__FILE__, "$Revision: 332176 $");
+ASTERISK_FILE_VERSION(__FILE__, "$Revision: 422112 $");
#include "asterisk/utils.h"
#include "asterisk/test.h"
@@ -394,6 +394,100 @@
return res;
}
+struct quote_set {
+ char *input;
+ char *output;
+};
+
+AST_TEST_DEFINE(quote_mutation)
+{
+ char escaped[64];
+ static const struct quote_set escape_sets[] = {
+ {"\"string\"", "\\\"string\\\""},
+ {"\"string", "\\\"string"},
+ {"string\"", "string\\\""},
+ {"string", "string"},
+ {"str\"ing", "str\\\"ing"},
+ {"\"", "\\\""},
+ {"\\\"", "\\\\\\\""},
+ };
+ int i;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "quote_mutation";
+ info->category = "/main/utils/";
+ info->summary = "Test mutation of quotes in strings";
+ info->description =
+ "This tests escaping and unescaping of quotes in strings to "
+ "verify that the original string is recovered.";
+ return AST_TEST_NOT_RUN;
+ case TEST_EXECUTE:
+ break;
+ }
+
+ for (i = 0; i < ARRAY_LEN(escape_sets); i++) {
+ ast_escape_quoted(escape_sets[i].input, escaped, sizeof(escaped));
+
+ if (strcmp(escaped, escape_sets[i].output)) {
+ ast_test_status_update(test,
+ "Expected escaped string '%s' instead of '%s'\n",
+ escape_sets[i].output, escaped);
+ return AST_TEST_FAIL;
+ }
+
+ ast_unescape_quoted(escaped);
+ if (strcmp(escaped, escape_sets[i].input)) {
+ ast_test_status_update(test,
+ "Expected unescaped string '%s' instead of '%s'\n",
+ escape_sets[i].input, escaped);
+ return AST_TEST_FAIL;
+ }
+ }
+
+ return AST_TEST_PASS;
+}
+
+AST_TEST_DEFINE(quote_unescaping)
+{
+ static const struct quote_set escape_sets[] = {
+ {"\"string\"", "\"string\""},
+ {"\\\"string\"", "\"string\""},
+ {"\"string\\\"", "\"string\""},
+ {"str\\ing", "string"},
+ {"string\\", "string"},
+ {"\\string", "string"},
+ };
+ int i;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "quote_unescaping";
+ info->category = "/main/utils/";
+ info->summary = "Test unescaping of off-nominal strings";
+ info->description =
+ "This tests unescaping of strings which contain a mix of "
+ "escaped and unescaped sequences.";
+ return AST_TEST_NOT_RUN;
+ case TEST_EXECUTE:
+ break;
+ }
+
+ for (i = 0; i < ARRAY_LEN(escape_sets); i++) {
+ RAII_VAR(char *, escaped, ast_strdup(escape_sets[i].input), ast_free);
+
+ ast_unescape_quoted(escaped);
+ if (strcmp(escaped, escape_sets[i].output)) {
+ ast_test_status_update(test,
+ "Expected unescaped string '%s' instead of '%s'\n",
+ escape_sets[i].output, escaped);
+ return AST_TEST_FAIL;
+ }
+ }
+
+ return AST_TEST_PASS;
+}
+
static int unload_module(void)
{
AST_TEST_UNREGISTER(uri_encode_decode_test);
@@ -404,6 +498,8 @@
AST_TEST_UNREGISTER(crypto_loaded_test);
AST_TEST_UNREGISTER(adsi_loaded_test);
AST_TEST_UNREGISTER(agi_loaded_test);
+ AST_TEST_UNREGISTER(quote_mutation);
+ AST_TEST_UNREGISTER(quote_unescaping);
return 0;
}
@@ -417,6 +513,8 @@
AST_TEST_REGISTER(crypto_loaded_test);
AST_TEST_REGISTER(adsi_loaded_test);
AST_TEST_REGISTER(agi_loaded_test);
+ AST_TEST_REGISTER(quote_mutation);
+ AST_TEST_REGISTER(quote_unescaping);
return AST_MODULE_LOAD_SUCCESS;
}
|