Commit Graph

11816 Commits

Author SHA1 Message Date
Tilghman Lesher
f75916e7be We went to the trouble of creating a method of tracking failed trylocks, then never turned it on (oops).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 19:09:06 +00:00
Olle Johansson
044aa79799 Bug fixes to tdd support in zaptel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 18:53:37 +00:00
Russell Bryant
3946288786 If someone were to delete the files used by an existing MOH class, and then
issue a reload, further use of that class could result in a crash due to
dividing by zero.  This set of changes fixes up some places to prevent this
from happening.

(closes issue #10948)
Reported by: jcomellas
Patches:
      res_musiconhold_division_by_zero.patch uploaded by jcomellas (license 282)
	  Additional changes added by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 18:20:07 +00:00
Steve Murphy
712b337863 closes issue #8786 - where the [catname](!) and [catname](othercat1,othercat2,...) notation gets dropped across a ConfigUpdate (or any other thing that would cause a config file to be written). While I was at it, I also cleaned up some of the destroy routines to free up comments, which was not being done. Made sure the new struct I introduced is also cleaned up properly at destruction time. My code handles multiple template inclusions. Many thanks to ssokol for his patch, which, while not literally used in the final merge, served as a foundation for the fix.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 17:52:50 +00:00
Joshua Colp
cac21aa19b Make it so that if a peer is determined to be unreachable using qualify their devicestate will report back unavailable.
(closes issue #11006)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 17:08:05 +00:00
Joshua Colp
8b309c7bb9 Fix improbable but possible memory leaks in chan_zap.
(closes issue #11166)
Reported by: eliel
Patches:
      chan_zap.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 16:24:56 +00:00
Russell Bryant
c60344fd8e Remove some checks to see if locks are initialized from the non-DEBUG_THREADS
versions of the lock routines.  These are incorrect for a number of reasons:
 - It breaks the build on mac.
 - If there is a problem with locks not getting initialized, then the proper
   fix is to find that place and fix the code so that it does get initialized.
 - If additional debug code is needed to help find the problem areas, then this
   type of things should _only_ be put in the DEBUG_THREADS wrappers.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 13:50:15 +00:00
Kevin P. Fleming
2c76da2828 update comment to match the state of the code
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88862 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 02:52:05 +00:00
Mark Michelson
7b59a194a5 Reworked deadlock avoidance in __ast_read. Restored audio to
callback agents.

(closes issue #11071, reported by callguy, patched by me, tested by callguy and Ted Brown)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88826 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 23:29:29 +00:00
Russell Bryant
34002d567b After seeing crashes related to channel variables, I went looking around at the
ways that channel variables are handled.  In general, they were not handled in
a thread-safe way.  The channel _must_ be locked when reading or writing from/to
the channel variable list.

What I have done to improve this situation is to make pbx_builtin_setvar_helper()
and friends lock the channel when doing their thing.  Asterisk API calls almost 
all lock the channel for you as necessary, but this family of functions did not.

(closes issue #10923, reported by atis)
(closes issue #11159, reported by 850t)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 22:07:54 +00:00
Russell Bryant
ea00780d49 When traversing the list of channel variables here in transmit_invite(), the
asterisk channel must be locked, as this data may change at any time.

(I have seen numerous reports of crashes related to the handling of channel
variables.  There are a couple of issues on the bug tracker related to it,
but it has also been noted on IRC and mailing lists.  So, I am finding and
fixing some places where channel variables are handled improperly.) 


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88768 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:33:56 +00:00
Russell Bryant
69e42e6096 Fix up some indentation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:21:39 +00:00
Russell Bryant
5d140cb9c2 Merge changes from asterisk/team/kpfleming/SRV-priority-handling
Previously, the SRV record support in Asterisk was broken.  There was no
guarantee on what record Asterisk would choose to actually use.  This set of
changes improves the situation by ensuring that Asterisk will choose the
highest priority record.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88719 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 20:40:01 +00:00
Russell Bryant
9cb94c7cde Merge the last bit of changes from asterisk/team/russell/readq-1.4
The issue here is that the channel frame readq handling got broken when the
code was converted to use the linked list macros.  It caused corruption of the
list head and tail pointers.  So, I fixed up the usage of the linked list
macros and in passing, simplified the code.  I also documented what the code
is doing, as it was a bit difficult to figure out at first.

This bug showed itself with crashes showing messed up head/tail pointers for
the readq.  However, there are a couple of crashes that aren't quite as obvious,
but I think may be related.  So, if your bug gets closed by this commit, but
you still have a problem, please reopen or create a new bug report.

(closes issue #10936)
(closes issue #10595)
(closes issue #10368)
(closes issue #11084)
(closes issue #10040)
(closes issue #10840)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 20:11:04 +00:00
Joshua Colp
10c172eb00 If a SIP channel is put on hold multiple times do not keep incrementing the onHold value.
(closes issue #11085)
Reported by: francesco_r
Tested by: blitzrage
(closes issue #10474)
Reported by: acennami


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 18:47:13 +00:00
Russell Bryant
a3af50b67d Fix up datastore handling in ast_do_masquerade(). The code is intended to move
any channel datastores from the old channel to the new one.  However, it did
not use the linked list macros properly to accomplish the task.  The existing
code would only work if there was only a single datastore on the old channel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 17:46:02 +00:00
Jason Parker
7fa3a53ec2 Make sure we destroy the config structure on configuration failure.
Issue 11163, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 17:19:41 +00:00
Tilghman Lesher
1d5bf38048 Don't check used pooled connections for connection status, as it will cause issues for prepared queries.
Reported by: Nick Gorham (via -dev list)
Patch by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 16:20:13 +00:00
Luigi Rizzo
a0edff2477 Rename ast_string_field_free_pool to ast_string_field_free_memory,
and ast_string_field_free_all to ast_string_field_reset_all
to avoid misuse (due to too similar names and an error in
documentation). Fix two related memory leaks in app_meetme.

No need to merge to trunk, different fix already applied there.
Not applicable to 1.2



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88471 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-04 22:38:13 +00:00
Joshua Colp
986e8a3ae8 Make subscribecontext behave as advertised. It will now look for the presence of a hint in the given context (be it subscribecontext or context).
(closes issue #10702)
Reported by: slavon


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 20:49:45 +00:00
Joshua Colp
e49faa404a If an INFO request within a dialog is received with a content length of 0 simply send back a 200 OK. It is valid to do this and the remote side is probably using it to make sure the signalling is still alive.
(closes issue #5747)
Reported by: chandi
Patches:
      infofix-81430-1.patch uploaded by IgorG (license 20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88328 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 20:20:21 +00:00
Jason Parker
fc0439dde4 We need to make sure to specify a language to ast_fileexists, otherwise it may fail for anything besides en
Issue 11147, fix discovered by both citats and myself (independently), with input from Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 16:51:08 +00:00
Tilghman Lesher
014b83fad6 Fix build on Solaris
Reported by: snuffy
Patch by: ys
Closes issue #11143


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 13:03:03 +00:00
Tilghman Lesher
9c6615d585 Add some notes on using valgrind
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 17:17:56 +00:00
Jason Parker
ac6218741f Make sure we set the poll fds to NULL after free()ing it.
Part of issue 11017, patch by tzafrir.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 16:21:22 +00:00
Joshua Colp
f66e8c91ea Fix up commit for my Zap channel with spies in Meetme fix. (thanks Tony Mountifield!)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@88026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 13:27:37 +00:00
Joshua Colp
7ee6cdf0c7 If a Zap channel contains a spy or a spy is added take it out of the conference in kernel space and make it go through Asterisk so the spy gets audio from both sides.
(closes issue #10060)
Reported by: mparker


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 01:53:55 +00:00
Jason Parker
f43de2908a Make sure we free some allocated memory before returning.
Issue 11131, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87908 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 21:23:11 +00:00
Jason Parker
40cd95fc27 Don't try to allocate memory that we're just going to re-allocate later anyways.
Issue 11130, patch by eliel.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 21:16:20 +00:00
Tilghman Lesher
ad17919cd8 Create samples for ALL of the available options in asterisk.conf
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 18:03:53 +00:00
Steve Murphy
3176ba94c3 closes issue #11108 -- where the 'dialplan save' cli command saves a file 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@87849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 17:49:39 +00:00
Steve Murphy
6addd141d9 Included some verbage in the check_includes func, to inform the user that 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@87775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-31 03:51:52 +00:00
Tilghman Lesher
1d34377a9c Fix for uninitialized mutexes on *BSD
Reported by: ys
Fixed by: ys
Closes issue #11116


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87739 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 23:02:22 +00:00
Russell Bryant
1561187fc4 Merge the changes from team/russell/iax2_poke_fix and iax2-poke-fix-trunk
There was a race condition related to the handling of POKEing peers.  Essentially, 
a reference to a peer is held by the scheduler when there are pending callbacks, 
but the reference count didn't reflect it.  So, it was possible for a peer to hit
a reference count of zero and have its destructor begin to be called at the same
time that the scheduler thread ran a POKE related callback.  If that happened,
a crash would likely occur.

(closes issue #11082, closes issue #11094)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87686 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 21:19:09 +00:00
Jason Parker
fc51acbc73 Only try to clean out h323/ if the h323/Makefile exists.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 20:29:41 +00:00
Joshua Colp
8f4659cc89 Add two more checks before printing out a warning message about bridging. If either channel has hungup of course the bridge will have failed.
(closes issue #10009)
Reported by: dimas


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 16:13:39 +00:00
Jason Parker
4df0c83be7 Fix build of editline on Solaris.
Issue 11113, patch by snuffy.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 15:45:35 +00:00
Joshua Colp
06e768e60d Return 1.4 to a state where it builds. Changing the arguments to a function and not changing where they are used is bad, mmmk?
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87534 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 15:10:13 +00:00
BJ Weschke
c0d2b5b16d Fix issue where the recorded name wasn't getting removed correctly.
(closes issue #11115) 
 Reported by: davevg
 Patches:
    followme-v3.diff


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-30 14:31:45 +00:00
Kevin P. Fleming
8fc2e21cb9 missed one directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:13:51 +00:00
Kevin P. Fleming
f0c0dfe1f1 clean up (and ignore) assembler and preprocessor intermediate files if any are created during the build
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:12:16 +00:00
Kevin P. Fleming
bb778cb3b9 don't put '-pipe' into ASTCFLAGS if '-save-temps' is already there (used when debugging preprocessor issues) because the compiler will whine about each compile command
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 22:04:29 +00:00
Mark Michelson
a4c50fdd7b Removing a completely unnecessary quota check from IMAP code.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87427 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 21:06:31 +00:00
Russell Bryant
b2382349dc Add some more details to the output of "core show locks". When a thread
is waiting for a lock, this will now show the details about who currently
has it locked.
(inspired by issue #11100)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87396 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 20:22:07 +00:00
Russell Bryant
fd7bc75ce9 Remove a lock that doesn't make any sense. The regions lock needs to be held
when traversing the list of allocated chunks so that they can be printed out
to the CLI.
(Thanks to eliel on #asterisk-dev for pointing this out!)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 19:21:06 +00:00
Joshua Colp
143536912e Fix issue where if both sides of the dialog cancelled the dialog at the same time chan_sip could kepe retransmitting a response for no reason.
(closes issue #9566)
Reported by: atca_pres
Patches:
      bug9566.patch uploaded by oej


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 17:20:28 +00:00
Jason Parker
71319ccaa9 Allow some function modules to compile under dev mode.
Issue 11104, patch by andrew.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 17:13:04 +00:00
Joshua Colp
7fc2c32a92 Fix issue with ast_unescape_semicolon going into an endless loop.
(closes issue #10550)
Reported by: ramonpeek
Patches:
      unescape-85177-1.patch uploaded by IgorG (license 20)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-29 14:23:49 +00:00
Tilghman Lesher
18eafd3074 Add autoservice to several more functions which might delay in their responses.
Also, make sure that func_odbc functions have a channel on which to set
variables.
Reported by russell
Fixed by tilghman
Closes issue #11099


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@87262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-28 13:46:55 +00:00
Steve Murphy
4c7393a6a4 closes issue #11086 where a user complains that references to following 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@87168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 16:34:02 +00:00