Commit Graph

110 Commits

Author SHA1 Message Date
Tilghman Lesher
7060a6888d When deleting a task from the scheduler, ignoring the return value could
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@100465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-27 21:59:53 +00:00
Russell Bryant
665c498c52 Fix up setting the EID on BSD based systems.
(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: https://origsvn.digium.com/svn/asterisk/branches/1.4@98390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11 22:46:21 +00:00
Russell Bryant
93748ccb9c pbx_dundi only needs a rdlock on the contexts list.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@96022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 22:04:47 +00:00
Joshua Colp
796cc69527 Fix tab completion for dundi show peer.
(closes issue #11041)
Reported by: jsmith
Patches:
      asterisk-dundicomplete.diff.txt uploaded by jamesgolovich (license 176)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@86661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 14:05:26 +00:00
Russell Bryant
ca69081253 Ensure the buffer passed to ast_canmatch_extension() is properly initialized so
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@85556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-15 15:40:45 +00:00
Russell Bryant
a4dcd03dcb remove a todo item that has been completed
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@83976 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-27 00:01:29 +00:00
Russell Bryant
d6b8fb4dc0 gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@83432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 14:37:20 +00:00
Russell Bryant
885a35488a When copying the contents from the wildcard peer, do a deep copy instead of
shallow copy so that it doesn't crash when beging destroyed.
(closes issue #10546, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-18 16:31:01 +00:00
Russell Bryant
057505c5a3 The sample dundi.conf claims support for a wildcard peer entry - [*], but the
code did not support it.  This patch makes it work.
(closes issue #10546, patch by dds, with some changes by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 16:03:42 +00:00
Joshua Colp
f2ba32f8e9 (closes issue #10577)
Reported by: jamesgolovich
Patches:
      asterisk-dundifree.diff.txt uploaded by jamesgolovich (license 176)
Don't leak memory when unloading DUNDi.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-11 14:56:39 +00:00
Russell Bryant
dce43f8d32 revert unintentional changes in rev 81226
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81228 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 15:43:18 +00:00
Russell Bryant
9b1802ffa3 Add Russian tones. (closes issue #7953, hanabana)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-28 15:41:15 +00:00
Russell Bryant
a9c8aa431f Add a \todo to note that this module leaks most of the memory it allocates on
unload and should be fixed (when I'm not in the middle of something else ...).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81074 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-27 17:27:48 +00:00
Russell Bryant
264aeeca70 explicity define a variable as a boolean
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@81065 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-27 16:38:33 +00:00
Joshua Colp
f836d642f9 (closes issue #10224)
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@75583 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 14:18:53 +00:00
Joshua Colp
ce4e654f2c Few minor thread synchronization tweaks. (issue #10124 reported by gzero)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74045 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-09 14:49:05 +00:00
Joshua Colp
76c9d2be11 Make unloading of pbx_dundi actually work.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 00:58:35 +00:00
Russell Bryant
9aab046002 Merged revisions 53045 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r53045 | russell | 2007-01-31 15:25:11 -0600 (Wed, 31 Jan 2007) | 3 lines

Fix a bunch of places where pthread_attr_init() was called, but
pthread_attr_destroy() was not.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-31 21:32:08 +00:00
Kevin P. Fleming
ff05bf15c8 update thread creation code a bit
reduce standard thread stack size slightly to allow the pthreads library to allocate the stack+data and not overflow a power-of-2 allocation in the kernel and waste memory/address space
add a new stack size for 'background' threads (those that don't handle PBX calls) when LOW_MEMORY is defined


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@44378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 19:47:22 +00:00
Kevin P. Fleming
fcb999c01c merge qwell's CLI verbification work
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43212 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-18 19:54:18 +00:00
Matt O'Gorman
05a695af72 everything that loads a config that needs a config file to run
now reports AST_MODULE_LOAD_DECLINE when loading if config file
is not there, also fixed an error in res_config_pgsql where it 
had a non static function when it should.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@41633 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-31 21:00:20 +00:00
Kevin P. Fleming
0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Russell Bryant
ca9ba719b6 Merge a new implementation of ast_inet_ntoa, our thread safe replacement for
inet_ntoa, which uses thread specific data (aka thread local storage) instead
of stack allocatted buffers to store the result.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-21 17:31:28 +00:00
Kevin P. Fleming
472c1ca282 simplify autoconfig include mechanism (make tholo happy he can use lint again :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@32846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-07 18:54:56 +00:00
Russell Bryant
04ecb29d03 remove almost all of the checks of the result from ast_strdupa() or alloca().
As it turns out, all of these checks were useless, because alloca will never
return NULL.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-10 13:22:15 +00:00
Russell Bryant
b7c2ae9dba - use ast_calloc instead of malloc+memset
- conver one malloc to ast_malloc


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25356 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-07 15:19:13 +00:00
Russell Bryant
0765f065ca staticize the list heads from my recent conversions to list macros
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@24139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-02 04:40:09 +00:00
Russell Bryant
02eda146ac - convert permission lists to use list macros
- remove unused precachesend and precachereceive variables from dundi_peer

This concludes the visit to pbx_dundi ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 01:26:37 +00:00
Russell Bryant
5a60431c29 conver the lists of dundi packets to use the list macros
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 00:56:04 +00:00
Russell Bryant
7ce2726c09 - convert the dundi precache list to use the list macros
- change an instance of malloc+memset to ast_calloc


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-01 00:33:24 +00:00
Russell Bryant
b992d92742 - convert the lists of dundi_transactions to the list macros
- remove an unused variable, keypending, from the dundi_peer struct


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 23:01:50 +00:00
Russell Bryant
31cd56f76e remove unneeded define - it is already in asterisk.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:27:57 +00:00
Russell Bryant
03d005e472 convert the dundi_request list to use the list macros
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:24:10 +00:00
Russell Bryant
dbbe944da8 convert existing comments to doxygen format
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:15:53 +00:00
Russell Bryant
149e45924a fix indentation for this function
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:09:34 +00:00
Russell Bryant
fcb2809e45 immediately handle ast_strdupa result so that one more level of indentation
can be removed from this function


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:07:52 +00:00
Russell Bryant
ef775bbd66 fix the indentation of a large block
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:06:14 +00:00
Russell Bryant
ed320702d9 handle a memory allocation failure immediately so the following large block
does not have to be indented


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 05:02:07 +00:00
Russell Bryant
4cfcacf6c9 - convert the list of dundi mappings to use the list macros
- change an instance of malloc+memset to use ast_calloc, instead


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 04:59:36 +00:00
Russell Bryant
d9fa5f3c89 change a list traversal to use a for loop
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 04:28:47 +00:00
Russell Bryant
c7fea723a3 fix the indentation of a large block of code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 04:26:11 +00:00
Russell Bryant
059f0bd108 immediately handle a memory allocation failure so the rest of the function
doesn't have to be indented (indentation still to be fixed)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 04:23:09 +00:00
Russell Bryant
d66de679d9 - convert some comments to doxygen format
- convert the list of dundi peers to use the list macros
- convert a use of malloc+memset to use ast_calloc


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23463 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-30 04:20:20 +00:00
Russell Bryant
8682a7378d add a small optimization for deleting all the members of a list
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23271 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 04:13:07 +00:00
Kevin P. Fleming
574e14cbea Thanks to the fine work of Russell Bryant and Dancho Lazarov, we now have autoconf and menuselect tools for Asterisk!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@22267 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-24 17:11:45 +00:00
Luigi Rizzo
e43bc6634d This rather large commit changes the way modules are loaded.
As partly documented in loader.c and include/asterisk/module.h,
modules are now expected to return all of their methods and flags
into a structure 'mod_data', and are normally loaded with RTLD_NOW
| RTLD_LOCAL, so symbols are resolved immediately and conflicts
should be less likely.  Only in a small number of cases (res_*,
typically) modules are loaded RTLD_GLOBAL, so they can export
symbols.
 
The core of the change is only the two files loader.c and
include/asterisk/module.h, all the rest is simply adaptation of the
existing modules to the new API, a rather mechanical (but believe
me, time and finger-consuming!) process whose detail you can figure
out by svn diff'ing any single module.

Expect some minor compilation issue after this change, please
report it on mantis http://bugs.digium.com/view.php?id=6968
so we collect all the feedback in one place.

I am just sorry that this change missed SVN version number 20000!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@20003 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-14 14:08:19 +00:00
Kevin P. Fleming
f10f427d49 since the module API is changing, it's a good time to const-ify the description() and key() return values
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@18552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-08 22:01:19 +00:00
Tilghman Lesher
756c7cbb12 Bug 6873 - Finish moving from the non-threadsafe (and poor randomness) rand() to threadsafe ast_random()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-05 17:44:44 +00:00
Luigi Rizzo
6c232811c0 as discussed with Mark a few weeks ago, the 'newstack' argument
in pbx_exec is always 1 so it can be removed.

This change also takes away ast_exec_extension(), and lets all
switch functions (exists, canmatch, exec, matchmore) all use the same
prototype, which makes the code a bit cleaner.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-30 21:29:39 +00:00
Luigi Rizzo
d0bc6c20a7 - remove an unnecessary cast and recomputation of (timeout - now);
- remove useless recomputations of strlen(word) in a loop, and
  normalize the form of complete_peer_helper();
- move LOCAL_USER_ADD() to after the verification of arguments,
  thus removing the need for one LOCAL_USER_REMOVE() call.

The three chunks of the patch are fully disjoint.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15581 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 15:19:32 +00:00