never indicate a match, so nothing would have been returned anyway, but it was
still a poor example of proper usage.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135439 f38db490-d61c-443f-a65b-d21fe96a405b
Reported by: falves11
Tested by: murf
falves11 ==
The changes I introduce here seem to clear up the problem
for me. However, if they do not for you, please reopen this
bug, and we'll keep digging.
The root of this problem seems to be a subtle memory corruption
introduced when creating an extension with an empty extension
name. While valgrind cannot detect it outside of DEBUG_MALLOC
mode, when compiled with DEBUG_MALLOC, this is certain death.
The code in main/features.c is a puzzle to me. On the initial
module load, the code is attempting to add the parking extension
before the features.conf file has even been opened!
I just wrapped the offending call with an if() that will not
try to add the extension if the extension name is empty. THis
seems to solve the corruption, and let the "memory show allocations"
work as one would expect.
But, really, adding an extension with an empty name is a seriously
bad thing to allow, as it will mess up all the pattern matching
algorithms, etc. So, I added a statement to the add_extension2 code to return
a -1 if this is attempted.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135265 f38db490-d61c-443f-a65b-d21fe96a405b
to get rid of a shadow warning (but this seemed legitimate enough to fix
here instead of in my branch).
Thanks to putnopvut for taking a look as well.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135197 f38db490-d61c-443f-a65b-d21fe96a405b
This set of changes enhances IAX2 encryption support by adding key rotation
to provide enhanced security. The key used for encryption is rotated right
after the call gets set up, and then again every few minutes. This was
discussed at the last AstriDevCon. For interoperability with older versions
of Asterisk, there is an option that disables key rotation.
(closes issue #13018)
Reported by: bbryant
Patches:
07072008__iax2_key_rotation.diff uploaded by bbryant (license 36)
Tested by: russell, bbryant
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135158 f38db490-d61c-443f-a65b-d21fe96a405b
such as "Work" and "Family" would be subfolders of the
INBOX. This is an invalid assumption to make, but it could
be desirable to set up folders in this manner, so a new
option for voicemail.conf, "imapparentfolder" has been
added to allow for this.
(closes issue #13142)
Reported by: jaroth
Patches:
parentfolder.patch uploaded by jaroth (license 50)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135067 f38db490-d61c-443f-a65b-d21fe96a405b
........
r134976 | tilghman | 2008-07-31 16:53:19 -0500 (Thu, 31 Jul 2008) | 9 lines
Specify codecs in callfiles and manager, to allow video calls to be set up
from callfiles and AMI.
(closes issue #9531)
Reported by: Geisj
Patches:
20080715__bug9531__1.4.diff.txt uploaded by Corydon76 (license 14)
20080715__bug9531__1.6.0.diff.txt uploaded by Corydon76 (license 14)
Tested by: Corydon76
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134980 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r134883 | murf | 2008-07-31 13:23:42 -0600 (Thu, 31 Jul 2008) | 51 lines
(closes issue #11849)
Reported by: greyvoip
Tested by: murf
OK, a few days of debugging, a bunch of instrumentation
in chan_sip, main/channel.c, main/pbx.c, etc. and 5 solid
notebook pages of notes later, I have made the small
tweek necc. to get the start time right on the second
CDR when:
A Calls B
B answ.
A hits Xfer button on sip phone,
A dials C and hits the OK button,
A hangs up
C answers ringing phone
B and C converse
B and/or C hangs up
But does not harm the scenario where:
A Calls B
B answ.
B hits xfer button on sip phone,
B dials C and hits the OK button,
B hangs up
C answers ringing phone
A and C converse
A and/or C hangs up
The difference in start times on the second CDR is because
of a Masquerade on the B channel when the xfer number is
sent. It ends up replacing the CDR on the B channel with
a duplicate, which ends up getting tossed out. We keep
a pointer to the first CDR, and update *that* after the
bridge closes. But, only if the CDR has changed.
I hope this change is specific enough not to muck
up any current CDR-based apps. In my defence, I
assert that the previous information was wrong,
and this change fixes it, and possibly other
similar scenarios.
I wonder if I should be doing the same thing
for the channel, as I did for the peer, but
I can't think of a scenario this might affect.
I leave it, then, as an exersize for the users,
to find the scenario where the chan's CDR
changes and loses the proper start time.
........
and as to 1.4 to trunk; have I expressed my
feelings about code shifting from one file
to another? Good.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134922 f38db490-d61c-443f-a65b-d21fe96a405b
1) If a function returns SQLITE_LOCKED, no recovery is possible.
2) An error message can be allocated, even when no error is signalled.
(closes issue #13109)
Reported by: gknispel_proformatique
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134919 f38db490-d61c-443f-a65b-d21fe96a405b
This ensures that we don't just keep a cache of tiny frames, continually doing
an alloc/free for each data frame, thus negating the point of having a cache.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134867 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r134814 | russell | 2008-07-31 11:45:31 -0500 (Thu, 31 Jul 2008) | 7 lines
In case we have some processing threads that free more frames than they allocate,
do not let the frame cache grow forever.
(closes issue #13160)
Reported by: tavius
Tested by: tavius, russell
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134815 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r134758 | mmichelson | 2008-07-31 10:56:18 -0500 (Thu, 31 Jul 2008) | 16 lines
Add more timeout checks into app_queue, specifically
targeting areas where an unknown and potentially
long time has just elapsed. Also added a check
to try_calling() to return early if the timeout
has elapsed instead of potentially setting a negative
timeout for the call (thus making it have *no* timeout
at all).
(closes issue #13186)
Reported by: miquel_cabrespina
Patches:
13186.diff uploaded by putnopvut (license 60)
Tested by: miquel_cabrespina
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134759 f38db490-d61c-443f-a65b-d21fe96a405b
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r134649 | tilghman | 2008-07-30 16:38:50 -0500 (Wed, 30 Jul 2008) | 4 lines
Qwell pointed out, via IRC, that the previous fix only worked when explicitly
set. When nothing is set, and the option is implied, it breaks, because
configure sets the prefix to 'NONE'. Fixing.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134650 f38db490-d61c-443f-a65b-d21fe96a405b
driver into a common place for multiple channel drivers.
(closes issue #13152)
Reported by: caio1982
Patches:
atxfer_complete_sound3.diff uploaded by caio1982 (license 22)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@134401 f38db490-d61c-443f-a65b-d21fe96a405b