Russell Bryant [Wed, 6 Jun 2007 16:58:28 +0000 (16:58 +0000)]
Merged revisions 67716 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r67716 | russell | 2007-06-06 11:55:59 -0500 (Wed, 06 Jun 2007) | 13 lines
Merged revisions 67715 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r67715 | russell | 2007-06-06 11:40:51 -0500 (Wed, 06 Jun 2007) | 5 lines
We have some bug reports showing crashes due to a double free of a channel.
Add a sanity check to ast_channel_free() to make sure we don't go on trying
to free a channel that wasn't found in the channel list.
(issue #8850, and others...)
Russell Bryant [Wed, 6 Jun 2007 14:45:29 +0000 (14:45 +0000)]
Change "show parkedcalls" to "parkedcalls show" and mark the previous command
as deprecated. Also, convert the CLI command to the new style.
(issue #9861, patch from eliel)
Russell Bryant [Tue, 5 Jun 2007 23:02:11 +0000 (23:02 +0000)]
Merged revisions 67558 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67558 | russell | 2007-06-05 18:01:44 -0500 (Tue, 05 Jun 2007) | 5 lines
Fix some crashes related to the use of the "meetme" CLI command. The code for
this command was not locking the conference list at all.
(issue #9351, reported by and patch submitted by Junk-Y, committed patch
is different and by me)
Mark Michelson [Tue, 5 Jun 2007 22:59:36 +0000 (22:59 +0000)]
Found a bug where when "core set debug #" is used, the verbosity is read as the
old value instead of the old debug value, leading to an erroneous status message
after setting. This was purely a cosmetic issue and had no other underlying problems.
Steve Murphy [Tue, 5 Jun 2007 22:04:22 +0000 (22:04 +0000)]
Merged revisions 67526 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67526 | murf | 2007-06-05 15:30:18 -0600 (Tue, 05 Jun 2007) | 1 line
this fixes bug 9883, wherein macros were not allowing the includes construct. fixed and tested, looks OK. Now includes can serve as an adjunct to catch.
........
Russell Bryant [Tue, 5 Jun 2007 20:55:59 +0000 (20:55 +0000)]
Merged revisions 67492 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67492 | russell | 2007-06-05 15:53:28 -0500 (Tue, 05 Jun 2007) | 16 lines
This bug has been hanging over my head ever since I wrote this SLA code.
Every time I tried to go debug it by adding some debug output, the behavior
would change. It turns out I wasn't crazy. I had the following piece of code:
if (remove)
AST_LIST_REMOVE_CURRENT(...);
Well, AST_LIST_REMOVE_CURRENT was not wrapped in braces, so my conditional
statement didn't do much good at all. It always ran at least all of the
macro minus the first statement, so I was seeing list entries magically
disappear when they weren't supposed to.
After many hours of debugging, I have come to this extremely irritating fix. :)
Fix for bug number 9786, wherein voicemails saved to IMAP storage using extensions other than gsm were
unable to be played over the phone. (Issue 9786, reporter: xmarksthespot, Patched by xmarksthe spot with revisions by me,
reviewed by Russell Bryant).
Steve Murphy [Tue, 5 Jun 2007 18:23:53 +0000 (18:23 +0000)]
Merged revisions 67420 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67420 | murf | 2007-06-05 12:17:28 -0600 (Tue, 05 Jun 2007) | 1 line
Added code to automatically add a default case to switches that don't have one. In some cases, rather than fall thru, it results in a goto with -1 result, which terminates the extension; a sort of dialplan seqfault, sort of. This was required to fix bug reported in 9881
........
Russell Bryant [Tue, 5 Jun 2007 16:58:09 +0000 (16:58 +0000)]
Merged revisions 67360 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67360 | russell | 2007-06-05 11:56:36 -0500 (Tue, 05 Jun 2007) | 5 lines
Fix a problem that showed itself by causing Zap channel names to be completely
bogus on my machine. ast_safe_string_alloc() was broken. It called
vsnprintf() on a va_args list twice without re-initializing it. After the first
usage, va_end() and va_start() must be called again.
Merged revisions 67306 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r67306 | crichter | 2007-06-05 17:39:43 +0200 (Di, 05 Jun 2007) | 1 line
simplified the EVENT_SETUP handling in the cb_events function a lot. Commented the different possibilities a bit and made functions of shared code. When the dialed extension does not exist in the extensions.conf we'll jump into the 'i' extension if this does exist, else we disconnect the call with the cause:1 = No Route to Destination.
........
Russell Bryant [Tue, 5 Jun 2007 15:54:36 +0000 (15:54 +0000)]
Merged revisions 67308 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67308 | russell | 2007-06-05 10:51:53 -0500 (Tue, 05 Jun 2007) | 5 lines
When shutting down "gracefully", go through and run the unload() callbacks for
all of the modules. "stop now" is considered a non-graceful shutdown and will
not go through this process.
(issue #9804, reported by chrisost, patch by me)
ensure that a burst of full frames (AST_FRAME_DTMF being the prime example) will not be processed out of order... this is a brute force fix, but seems to be the safest fix for now (thanks to the Digium PQ department for finding this bug)
Russell Bryant [Mon, 4 Jun 2007 23:32:26 +0000 (23:32 +0000)]
Merged revisions 67158 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67158 | russell | 2007-06-04 18:31:40 -0500 (Mon, 04 Jun 2007) | 5 lines
Fix up a bunch of places where the iax2 pvt structure can disappear and the
code did not account for it and crashes.
(issues #9642, #9569, #9666, probably others ... based on the work by
stevedavies and mihai, with additional changes from me)
Fix for skinny keepalives.
If there is no traffic from the phone for (keep_alive * 1100) ms (arbitrarily
adding 10% for network issues, etc), unregister the device.
Russell Bryant [Mon, 4 Jun 2007 22:29:43 +0000 (22:29 +0000)]
Merged revisions 67119 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67119 | russell | 2007-06-04 17:28:55 -0500 (Mon, 04 Jun 2007) | 6 lines
Add comments for two functions that get called with the appropriate call locked,
but perform operations that could result in the pvt structure getting destroyed
before returning again, causing numerous seg faults all over the module.
(inspired by issues #9642, #9569, and #9666, and the work done by stevedavies
and mihai)
Russell Bryant [Mon, 4 Jun 2007 21:45:24 +0000 (21:45 +0000)]
Remove a leftover unlock and lock of the iax2 pvt struct lock that was left
over from my attempt at putting pvt structs in a hash table. It can cause
seg faults, and has no reason to stay.
(issue #9642, pointed out by stevedavies)
Returning a value that indicates the parking of a call was a success when it really wasn't (because the parking slot selected was in use) is the wrong thing to do. (issue #9723 reported by mdu113)
Russell Bryant [Mon, 4 Jun 2007 16:03:19 +0000 (16:03 +0000)]
Merged revisions 67026 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67026 | russell | 2007-06-04 11:02:31 -0500 (Mon, 04 Jun 2007) | 6 lines
Change the configure script to build a test program against libcurl to make
sure the results from curl-config can be used to compile successfully. This is
intended to help prevent a situation where you are cross compiling, and the
configure script finds the curl library installed on the host.
(issue #9865, reported and patched by zandbelt)
Russell Bryant [Mon, 4 Jun 2007 15:50:46 +0000 (15:50 +0000)]
Merged revisions 67020 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67020 | russell | 2007-06-04 10:47:40 -0500 (Mon, 04 Jun 2007) | 7 lines
Resolve a deadlock in chan_iax2. When handling an implicit ACK to a frame that
was marked as the final transmission for a call, don't call iax2_destroy() for
that call while the global frame queue is still locked. There is a very nice
explanation of the deadlock in the report.
(issue #9663, thorough report and patch from stevedavies, additional positive
test reports from mihai and joff_oconnell)
Russell Bryant [Fri, 1 Jun 2007 23:34:43 +0000 (23:34 +0000)]
Merge major changes to the way device state is passed around Asterisk. The two
places that cared about device states were app_queue and the hint code in pbx.c.
The changes include converting it to use the Asterisk event system, as well as
other efficiency improvements.
* app_queue: This module used to register a callback into devicestate.c to
monitor device state changes. Now, it is just a subscriber to Asterisk
events with the type, device state.
* pbx.c hints: Previously, the device state processing thread in devicestate.c
would call ast_hint_state_changed() each time the state of a device changed.
Then, that code would go looking for all the hints that monitor that device,
and call their callbacks. All of this blocked the device state processing
thread. Now, the hint code is a subscriber of Asterisk events with the
type, device state. Furthermore, when this code receives a device state
change event, it queues it up to be processed by another thread so that it
doesn't block one of the event processing threads.
Submitting a fix for voicemail with IMAP storage. Attachments with format specified as gsm were duplicated (i.e. two attachments) were left.
Thank you very much to xmarksthespot for submitting the patch that fixed this. (Issues 9787 and 8873, Reported by xmarksthespot and jerjer, patched by xmarksthespot)
Russell Bryant [Fri, 1 Jun 2007 19:42:27 +0000 (19:42 +0000)]
Merged revisions 66881 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r66881 | russell | 2007-06-01 14:41:30 -0500 (Fri, 01 Jun 2007) | 6 lines
Changes to the way DTMF is handled in the core broke dialing in chan_skinny.
This patch makes chan_skinny usable again. I did not end up testing this,
but there are multiple positive test reports listed in the bug report.
(issue #9596, reported by pj, testing by pj and mvanbaak, and the fix was
written by DEA)
Russell Bryant [Thu, 31 May 2007 19:41:03 +0000 (19:41 +0000)]
To satisfy some legal concerns, add an option for chan_sip to include a
disclaimer along with SIP messages in the header, X-Disclaimer. This is off by
default. Also, the text of the disclaimer can be customized in sip.conf.
Russell Bryant [Thu, 31 May 2007 18:21:47 +0000 (18:21 +0000)]
Add support for configuring named groups of custom call features in
features.conf. This allows you to create a feature one time, and then map it
into groups for various different key mappings for the same feature, as well
as easy access control to groups of features.
(patch from bbryant)
Russell Bryant [Thu, 31 May 2007 17:56:27 +0000 (17:56 +0000)]
- Don't check if the list is empty needlessly
- Don't free structures before calling load_config(), because load_config()
already does it
- Use the existing functions for freeing the minivm structures instead of
replicating the code
(issue #9846, patch from eliel)
It is now possible for this path of execution to have the frame pointer be NULL, therefore we need to check for it before trying to access it. (issue #9836 reported by barthpbx)
Russell Bryant [Thu, 31 May 2007 14:52:30 +0000 (14:52 +0000)]
Fix a crash on reload by using calloc() instead of malloc() to ensure that
data is properly initialized.
(issue #9765, reported by MatsK, patch from eliel)
Joshua Colp [Mon, 28 May 2007 23:24:04 +0000 (23:24 +0000)]
Due to the way stringfields work the value of the url pointer will always be non-NULL so we have to use ast_strlen_zero to make sure it is not empty. (issue #9821 reported by pj)