Commit Graph

986 Commits

Author SHA1 Message Date
Tilghman Lesher
4767c11e8b Occasionally, the alertpipe loses its nonblocking status, so detect and correct
that situation before it causes a deadlock.  (Reported and tested by ctooley
via #asterisk-dev)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 15:11:30 +00:00
Steve Murphy
50449140e8 Arkadia tried to warn me, but the code added to ast_cdr_busy, _failed, and _noanswer was redundant. Didn't spot it until I was resolving conflicts in trunk. Ugh. Redundant code removed. It wasn't harmful. Just dumb.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:51:44 +00:00
Steve Murphy
5c2cf0f3c0 (closes issue #10668)
Reported by: arkadia
Tested by: murf, arkadia

Options added to forkCDR() app and the CDR() func to
remove some roadblocks for CDR applications.

The "show application ForkCDR" output was upgraded
to more fully explain the inner workings of forkCDR.

The A option was added to forkCDR to force the
CDR system to NOT change the disposition on the
original CDR, after the fork. This involves
ast_cdr_answer, _busy, _failed, and so on.

The T option was added to forkCDR to force 
obedience of the cdr LOCKED flag in the
ast_cdr_end, all the disposition changing
funcs (ast_cdr_answer, etc), and in the
ast_cdr_setvar func.

The CHANGES file was updated to explain ALL
the new options added to satisfy this bug report
(and some requests made verbally and via 
email, irc, etc, over the past months/year)

The 's' option was added to the CDR() func,
to force it to skip LOCKED cdr's in the
chain.

Again, the new options should be totally transparent
to existing apps! Current behavior of CDR,
forkCDR, and the rest of the CDR system should
not change one little bit. Until you add the
new options, at least!



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 13:47:34 +00:00
Terry Wilson
c340004d76 Backport fix for 11520--for some reason I didn't do this back in February when I patched for trunk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@121992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-11 23:47:23 +00:00
Tilghman Lesher
1c7d9e4c9a Make calls to ast_assert() actually test something, so that the error message
printed is not nonsensical (reported by mvanbaak via #asterisk-bugs).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@121861 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-11 18:18:16 +00:00
Joshua Colp
88f21bd666 Update BRIDGEPEER variable before we do a generic bridge in case we just broke out of a native bridge and fell through to generic.
(closes issue #12815)
Reported by: ramonpeek


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@121442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 12:52:06 +00:00
Russell Bryant
a3e4233c7d Do not attempt to do emulation if an END digit is received and the length is
less than the defined minimum digit length, and the other end only wants END
digits (SIP INFO, for example).

(closes issue #12778)
Reported by: tsearle
Patches:
      12778.rev1.txt uploaded by russell (license 2)
Tested by: tsearle


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@121280 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-09 16:35:40 +00:00
Joshua Colp
7b230ded04 Fix a log message and add a message for when the dialplan is done reloading.
(closes issue #12716)
Reported by: chappell
Patches:
      dialplan_reload_2.diff uploaded by chappell (license 8)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@120282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-04 13:31:09 +00:00
Jeff Peeler
27855de29f (closes issue #11594)
Reported by: yem
Tested by: yem

This change decreases the buffer size allocated on the stack substantially in config_text_file_load when LOW_MEMORY is turned on. This change combined with the fix from revision 117462 (making mkintf not copy the zt_chan_conf structure) was enough to prevent the crash.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@120173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 22:15:33 +00:00
Tilghman Lesher
98b11ad0ee When listing the manager users, managers in users.conf are not shown, even
though they are allowed to connect.
(closes issue #12594)
 Reported by: bkruse
 Patches: 
       12594-managerusers-2.diff uploaded by qwell (license 4)
 Tested by: bkruse


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@120061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-03 18:23:32 +00:00
Russell Bryant
8a9d52bc7f Improve CLI command blacklist checking for the command manager action. Previously,
it did not handle case or whitespace properly.  This made it possible for blacklisted
commands to get executed anyway.
(closes issue #12765)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119742 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 14:39:45 +00:00
Joshua Colp
9f123152fa Fix a bug I found while testing for another issue.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-30 19:46:37 +00:00
Russell Bryant
9a01bdae26 Fix a race condition in channel autoservice. There was still a small window of opportunity
for a DTMF frame, or some other deferred frame type, to come in and get dropped.

(closes issue #12656)
(closes issue #12656)
Reported by: dimas
Patches:
      v3-12656.patch uploaded by dimas (license 88)
	  -- with some modifications by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@119156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 22:24:29 +00:00
Tilghman Lesher
65808210e9 Add some debugging code that ensures that when we do deadlock avoidance, we
don't lose the information about how a lock was originally acquired.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:20:16 +00:00
Steve Murphy
e58b5c63c6 (closes issue #10668)
(closes issue #11721)
(closes issue #12726)
Reported by: arkadia
Tested by: murf

These changes:

1. revert the changes made via bug 10668; 
   I should have known that such changes,
   even tho they made sense at the time,
   seemed like an omission, etc, were actually
   integral to the CDR system via forkCDR.
   It makes sense to me now that forkCDR didn't
   natively end any CDR's, but rather depended
   on natively closing them all at hangup time
   via traversing and closing them all, whether
   locked or not. I still don't completely 
   understand the benefits of setvar and answer
   operating on locked cdrs, but I've seen 
   enough to revert those changes also, and
   stop messing up users who depended on that
   behavior. bug 12726 found reverting the changes
   fixed his changes, and after a long review
   and working on forkCDR, I can see why.
2. Apply the suggested enhancements proposed
   in 10668, but in a completely compatible
   way. ForkCDR will behave exactly as before,
   but now has new options that will allow some
   actions to be taken that will slightly 
   modify the outcome and side-effects of
   forkCDR. Based on conversations I've had 
   with various people, these small tweaks
   will allow some users to get the behavior
   they need. For instance, users executing
   forkCDR in an AGI script will find the
   answer time set, and DISPOSITION set, 
   a situation not covered when the routines
  were first written.
3. A small problem in the cdr serializer
   would output answer and end times even
   when they were not set. This is now 
   fixed.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 00:25:28 +00:00
Tilghman Lesher
1a73396c9d When showing an error message for a command, don't shorten the command output,
as it tends to confuse the user (it's fine for suggesting other commands,
however).
 Reported by: seanbright (on #asterisk-dev)
 Fixed by: me


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 19:15:27 +00:00
Tilghman Lesher
7ca3880d4e NULL character should terminate only commands back to the core, not log
messages to the console.
(closes issue #12731)
 Reported by: seanbright
 Patches: 
       20080527__bug12731.diff.txt uploaded by Corydon76 (license 14)
 Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-27 18:58:09 +00:00
Russell Bryant
a3d59980ea Don't declare a function that takes variable arguments as inline, because it's
not valid, and on some compilers, will emit a warning.

http://gcc.gnu.org/onlinedocs/gcc/Inline.html#Inline

(closes issue #12289)
Reported by: francesco_r
Patches by Tilghman, final patch by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@118048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 12:30:53 +00:00
Tilghman Lesher
2454daba41 Also remove preamble from asynchronous events (reported by jsmith on #asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 18:53:53 +00:00
Tilghman Lesher
0b0f6a1a58 Strip the preamble from the output also when -rx is not being used
(Related to issue #12702)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:40:14 +00:00
Russell Bryant
67634386e9 Don't filter the magic character in the network verboser. It gets filtered
once it reaches the client.
(related to issue #12702, pointed out by tilghman)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:28:46 +00:00
Russell Bryant
2c4b2d92dd 1) Don't print the verbose marker in front of every message from ast_verbose()
being sent to remote consoles.

2) Fix pbx_gtkconsole to filter out the verbose marker.

(related to issue #12702)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:19:34 +00:00
Russell Bryant
8183ebfbcc Don't display the verbose marker for calls to ast_verbose() that do not include
a VERBOSE_PREFIX in front of the message.
(closes issue #12702)
Reported by: johnlange
Patched by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@117479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-21 18:11:51 +00:00
Russell Bryant
4b2a679f9e Add ast_assert(), which can be used to handle fatal errors. It is only compiled
in if dev-mode is enabled, and only aborts if DO_CRASH is defined.
(inspired by issue #12650)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@116463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:32:00 +00:00
Joshua Colp
66bf888d62 Add linux-gnueabi in.
(closes issue #12529)
Reported by: tzafrir


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@116352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 18:53:39 +00:00
Mark Michelson
1167869a80 A change to the way channel locks are handled when DEBUG_CHANNEL_LOCKS is defined.
After debugging a deadlock, it was noticed that when DEBUG_CHANNEL_LOCKS
is enabled in menuselect, the actual origin of channel locks is obscured
by the fact that all channel locks appear to happen in the function
ast_channel_lock(). This code change redefines ast_channel_lock to be a
macro which maps to __ast_channel_lock(), which then relays the proper
file name, line number, and function name information to the core lock
functions so that this information will be displayed in the case that
there is some sort of locking error or core show locks is issued.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@116088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 23:47:49 +00:00
Russell Bryant
92ff649dd6 Fix an issue that I noticed in autoservice while mmichelson and I were debugging
a different problem.  I noticed that it was theoretically possible for two threads
to attempt to start the autoservice thread at the same time.  This change makes the
process of starting the autoservice thread, thread-safe.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 21:05:57 +00:00
Tilghman Lesher
2fc71fe563 If the socket dies (read returns 0=EOF), return immediately.
(Closes issue #12637)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-13 18:36:13 +00:00
Mark Michelson
f1696e2133 If a thread holds no locks, do not print any information on the thread when issuing
a core show locks command. This will help to de-clutter output somewhat.

Russell said it would be fine to place this improvement in the 1.4 branch, so that's
why it's going here too.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-12 17:51:14 +00:00
Russell Bryant
4a1081e590 Don't use a channel before checking for channel allocation failure.
(closes issue #12609)
Reported by: edantie


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-08 15:24:54 +00:00
Tilghman Lesher
273afe2080 Don't print the terminating NUL. (Closes issue #12589)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115415 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-06 19:31:39 +00:00
Tilghman Lesher
869b7b2b4d Separate verbose output from CLI output, by using a preamble.
(closes issue #12402)
 Reported by: Corydon76
 Patches: 
       20080410__no_verbose_in_rx_output.diff.txt uploaded by Corydon76 (license 14)
       20080501__no_verbose_in_rx_output__1.4.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 22:50:31 +00:00
Tilghman Lesher
dceb0835da '#' is another reserved character for URIs that also needs to be escaped.
(closes issue #10543)
 Reported by: blitzrage
 Patches: 
       20080418__bug10543.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@115017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-01 18:59:08 +00:00
Russell Bryant
2f6cbc76ec Improve some broken cookie parsing code. Previously, manager login over HTTP
would only work if the mansession_id cookie was first.  Now, the code builds
a list of all of the cookies in the Cookie header.  This fixes a problem
observed by users of the Asterisk GUI.
(closes AST-20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 22:18:12 +00:00
Russell Bryant
74694c686d Fix an issue that caused getting the correct next channel to not always work.
Also, remove setting the amount of time to wait for a digit from 5 seconds back
down to 1/10 of a second.  I believe this was so the beep didn't get played over
and over really fast, but a while back I put in another fix for that issue.

(closes issue #12498)
Reported by: jsmith
Patches:
      app_chanspy_channel_walk.trunk.patch uploaded by jsmith (license 15)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 20:49:18 +00:00
Russell Bryant
f8848a7fe8 Store the manager session ID explicitly as 4 byte ID instead of a ulong. The
mansession_id cookie is coded to be limited to 8 characters of hex, and this
could break logins from 64-bit machines in some cases.
(inspired by AST-20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114591 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 17:55:31 +00:00
Joshua Colp
d4ebf1dff1 Instead of stopping dialplan execution when SayNumber attempts to say a large number that it can not print out a message informing the user and continue on.
(closes issue #12502)
Reported by: bcnit


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-23 14:54:11 +00:00
Russell Bryant
b3a211bdc3 I thought I was going to be able to leave 1.4 alone, but that was not the case.
I ran into some problems with G.722 in 1.4, so I have merged in all of the fixes
in this area that I have made in trunk/1.6.0, and things are happy again.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114550 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-22 21:14:55 +00:00
Russell Bryant
c8c2c33550 Don't destroy a manager session if poll() returns an error of EAGAIN.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114284 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-18 21:48:06 +00:00
Mark Michelson
f32e7af11a Clearing up error messages so they make a bit more sense. Also removing a redundant error
message.

Issue AST-15



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-18 17:44:29 +00:00
Russell Bryant
46c685af6c Remove redundant safety net. The check for the autoservice channel list state
accomplishes the same goal in a better way.

(issue #12470)
Reported By: atis


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-17 22:15:43 +00:00
Mark Michelson
171a6a24bb Add prototype for ast_dsp_frame_freed. I'm not sure how this was
compiling before...



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114211 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-17 16:50:46 +00:00
Mark Michelson
71b704ef78 It was possible for a reference to a frame which was part of a freed DSP to still be
referenced, leading to memory corruption and eventual crashes. This code change ensures
that the dsp is freed when we are finished with the frame. This change is very similar
to a change Russell made with translators back a month or so ago.

(closes issue #11999)
Reported by: destiny6628
Patches:
      11999.patch uploaded by putnopvut (license 60)
Tested by: destiny6628, victoryure



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-17 16:28:03 +00:00
Mark Michelson
524efc5cd5 Increase the retry count when attempting to show channels. This apparently
cleared an issue someone was seeing when attempting to show channels when
the load was high.

(closes issue #11667)
Reported by: falves11
Patches:
      11677.txt uploaded by russell (license 2)
Tested by: falves11



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-14 17:41:03 +00:00
Mark Michelson
f689fffa71 Save a local copy of the generate callback prior to unlocking the channel in
case the generate callback goes NULL on us after the channel is unlocked. Thanks
to Russell for pointing this need out to me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-14 14:58:02 +00:00
Joshua Colp
19b8841503 Don't change the SSRC when a new source comes into play, this might happen quite often and depending on the remote side... they might not like this.
(closes issue #12353)
Reported by: dimas


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114100 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-14 13:52:49 +00:00
Jason Parker
6007dc7814 It's possible that a channel can have an async goto on the successful execution of an application as well.
Closes issue #12172.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-11 21:35:16 +00:00
Mark Michelson
1a9b7dc5c5 Fix 1.4 build when LOW_MEMORY is enabled.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114051 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 20:59:49 +00:00
Jason Parker
6d08d42e0e Only try to prefix language if we are not using an absolute path (suffix it otherwise).
en/var/lib/asterisk/sounds/blah.gsm is a very silly path.

(closes issue #12379)
Reported by: kuj
Patches:
      12379-absolutepath.diff uploaded by qwell (license 4)
Tested by: kuj, qwell


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@114035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 17:26:10 +00:00
Jason Parker
6ba9909eda Work around some silliness caused by sys/capability.h - this should fix compile errors a number of users have been experiencing.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@113402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 16:56:52 +00:00