dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

54 Commits

Author SHA1 Message Date
qwell 015b65c8bc Move code from res_features into (new file) main/features.c
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100039 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-23 23:09:11 +00:00
file a995706a85 Move ModuleLoad and ModuleCheck manager commands from loader.c to manager.c. Previously they would get registered twice because of the way manager.c operates.
(closes issue #11699)
Reported by: caio1982
Patches:
      manager_module_commands1.diff uploaded by caio1982 (license 22)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@96858 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-07 15:52:55 +00:00
rizzo 01a256ce24 some cleanup of this code while I am trying to debug a problem with
gdb dying while debugging asterisk. The problem seems to be related
with a race in the handling of module_list, which in turn is triggeded
by calling dlopen() on a system which uses initializers to create
locks.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@95772 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-02 09:16:17 +00:00
oej 4f471e1f71 Merged revisions 91366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r91366 | oej | 2007-12-06 13:54:11 +0100 (Tor, 06 Dec 2007) | 4 lines

Make sure logger is reloaded at general reload in the cli.

(Discovered during Asterisk training in Portugal)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91384 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-06 14:23:12 +00:00
oej fecacc7468 More "moremanager" fixes. Manager commands to check module status.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89771 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27 21:04:29 +00:00
rizzo de2db05332 remove a bunch of useless #include "options.h"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89511 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:09:02 +00:00
rizzo 89d8d78652 move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 23:16:15 +00:00
rizzo 8d3385f534 move internal function declarations to include/asterisk/_private.h
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89465 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 22:18:21 +00:00
kpfleming 7c35bb6a7f switch compile-time option checking to string storage mode in this branch too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89463 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-20 19:28:10 +00:00
rizzo 0cc47e4221 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89425 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19 19:09:03 +00:00
rizzo 4dfe6b5327 define RTLD_LOCAL for platforms that don't have it.
This is only to complete the build, clearly the linker
behaviour will be completely different and likely to
cause trouble in those cases.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89367 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17 09:51:45 +00:00
rizzo 883346d64a Start untangling header inclusion in a way that does not affect
build times - tested, there is no measureable difference before and
after this commit.

In this change:

use asterisk/compat.h to include a small set of system headers:
inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h,
stdlib.h, alloca.h, stdio.h

Where available, the inclusion is conditional on HAVE_FOO_H as determined
by autoconf.

Normally, source files should not include any of the above system headers,
and instead use either "asterisk.h" or "asterisk/compat.h" which does it
better. 

For the time being I have left alone second-level directories
(main/db1-ast, etc.).



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 20:04:58 +00:00
kpfleming 3dc676ceb8 Merged revisions 89325 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89325 | kpfleming | 2007-11-16 10:47:46 -0600 (Fri, 16 Nov 2007) | 4 lines

To help combat problems where people build external modules (asterisk-addons or others) and then change the build options of the Asterisk build in a way that makes the incompatible without warning, this commit introduces an MD5 signature of the important build-time options and includes that signature into modules when they are built. When the loader loads one of these modules and notices the problem, it will emit a warning to console and refuse to initialize the module, as doing so could cause the system to be unstable or even crash.

If you upgrade to this version of Asterisk, you must rebuild *all* of your modules that came from other sources before trying to run this version. If you are using Digium's G.729 binary codec module, you will need v33 or newer.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89326 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 16:56:59 +00:00
kpfleming a45a413db3 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-08 05:28:47 +00:00
rizzo ea232993a0 remove a debugging message which i forgot in.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89083 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-07 11:33:55 +00:00
rizzo 38f484f179 Fix embedding of modules on FreeBSD:
the constructor for the list of modules was run
after the constructors for the embedded modules
(which appended entries to the list).
As a result, the list appeared empty when it was
time to use it.

On linux the order of execution of constructor
was evidently different (it may depend on the
ordering of modules in the ELF file).

This is only a workaround - there may be other
situations where the execution of constructors
causes problems, so if we manage to find a more
general solution this workaround can go away.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89031 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06 17:05:13 +00:00
kpfleming 461aebe81f merging patches that don't compile is bad... mmkay?
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86695 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 14:56:05 +00:00
file f22fed5270 Merged revisions 86630 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86630 | file | 2007-10-22 10:33:23 -0300 (Mon, 22 Oct 2007) | 6 lines

Fixes for building under OpenSolaris.
(closes issue #11047)
Reported by: snuffy
Patches:
      11047-fixes.diff uploaded by snuffy (license 35)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86631 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 13:36:13 +00:00
tilghman dbec3d56c1 Don't reload a configuration file if nothing has changed.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16 21:09:46 +00:00
russell 4f3c4dc7f2 Do a massive conversion for using the ast_verb() macro
(closes issue #10277, patches by mvanbaak)

Basically, this changes ...

if (option_verbose > 2)
   ast_verbose(VERBOSE_PREFIX_3, "Something\n");

to ...

ast_verb(3, "Something\n");


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77299 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26 15:49:18 +00:00
murf 77f799ff1e After some study, thought, comparing, etc. I've backed out the previous universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75983 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19 23:24:27 +00:00
tilghman 74c2948c22 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18 19:47:20 +00:00
murf cdfb9990ad via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75400 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 19:40:29 +00:00
russell 438cb82e0f Conversions to ast_debug()
(issue #9984, patches from eliel and dimas)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71338 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-24 18:51:41 +00:00
russell 7a0fe5c93f Convert uses of strdup() to ast_strdup()
(issue #9983, eliel)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69436 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-14 23:01:01 +00:00
tilghman eb5d461ed4 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-06 21:20:11 +00:00
russell 3e6e0efc4f Merged revisions 67308 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r67308 | russell | 2007-06-05 10:51:53 -0500 (Tue, 05 Jun 2007) | 5 lines

When shutting down "gracefully", go through and run the unload() callbacks for
all of the modules.  "stop now" is considered a non-graceful shutdown and will
not go through this process.
(issue #9804, reported by chrisost, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67310 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-05 15:54:36 +00:00
oej acabbccc5f Constifications
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@63240 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-07 19:03:53 +00:00
kpfleming dd12ee9a9b Merged revisions 62986 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r62986 | kpfleming | 2007-05-03 11:38:56 -0500 (Thu, 03 May 2007) | 2 lines

improve loader a bit, by avoiding trying to initialize embedded modules twice and avoiding trying to load modules from disk when they have been loaded already during the 'preload' pass (reported by blitzrage on IRC, patch by me)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62988 f38db490-d61c-443f-a65b-d21fe96a405b
2007-05-03 16:43:49 +00:00
qwell e12ada3711 Merged revisions 61705 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r61705 | qwell | 2007-04-20 16:15:29 -0500 (Fri, 20 Apr 2007) | 12 lines

Merged revisions 61704 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61704 | qwell | 2007-04-20 16:14:27 -0500 (Fri, 20 Apr 2007) | 4 lines

Fix an issue that I noticed while looking over issue 9571.

The reload timestamp was getting set after reloading the built-in stuff, and before the modules.

........

................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-20 21:16:14 +00:00
file 1e147049a5 It is possible for mod to become invalid after we unload it (if it's a dynamic module) so move it around a bit.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59051 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-19 22:32:40 +00:00
file ad62ae0f76 Make the loader less noisy under valgrind.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58286 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-07 20:05:05 +00:00
kpfleming ac1f0d5427 give embedded modules a helping hand by backing up and restoring their global variables when they are loaded and unloaded
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56092 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-22 02:36:00 +00:00
tilghman 31d7b2af85 Merged revisions 53532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r53532 | tilghman | 2007-02-08 07:47:54 -0600 (Thu, 08 Feb 2007) | 2 lines

Issue 9007 - Mutex not released on early return

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53533 f38db490-d61c-443f-a65b-d21fe96a405b
2007-02-08 13:50:33 +00:00
oej 30d943f918 Take two, using find_resource on Kevin's suggestion.
Might need better locking support, giving up if we can't get the lock. Right now,
using existing locking in find_resource


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46582 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-31 08:08:56 +00:00
oej eb896134ce Adding dialplan function IFMODULE, so you can create dialplans that handle
various PBX installations and checks if a module is loaded before using
it.
	example IFMODULE(chan_sip3.so)

issue #6671 in the bug tracker, finally gone. Thanks to mithraen for keeping
it updated.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@46513 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-30 21:48:41 +00:00
file 577ae460a7 Merged revisions 45817 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r45817 | file | 2006-10-21 14:48:58 -0400 (Sat, 21 Oct 2006) | 2 lines

Don't use promotion on Darwin because it doesn't seem to work quite right in all cases, this should solve the unresolved symbol issue people have been seeing.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@45820 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-21 18:52:33 +00:00
kpfleming cdae839f80 Merged revisions 44322 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r44322 | kpfleming | 2006-10-03 19:25:44 -0500 (Tue, 03 Oct 2006) | 3 lines

ensure that local include files are always used
avoid a duplicate function name (term_init())

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44323 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-04 00:26:21 +00:00
mogorman 4a1aaf52ae bug #8076 check option_debug before printing to debug channel.
patch provided in bugnote, with minor changes.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44253 f38db490-d61c-443f-a65b-d21fe96a405b
2006-10-03 15:53:07 +00:00
anthonyl 8d0211a11e reveting modifaction to __ast_module_user_remove
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42965 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-15 05:00:27 +00:00
file 72f5cefffd Tweak changes that went in on revision 42891
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42910 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-13 22:45:44 +00:00
anthonyl 21aead3d65 small fix for 7944
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@42891 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-13 19:27:27 +00:00
kpfleming d60ef591f3 ensure that unload_dynamic_module won't continue dereferencing a module pointer after the module has been unloaded from memory
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41196 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-26 19:45:16 +00:00
kpfleming e5a4e12aac instead of reverting this supposedly 'stupid' change, let's try to get it working properly
also eliminate a warning from dlopen() because some flags were missing on the second dlopen() call


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41087 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-25 16:14:00 +00:00
mattf 9d58eaef92 Revert stupid RTLD_NOLOAD change that breaks module loading on some systems.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40981 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-24 17:24:33 +00:00
kpfleming 6d8a5523b3 use RTLD_NOLOAD if it's available to make loading dynamic modules a little faster and less resource-intensive
also, keep trying to dlclose() a module until it actually goes away, since it may have other modules it brought in when it was loaded (thanks PCadach for pointing this problem out to me)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40949 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-23 19:28:13 +00:00
kpfleming 836b1b86ff generate a message when a module cannot be found and loadable modules are disabled
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40866 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 23:55:16 +00:00
kpfleming a1b6a77192 minor improvements
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40863 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 23:06:13 +00:00
kpfleming 3048972a9d when loadable modules are disabled, if someone tries to load a module that does not exist, don't dereference a NULL pointer, just stop trying to load it...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40854 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-22 21:57:16 +00:00
kpfleming ad5b13c982 restore 'preload' functionality in loader
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40796 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-21 22:23:26 +00:00