Sean Bright [Tue, 7 Oct 2008 18:00:14 +0000 (18:00 +0000)]
This was flawed. The issue that I was trying to address was addressed by
adding the imapsecret alias for imappassword. Will rethink this one and
give it another shot on a rainy day TBD.
Sean Bright [Tue, 7 Oct 2008 16:40:24 +0000 (16:40 +0000)]
There was a boo-boo in TFOT that is causing some confusion on the mailing lists
so include 'imapsecret' as an alias to 'imappassword' (and print a little notice
nudging users toward the right option name).
Jeff Peeler [Tue, 7 Oct 2008 16:04:45 +0000 (16:04 +0000)]
Explicitly setting these fields to NULL was done because I wasn't sure if they would be NULL otherwise. Since they will be set automatically, removing.
Sean Bright [Tue, 7 Oct 2008 12:01:36 +0000 (12:01 +0000)]
Make sure to compare the correct number of characters when special-casing
our DAHDI operator mode stuff. Technically, it would work fine, as 'DAH'
is currently unique amongst our channel technologies, but as Jared points
out:
<@jsmith> Sure... as long as the technology starts whith DAH.... but
it could be DAHDOO!
Terry Wilson [Tue, 7 Oct 2008 00:02:19 +0000 (00:02 +0000)]
A blind transfer to the parking thread would cause a segfault because copy_request accesses dst->data w/o being able to tell whether it is proerly initialized
Jeff Peeler [Mon, 6 Oct 2008 22:26:25 +0000 (22:26 +0000)]
This commit squashes together three commits because the wrong approach was originally used. (One of the commits was only one line.)
1) r143204:
The main change here was to masquerade the channel if the channel that was to be parked was running a PBX on it. The PBX thread can then maintain full control of the channel (the zombie) as it expects to while allowing the parking thread full control of the real (parked) channel.
2) r143270:
Changed park_call_full to hold the parkinglot lock a little longer, which protects the parkeduser struct from being freed out from underneath. Made sure that the parking extension is added to the parking context while holding the lock thereby ensuring that there are no spurious warnings from removal attempts when a hangup occurs while the parking lot is being announced.
3) r143475: (the one liner)
compare peer and chan instead of looking at the parked user (pu), which could have possibly already have been freed by the parking thread
Jeff Peeler [Mon, 6 Oct 2008 22:03:01 +0000 (22:03 +0000)]
Explicitly set args in park_call_exec NULL so in the case of no options being passed in, there
is no garbage attempted to be used. Also, do not set args to unknown value again if there are
no options passed in.
Dialplan functions should not actually return 0, unless they have modified the
workspace. To signal an error (and no change to the workspace), -1 should be
returned instead.
(closes issue #13340)
Reported by: kryptolus
Patches:
20080827__bug13340__2.diff.txt uploaded by Corydon76 (license 14)
........
Check whether an extension exists in the _call method, rather than the _alloc
method, because we need to evaluate the callerid (since that data affects
whether an extension exists).
(closes issue #13343)
Reported by: efutch
Patches:
20080915__bug13343.diff.txt uploaded by Corydon76 (license 14)
Tested by: efutch
........
Mark Michelson [Mon, 6 Oct 2008 15:29:56 +0000 (15:29 +0000)]
This commit introduces a change to how the "joinempty"
and "leavewhenempty" options are configured in queues.conf.
Instead of using vague terms like "yes," "no," "loose," and
"strict," we now accept a comma-separated list of values
to determine when to consider a member available.
Extended details can be found in the queues.conf.sample
file. Note also that the above four referenced values are
still accepted for backwards-compatibility, but are mapped
internally to the new method of representing the option.
Sean Bright [Sun, 5 Oct 2008 01:59:14 +0000 (01:59 +0000)]
This is far from optimal, but I just found a FreeBSD system without
md5 installed on it. So look around for all of the different binaries
that we could possibly use. I'd wager this gets completely replaced
by someone else in less than 24 hours... :)
Sean Bright [Sat, 4 Oct 2008 16:20:31 +0000 (16:20 +0000)]
Fix a bug with the last item in CLI history getting duplicated when
read from the .asterisk_history file (and subsequently being duplicated
when written). We weren't checking the result of fgets() which meant
that we read the same line twice before feof() actually returned non-
zero.
Also, stop writing out an extra blank line between each item in the
history file, fix a minor off-by-one error, and use symbolic constants
rather than a hardcoded integer.
Sean Bright [Sat, 4 Oct 2008 01:54:44 +0000 (01:54 +0000)]
Add ability to remotely reboot snom phones. Also cleaned up and
reorganized sip_notify.conf.sample a bit as well. Tested snom
reboot on snom 360 and verified snom-check-cfg worked as well.
Sean Bright [Fri, 3 Oct 2008 22:10:18 +0000 (22:10 +0000)]
Resolve a subtle bug where we would never successfully be able to get
the first item in the CLI entry list. This was preventing '!' from
showing up in either 'help' or in tab completion.
Backport support for some of the keyword modifications used in 1.6 (while warning that
some options aren't really supported) and add some warning messages. Some credit to
oej, who was complaining in #asterisk-dev.
........
Some sanity checks that may have led to prior crashes, found by codefreeze-lap
(murf) on IRC. Also some cleanup of incorrectly-used constants.
........
Sean Bright [Wed, 1 Oct 2008 23:48:16 +0000 (23:48 +0000)]
Try a test compile using the GMime library. Some distros install gmime-config
in the base package instead of the -devel package. Now we print a notice and
disable GMime support instead of bombing during the main compilation.
Tilghman Lesher [Wed, 1 Oct 2008 23:02:25 +0000 (23:02 +0000)]
Add schedule extensions to app_meetme. In addition, the reporter found a
problem within strptime(3), which we are correcting here with ast_strptime().
(closes issue #11040)
Reported by: DEA
Patches:
20080910__bug11040.diff.txt uploaded by Corydon76 (license 14)
Tested by: DEA
Mark Michelson [Wed, 1 Oct 2008 22:23:50 +0000 (22:23 +0000)]
Okay, this should really do it now. While I did manage
to fix blind transfers with my last commit here, I also
caused an unwanted side-effect. That is, only the first
priority of the 'h' extension would be executed when
a blind transfer occurred instead of all priorities.
Essentially, my last commit corrected the return value
of ast_bridge_call. However, the implementation still
was not 100% correct. Now it is.
Mark Michelson [Wed, 1 Oct 2008 21:06:26 +0000 (21:06 +0000)]
The logic surrounding the return value of ast_spawn_extension
within ast_bridge_call was reversed.
This problem was observed when a blind transfer placed from
the callee channel of a test call failed.
While the problem I am solving here is exactly the same
as what was reported in issue #13584, the difference is
that this fix I am applying is trunk-only. Issue #13584
was reported against the 1.4 branch, and my tests
of 1.4's blind transfers appear to work fine.
Russell Bryant [Tue, 30 Sep 2008 21:32:53 +0000 (21:32 +0000)]
Add support for call pickup on Snom phones. Asterisk now includes a magic
call-id in the dialog-info event package used with extension state subscriptions
on Snom phones. Then, when the phone sends an INVITE with Replaces for the
special callid, Asterisk will perform a pickup on the extension that was
subscribed to.
The original code on this issue was submitted by xylome. However, contributions
have been made by (at least) mgernoth and pkempgen. The final patch was written
by seanbright, and includes the necessary logic to allow this work in a
technology independent way.
Change several improper "sizeof" to "strlen", as sizeof in that context would
incorrectly use the size of a pointer, rather than the length of a string.
(Closes issue #13574)
improve header inclusion process in a few small ways:
- it is no longer necessary to forcibly include asterisk/autoconfig.h; every module already includes asterisk.h as its first header (even before system headers), which serves the same purpose
- astmm.h is now included by asterisk.h when needed, instead of being forced by the Makefile; this means external modules will build properly against installed headers with MALLOC_DEBUG enabled
- simplify the usage of some of these headers in the AEL-related stuff in the utils directory
........
r144925 | kpfleming | 2008-09-27 10:13:30 -0500 (Sat, 27 Sep 2008) | 2 lines
This patch was applied to 1.4 but it completely
does not apply since the "found" pointer is not
passed in to this function. If this is going to
be backported, it needs to be done differently or
a deeper backport needs to be done.
This patch was mainly meant to apply to trunk and 1.6.x,
but I'm applying it to 1.4 also, which should be a perfectly
harmless fix to the vast majority of users who are not using
external switches, but the few who might be affected
will not have to go to the pain of filing a bug report.
Steve Murphy [Thu, 25 Sep 2008 22:21:28 +0000 (22:21 +0000)]
(closes issue #13557)
Reported by: nickpeirson
The user attached a patch, but the license is not yet
recorded. I took the liberty of finding and replacing
ALL index() calls with strchr() calls, and that
involves more than just main/pbx.c;
chan_oss, app_playback, func_cut also had calls
to index(), and I changed them out. 1.4 had no
references to index() at all.
Steve Murphy [Thu, 25 Sep 2008 21:18:12 +0000 (21:18 +0000)]
I added a little verbage to hashtab for the hashtab_destroy func.
It was pretty sparsely documented.
This update fleshes out the pbx_lua module, to
add the switch statements to the extensions in the
extensions.lua file, as well as removing them when
the module is unloaded.
Many thanks to Matt Nicholson for his fine
contribution!
Steve Murphy [Thu, 25 Sep 2008 16:21:54 +0000 (16:21 +0000)]
Blocked revisions 144420 via svnmerge
I am pushing this up to trunk and beyond, because I am not
certain that this bug will happen in the same way in
trunk and 1.6.x. If someone can document this problem
in 1.6.x or trunk, I can revert this block and push the
change up.
Many thanks to neutrino88 for this patch, which
solves a problem whereby channels get a CANCEL
request, respond to it properly, but end up
in a hung state, infinitely being rescheduled.
This fix is a bit crude, in that catches the
problem at a rather late phase, but it may
prevent infinite rescheduling problems that
might still arise.
It might have been better to find out why,
in the course of protocol handling, the channel
was not destroyed, but we leave that to
future generations.
Many thanks to urzedo and thiagofernandes for
their work in verifying that the patch code
indeed is being executing, and averting the
problem.
Create a 'hashcompat' option that permits the results of a CURL() able to be
passed directly into the HASH() function. Requested via the -users list, and
committed at Astricon in the Code Zone.
This crash happens because we are unsafely handling old pointers.
The channel whose cdr is being handled, has been hung up and
destroyed already. I reorganized the code a bit, and tried not
to lose the fork-cdr-chain concepts of the previous code.
I now verify that the 'previous' channel (the channel we
had when the bridge was started), still exists, by looking it up
by name in the channel list. I also do not try to reset the
CDR's of channels involved in bridges.
Testing shows it solves the crash problem, and should not
negatively impact previous fixes involving CDR's generated
during/after blind transfers. (The reason we need to reset
the CDR's on the "beginning" channels in the first place).
Mark Michelson [Tue, 23 Sep 2008 15:37:00 +0000 (15:37 +0000)]
When a promiscuous redirect contained both a user and
host portion in the Contact URI and specifies a
transport, the parsing done in parse_moved_contact
resulted in a malformed URI.
This commit fixes the parsing so that a proper
Dial string may be formed when the forwarded
call is placed.
In at least one machine, we noted that the timestr
was not getting set in the STMT; it was coming out,
usually, as binary garbage to an mssql server.
These changes fixed the problem. The only thing
I can venture forth as a guess, is that the pointer
is being stored in the interface, not a copy of the
string. Because we ripped the build process into a
subroutine, the timestr became a temp. stack variable,
and between the time the STMT got built and the
time it was executed on the server, the string being
pointed to was damaged. At any rate, even if this
theory is false, and some mechanism was at fault,
this fix worked reliably where it didn't before.
Why this bug didn't bite last week, I have no idea.
This change basically defines the timestr buffer
in the calling function, extending the life of the
buffer to cover both the STMT's building and
processing to the server.
I AM BLOCKING THIS FIX FROM TRUNK, because we
tested out a trunk release, and it is working
fine.
........
When callerid is blank, we want to use "unknown caller" in those cases, too.
(closes issue #13486)
Reported by: tomo1657
Patches:
20080917__bug13486.diff.txt uploaded by Corydon76 (license 14)
........
Mark Michelson [Wed, 17 Sep 2008 20:25:40 +0000 (20:25 +0000)]
If attempting to free a NULL pointer when MALLOC_DEBUG
is set, don't bother searching for a region to free, just
immediately exit.
This has the dual benefit of suppressing a warning message
about freeing memory at (nil) and of optimizing the free()
replacement by not having to do any futile searching for
the proper region to free.
Allow for "G.729" if offered in an SDP even though
it is not RFC 3551 compliant. Some Cisco switches
will send this in an SDP, and it doesn't hurt to
be able to accept this.
Changed park_call_full to hold the parkinglot lock a little longer, which protects the parkeduser struct from being freed out from underneath. Made sure that the parking extension is added to the parking context while holding the lock thereby ensuring that there are no spurious warnings from removal attempts when a hangup occurs while the parking lot is being announced.
The main change here was to masquerade the channel if the channel that was to be parked was running a PBX on it. The PBX thread can then maintain full control of the channel (the zombie) as it expects to while allowing the parking thread full control of the real (parked) channel.
Set the raw formats at the same time as the other formats.
(closes issue #13240)
Reported by: jvandal
Patches:
20080813__bug13240.diff.txt uploaded by Corydon76 (license 14)
........