Russell Bryant [Wed, 6 Jun 2007 22:08:02 +0000 (22:08 +0000)]
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:14:46 +0000 (21:14 +0000)]
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)
Mark Michelson [Wed, 6 Jun 2007 19:26:55 +0000 (19:26 +0000)]
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).
Russell Bryant [Wed, 6 Jun 2007 16:55:59 +0000 (16:55 +0000)]
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 [Tue, 5 Jun 2007 23:01:44 +0000 (23:01 +0000)]
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)
Steve Murphy [Tue, 5 Jun 2007 21:30:18 +0000 (21:30 +0000)]
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:53:28 +0000 (20:53 +0000)]
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. :)
Mark Michelson [Tue, 5 Jun 2007 18:32:50 +0000 (18:32 +0000)]
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:17:28 +0000 (18:17 +0000)]
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:56:36 +0000 (16:56 +0000)]
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:51:53 +0000 (15:51 +0000)]
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:31:40 +0000 (23:31 +0000)]
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)
Jason Parker [Mon, 4 Jun 2007 23:26:28 +0000 (23:26 +0000)]
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:28:55 +0000 (22:28 +0000)]
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)
Joshua Colp [Mon, 4 Jun 2007 17:41:59 +0000 (17:41 +0000)]
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:02:31 +0000 (16:02 +0000)]
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:47:40 +0000 (15:47 +0000)]
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)
Mark Michelson [Fri, 1 Jun 2007 21:09:30 +0000 (21:09 +0000)]
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:41:30 +0000 (19:41 +0000)]
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)
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)
Kevin P. Fleming [Fri, 25 May 2007 14:28:46 +0000 (14:28 +0000)]
handle the GNUTLS library properly in the configure script and build system
don't build in OSP support unless we have found and are allowed to use SSL support
Russell Bryant [Thu, 24 May 2007 15:04:14 +0000 (15:04 +0000)]
Ensure that frames are fully initialized. This will probably fix getting
weird timestamp log messages in logs when using the Festival app.
(issue #9781, patch by me)
Russell Bryant [Thu, 24 May 2007 14:49:05 +0000 (14:49 +0000)]
Fix the calculation of the RTT for RTCP. The previous code would result in
oscillating and incorrect data. Additionally, the RTT would sometimes report
negative values due to incorrect calculations.
(issue #9601, patch from davetroy)
Olle Johansson [Thu, 24 May 2007 14:38:30 +0000 (14:38 +0000)]
Issue 8409 - phsultan - Fix "login" as component to jabber server.
...and, by accident, fix a bug in chan_sip for stopping a loop on retransmits
of BYE requests.
Merged revisions 65767 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r65767 | crichter | 2007-05-24 11:19:58 +0200 (Do, 24 Mai 2007) | 1 line
we should only activate the generator in chan_misdn, when asterisk hask not yet taken the call (WAITING4DIGS state). Alerting audio will be generated fomr asterisk for example.
........