https://origsvn.digium.com/svn/asterisk/trunk
........
r135265 | murf | 2008-08-01 22:51:29 -0600 (Fri, 01 Aug 2008) | 31 lines
(closes issue #13202)
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.
in 1.6.0, the changes to only main/pbx.c were applicable,
as apparently the code added to main/features by jpeeler
were not included in 1.6.0.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
........
r135197 | seanbright | 2008-08-01 15:29:26 -0400 (Fri, 01 Aug 2008) | 6 lines
Remove some code that used to do something but does not anymore, mainly
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135198 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r135158 | russell | 2008-08-01 13:16:24 -0500 (Fri, 01 Aug 2008) | 14 lines
Merge changes from team/bbryant/keyrotation
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
........
r135126 | tilghman | 2008-08-01 11:39:51 -0500 (Fri, 01 Aug 2008) | 9 lines
SIP should use the transport type set in the Moved Temporarily for the next
invite.
(closes issue #11843)
Reported by: pestermann
Patches:
20080723__issue11843_302_ignores_transport_16branch.diff uploaded by bbryant (license 36)
20080723__issue11843_302_ignores_transport_trunk.diff uploaded by bbryant (license 36)
Tested by: pabelanger
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
........
r135067 | mmichelson | 2008-08-01 09:29:48 -0500 (Fri, 01 Aug 2008) | 13 lines
IMAP storage functioned under the assumption that folders
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)
........
r135068 | mmichelson | 2008-08-01 09:42:24 -0500 (Fri, 01 Aug 2008) | 3 lines
IMAP-specific items must go in IMAP_STORAGE defines...
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@135070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
................
r134922 | murf | 2008-07-31 13:48:08 -0600 (Thu, 31 Jul 2008) | 63 lines
Merged revisions 134883 via svnmerge from
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.
........
................
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r134919 | tilghman | 2008-07-31 14:43:02 -0500 (Thu, 31 Jul 2008) | 6 lines
Two errors:
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134920 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r134867 | tilghman | 2008-07-31 14:03:41 -0500 (Thu, 31 Jul 2008) | 4 lines
Optimize frame cache by realloc'ing the smallest frame when the cache is full.
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
................
r134759 | mmichelson | 2008-07-31 11:05:12 -0500 (Thu, 31 Jul 2008) | 24 lines
Merged revisions 134758 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
................
r134650 | tilghman | 2008-07-30 16:40:08 -0500 (Wed, 30 Jul 2008) | 12 lines
Merged revisions 134649 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134651 65c4cc65-6c06-0410-ace0-fbb531ad65f3
........
r134401 | tilghman | 2008-07-30 11:40:43 -0500 (Wed, 30 Jul 2008) | 7 lines
Move implementation of an attended-transfer-complete sound from one channel
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
........
r134125 | mmichelson | 2008-07-28 14:53:56 -0500 (Mon, 28 Jul 2008) | 27 lines
This commit compensates for buggy poll(2)
implementations. Asterisk has, for a long time,
had its own implementation of poll(2) which
just used the input arguments to call select(2).
In 1.4, this internal implementation was used
for Darwin systems. This was removed in Asterisk
trunk at some point, but it seems as though this
was not the right move to make.
On Mac OS X, it appears as though the poll used
to gather CLI input does not respond properly
when connecting via a remote Asterisk console.
Reverting to the use of Asterisk's poll fixed
the issue.
Also, there is now an option for the configure
script, --enable-internal-poll, which will allow
for anyone to use Asterisk's internal poll
implementation in case they suspect that their
system's poll implementation is buggy.
closes issue #11928)
Reported by: adriavidal
Patches:
1.6.0-configurev2.patch uploaded by putnopvut (license 60)
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
https://origsvn.digium.com/svn/asterisk/trunk
........
r133945 | russell | 2008-07-26 10:15:14 -0500 (Sat, 26 Jul 2008) | 6 lines
ast_device_state() gets called in two different ways. The first way is when
called from elsewhere in Asterisk to find the current state of a device. In
that case, we want to use the cached value if it exists. The other way is when
processing a device state change. In that case, we do not want to check the
cache because returning the last known state is counter productive.
........
r133946 | russell | 2008-07-26 10:16:20 -0500 (Sat, 26 Jul 2008) | 1 line
actually use the cache_cache argument
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@133947 65c4cc65-6c06-0410-ace0-fbb531ad65f3