Age | Commit message (Collapse) | Author | Files | Lines |
|
Reported by: pj
Tested by: murf
These changes will set a channel variable ~~EXTEN~~ just before generating code
for a switch, with the value of ${EXTEN}. The exten is marked as having a switch,
and ever after that, till the end of the exten, we substitute any ${EXTEN}
with ${~~EXTEN~~} instead in application arguments; (and the ${EXTEN: also).
The reason for this, is that because switches are coded using
separate extensions to provide pattern matching, and
jumping to/from these switch extensions messes up the ${EXTEN} value,
which blows the minds of users.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@111341 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: atis
Many thanks to atis for spotting this problem and reporting it.
The fix was to straighten out how items are placed on and removed
from the file stack. Regressions as well as the provided test case
helped to straighten out all code paths. valgrind was used to make
sure all memory allocated was freed.
Sorry for not solving this earlier. I got distracted.
Added the ntest23 regression test, which is mainly a copy of ntest22,
but with a few juicy errors thrown in, to replicate the kind of
error that atis spotted.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@109309 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
- the output of flex includes a static function called 'input' that is not used, so for the moment we'll stop having the compiler tell us about unused variables in the flex source files (a better fix would be to improve our flex post-processing to remove the unused function)
- main/stdtime/localtime.c makes assumptions about signed integer overflow, and gcc-4.3's improved optimizer tries to take advantage of handling potential overflow conditions at compile time; for now, suppress these optimizations until we can fiure out if the code needs improvement
- main/udptl.c has some references to uninitialized variables; in one case there was no bug, but in the other it was certainly possibly for unexpected behavior to occur
- main/editline/readline.c had an unused variable
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@107352 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
CFLAGS and include directory paths
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@102627 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
possibly cause memory to be accessed after it is freed, which causes all
sorts of random memory corruption. Instead, if a deletion fails, wait a
bit and try again (noting that another thread could change our taskid
value).
(closes issue #11386)
Reported by: flujan
Patches:
20080124__bug11386.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76, flujan, stuarth`
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@100465 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #11646)
Reported by: caio1982
Patches:
dundi_osx_eid6.diff.txt uploaded by caio1982 (license 22)
dundi_osx_eid6-1.4.diff uploaded by caio1982 (license 22)
Tested by: caio1982, mvanbaak
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@98390 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
overrode the normally generate yyfree func with our own version that checks the pointer for non-null before passing to free(). Also takes care of a little problem with 2.5.33 and the use of the __STDC_VERSION__ macro.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97889 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97753 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
complained.
(closes issue #11706, reported by caio1982)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97734 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97645 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(related to issue #11706)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@97640 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
or wrlock
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@96024 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@96022 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@93183 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.
While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@93180 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
enabled.
(closes issue #11347)
Reported by: ys
Patches:
pbx.pbx_config.c.diff uploaded by ys (license 281)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@89592 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
leakage I've already fixed, but it doesn't hurt to double check. I found and fixed leaks in res_jabber, cdr_tds, pbx_ael. Nothing major, tho.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@89088 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
where the semicolon is not escaped. Fixed this; User also wanted comments to be preserved across dialplan save, but this is impossible at this point in time, because comments are not stored in the dialplan. They are 'compiled' out of extensions.conf. The only way to preserve those comments is to use the config file reader/writer that the GUI uses to allow online user edits. extensions.conf is first and foremost, a config file, and is read in by the normal config-file reading routines. Then, it is processed into a dialplan (context/exten structs).
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@87849 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
included contexts that have no match in the AEL, might be OK, as AEL cannot check in the extensions.conf or the in-memory contexts, as they may not be there at the time of the check.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@87775 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
contexts report a problem; The problem was REALLy that he was referring to empty contexts, which were being ignored. Reporter stated that empty contexts should be OK. I checked it out against extensions.conf, and sure enough, empty contexts ARE ok. So, I removed the restriction from AEL. This, though, highlighted a problem with multiple contexts of the same name. This should be OK, also. So, I added the extend keyword to AEL, and it can preceed the 'context' keyword (mixed with 'abstract', if nec.). This will turn off the warnings in AEL if the same context name is used 2 or more times. Also, I now call ast_context_find_or_create for contexts now, instead of just ast_context_create; I did this because pbx_config does this. The 'extend' keyword thus becomes a statement of intent. AEL can now duplicate the behavior of pbx_config,
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@87168 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@86936 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #11041)
Reported by: jsmith
Patches:
asterisk-dundicomplete.diff.txt uploaded by jamesgolovich (license 176)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@86661 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
that it is null terminated.
(issue #10977)
Reported by: dimas
Patches:
pbxdundi.patch uploaded by dimas (license 88)
- small mods by me
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@85556 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
user exists.
(closes issue #10971)
Reported by: dimas
Patches:
pbxconfig.patch uploaded by dimas (license 88)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@85540 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(closes issue #10958)
Reported by: dimas
Patches:
realtime.patch uploaded by dimas (license 88)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@85515 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
execute correctly, because the commas in the function args are not converted to vertbars before the func is called. I modified just the switch code to convert the commas to vertbars if there, but if more of these sort of probs are found, I may have to resort to something a little more fundamental. We'll see, I guess.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84544 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
hangup; since switch is implemented with extensions, and the default case is implemented with a '.', and the '.' matches 1 or more remaining characters, the case where 0 characters exist isn't matched, and the extension isn't matched, and the goto fails, and a hangup occurs. Now, when a default case is generated, it also generates a single fixed extension that will match a null input. That extension just does a goto to the default extension for that switch. I played with an alternate solution, where I just tack an extra char onto all the patterns and the goto, but not the default case's pattern. Then even a null input will still have at least one char in it. But it made me nervous, having that extra char in , even if that's a pretty secret and low-level issue.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84511 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84273 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
really nothing there, and making sure we don't try to do checking on a null tree.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84239 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
regressions.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84135 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
globbing (you know, *,[chars],?,{list,list},etc), so I've updated the AEL system to support this also.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@84133 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83976 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
arg in the for(arg1; arg2; arg3) {} statement, as were done for the 3rd arg. It can now be an assignment that will embedded in a Set() app, or a macro call, or an app call.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83589 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
in Set() only if there's an '=' in that string. Otherwise, if it begins with '&', then a Macro call is generated; otherwise it is made into an app call. A bit more accomodating, keeps the new guys happy, and the guys with ael-1 code should be happy, too
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83558 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2.
(closes issue #10774, patch from qwell)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@83432 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
shallow copy so that it doesn't crash when beging destroyed.
(closes issue #10546, patch by me)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@82802 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
retrytime > waittime
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@82358 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
code did not support it. This patch makes it work.
(closes issue #10546, patch by dds, with some changes by me)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@82250 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: jamesgolovich
Patches:
asterisk-dundifree.diff.txt uploaded by jamesgolovich (license 176)
Don't leak memory when unloading DUNDi.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@82243 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@81228 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@81226 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
unload and should be fixed (when I'm not in the middle of something else ...).
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@81074 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@81065 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
results in a crash on a 64bit machine
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@80689 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@79363 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
test cleanups
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@79255 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
reason codes mean, when they are logged
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@79099 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
using GCC 4.2.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@75712 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Reported by: irroot
Record the threadid of each running thread before shutting them down as the thread themselves may change the value.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@75583 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@74045 f38db490-d61c-443f-a65b-d21fe96a405b
|