Prior to this patch, the value of AGISIGUP was not always
honored when set on a channel.
(closes issue #13711)
Reported by: fmueller
Patches:
13711.patch uploaded by putnopvut (license 60)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This patch removes the usage of AST_PBX_KEEPALIVE from res_agi. The only usage
was for the AGI command, "asyncagi break". This patch removes this feature.
Normally, a feature would not be removed like this. However, this code is
broken and usage of it will result in a memory leak.
Usage of this feature will make the AGI code return a result of
AST_PBX_KEEPALIVE. The PBX handler assumes that another thread has assumed
ownership of the channel. The channel thread will exit without destroying the
channel. Unfortunately, _no_ thread has ownership of the channel at this
point. There are a couple of serious problems here:
1) The only way to recover the caller is to issue a channel redirect. This
will work, but this will be done with a masquerade, and the old ast_channel
structure will be lost.
2) Until the channel redirect happens, there is no code servicing the channel.
That means nothing is reading audio or handling events coming from the
channel. This is very bad.
The recommended way to get this same "break" functionality is to issue the
redirect while the channel is still being handled by the AGI code. That way,
there will be no memory leak, and there will be no period of time that the
channel is not being serviced.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@166258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
The variable "class" was being set NULL just prior to
being dereferenced in an ao2_link call. I have moved
the setting of the variable to NULL until after the
ao2_link call.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r165661 | russell | 2008-12-18 12:52:18 -0600 (Thu, 18 Dec 2008) | 7 lines
Set the process group ID on the MOH process so that all children will get killed
(closes issue #14099)
Reported by: caspy
Patches:
res_musiconhold.c.patch.killpg.try2 uploaded by caspy (license 645)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165662 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r165255 | mmichelson | 2008-12-17 14:51:38 -0600 (Wed, 17 Dec 2008) | 7 lines
Fix some memory leaks found while looking at how realtime
configs are handled.
Also cleaned up some coding guidelines violations in app_realtime.c,
mostly related to spacing
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165318 65c4cc65-6c06-0410-ace0-fbb531ad65f3
is used while continuous mode was already turned on.
(closes issue #13738)
Reported by: smurfix
Patches:
res.patch.fixed uploaded by smurfix (license 547)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162874 | jpeeler | 2008-12-10 16:04:18 -0600 (Wed, 10 Dec 2008) | 5 lines
(closes issue #13229)
Reported by: clegall_proformatique
Ensure that moh_generate does not return prematurely before local_ast_moh_stop is called. Also, the sleep in mp3_spawn now only occurs for http locations since it seems to have been added originally only for failing media streams.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162264 | murf | 2008-12-09 13:20:54 -0700 (Tue, 09 Dec 2008) | 1 line
In discussion with seanbright on #asterisk-dev, I have added a default rule, and an option to suppress the default rule from being generated in the flex output, for the sake of those OS's where they didn't tweak flex's ECHO macro, and the compiler doesn't like it. The regressions are OK with this.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r162013 | murf | 2008-12-09 09:31:55 -0700 (Tue, 09 Dec 2008) | 45 lines
(closes issue #14019)
Reported by: ckjohnsonme
Patches:
14019.diff uploaded by murf (license 17)
Tested by: ckjohnsonme, murf
This crash was the result of a few small errors that
would combine in 64-bit land to result in a crash.
32-bit land might have seen these combine to mysteriously
drop the args to an application call, in certain
circumstances.
Also, in trying to find this bug, I spotted
a situation in the flex input, where, in passing
back a 'word' to the parser, it would allocate
a buffer larger than necessary. I changed the
usage in such situations, so that strdup was
not used, but rather, an ast_malloc, followed
by ast_copy_string.
I removed a field from the pval struct, in
u2, that was never getting used, and set in
one spot in the code. I believe it was an
artifact of a previous fix to make switch
cases work invisibly with extens.
And, for goto's I removed a '!' from
before a strcmp, that has been there
since the initial merging of AEL2, that
might prevent the proper target of a
goto from being found. This was pretty
harmless on its own, as it would just
louse up a consistency check for users.
Many thanks to ckjohnsonme for providing
a simplified and complete set of information
about the bug, that helped considerably in
finding and fixing the problem.
Now, to get aelparse up and running again
in trunk, and out of its "horribly broken" state,
so I can run the regression suite!
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@162079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
because SPRINTF() use non-literal format strings (which cannot be checked), move it into its own module so the rest of func_strings can benefit from format string checking
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
They removed the LDAP_DEPRECATED define from their source and since we are using a couple
of deprecated function calls we should define it with a CFLAG.
Tested by me on OpenBSD 4.4 and snuff-home on Linux to make sure everything keeps compiling.
It shouldn't break, we only define the LDAP_DEPRECATED with this which is what
all 2.2.X and older versions of OpenLDAP did in their own tree.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
it would be best to maintain API compatibility. Instead, this commit introduces
ao2_callback_data() which is functionally identical to ao2_callback() except
that it allows you to pass arbitrary data to the callback.
Reviewed by Mark Michelson via ReviewBoard:
http://reviewboard.digium.com/r/64
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r157859 | kpfleming | 2008-11-19 15:34:47 -0600 (Wed, 19 Nov 2008) | 7 lines
the gcc optimizer frequently finds broken code (use of uninitalized variables, unreachable code, etc.), which is good. however, developers usually compile with the optimizer turned off, because if they need to debug the resulting code, optimized code makes that process very difficult. this means that we get code changes committed that weren't adequately checked over for these sorts of problems.
with this build system change, if (and only if) --enable-dev-mode was used and DONT_OPTIMIZE is turned on, when a source file is compiled it will actually be preprocessed (into a .i or .ii file), then compiled once with optimization (with the result sent to /dev/null) and again without optimization (but only if the first compile succeeded, of course).
while making these changes, i did some cleanup work in Makefile.rules to move commonly-used combinations of flag variables into their own variables, to make the file easier to read and maintain
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This provides a new timing interface. In order to use it,
you must be running a Linux with a kernel version of
2.6.25 or newer and glibc 2.8 or newer.
This timing interface is a good alternative if a timing
source is necessary (e.g. for IAX trunking) but DAHDI is
otherwise unnecessary for the system.
For now, this commit contains the actual work done in the
res_timing_timerfd branch. There are no notices in the README
or CHANGES files yet, but they will be added in my next commit.
The timing API of Asterisk also needs to have a bit of work done
with regards to choosing which timing interface to use. This commit
makes the choice a build-time decision, by only allowing one of
the timer interfaces to be chosen in menuselect. It would be preferable
if the choice could be made at run-time, however. The preferred timing
interface could be loaded and tested, and if it does not work, choice
number two may be used instead. That sort of thing. That is beyond
the scope of work in this branch though.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
also, move UPGRADE.txt to UPGRADE-1.6.txt and make the new UPGRADE.txt contain information about upgrading between Asterisk 1.6 releases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
is unloaded and then Asterisk is stopped. The problem was that
we are not unregistering the ast_moh_destroy function at exit.
(closes issue #13761)
Reported by: eliel
Patches:
res_musiconhold.c.patch uploaded by eliel (license 64)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157592 65c4cc65-6c06-0410-ace0-fbb531ad65f3