Fix logic when doing a name based channel search for a structure when you want to start from a specific point in the channel list. (issue #9324 reported by slavon)
Ok, we found out that this is not about if you have any *active* clients using TLS, but
if you have initialized TLS at all during the lifetime of the module. So if you reload
to disable TLS, it won't help.
If you have a jabber client that uses TLS, refuse unload. Bad fix, but will prevent
crashes while we are trying to find a workaround.
Iksemel development seems to have stalled and we might have to stop using the
TCP/TLS connections in that library and use our own, which would scale better
from a poll/select perspective I guess. It would also make it easier to migrate
to OpenSSL and stop Asterisk from depending on both OpenSSL and GnuTLS.
Issue #9738 - Make sure we can unload res_jabber. Patch by phsultan - thanks!
Due to a bug in the iksemel library, this will not work if you are using GTLS
in the connection. That's being investigated. If you figure out a way to handle
that without us having to patch iksemel, let us know in the bug report. Thanks.
Olle Johansson [Thu, 7 Jun 2007 08:43:59 +0000 (08:43 +0000)]
Reverting part of #67864 to be able to compile agi/eagi-test that relies on this without having
ast_log and other asterisk api functions available - I could not compile on OS/X without reverting
this.
Russell Bryant [Wed, 6 Jun 2007 22:09:58 +0000 (22:09 +0000)]
Merged revisions 67872 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67872 | russell | 2007-06-06 17:08:02 -0500 (Wed, 06 Jun 2007) | 6 lines
Disable reload functionality in res_snmp. It is not possible to initialize the
snmp library more than once without completely unloading the module and loading
it again.
(issue #9571, reported by hristo, additional helpful debug information from festr,
patch from me)
Russell Bryant [Wed, 6 Jun 2007 21:16:18 +0000 (21:16 +0000)]
Merged revisions 67862 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67862 | russell | 2007-06-06 16:14:46 -0500 (Wed, 06 Jun 2007) | 4 lines
Fix a crash when doing call pickups with SIP phones. The code unlocked the
channel when it should not have.
(issue #9652, reported by corruptor, fixed by me)
Fix for Issue 9810. There was a segfault under a specific set of circumstances:
1. VoiceMailMain was configured in the dialplan with an extension as its argument
2. A message was left for this mailbox
3. Tried to call VoiceMailMain but hung up before entering password.
This was fixed by checking that a pointer was non-null prior to trying to dereference it.
(Issue 9810, reported by xmarksthespot, patched by Corydon76 with modifications by me).
Mark Michelson [Wed, 6 Jun 2007 19:02:33 +0000 (19:02 +0000)]
Fixing a crash wherein Asterisk would segfault when attempting to leave a voicemail when IMAP storage
was enabled. Though no bug was reported to the bugtracker, there was mention of this made as a note on
bug 9810 by edhorton.
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)