Commit Graph

183 Commits

Author SHA1 Message Date
Russell Bryant
92bd7f19f7 Merge team/russell/ast_verbose_threadstorage
- instead of defining a free() wrapper in a bunch of files, define it as
  ast_free() in utils.h and remove the copies from all the files.

- centralize and abstract the code used for doing thread storage. The code
  lives in threadstorage.h, with one function being implemented in utils.c.
  This new API includes generic thread storage as well as special functions
  for handling thread local dynamic length string buffers.

- update ast_inet_ntoa() to use the new threadstorage API
- update ast_state2str() to use the new threadstorage API
- update ast_cli() to use the new threadstorage API

- Modify manager_event() to use thread storage. Instead of using a buffer of
  4096 characters as the workspace for building the manager event, use a thread
  local dynamic string.  Now there is no length limitation on the length of the
  body of a manager event.

- Significantly simplify the handling of ast_verbose() ...
  - Instead of using a static char buffer and a lock to make sure only one
    thread can be using ast_verbose() at a time, use a thread local dynamic
    string as the workspace for preparing the verbose message. Instead of
    locking around the entire function, the only locking done now is when the
    message has been built and is being deliviered to the list of registered
    verbose message handlers.
  - This function was doing a strdup() on every message passed to it and
    keeping a queue of the last 200 messages in memory. This has been
    completely removed. The only place this was used was that if there were
    any messages in the verbose queue when a verbose handler was registered,
    all of the messages in the queue would be fed to it.  So, I just made sure
    that the console verbose handler and the network verbose handler (for
    remote asterisk consoles) were registered before any verbose messages.
    pbx_gtkconsole and pbx_kdeconsole will now lose a few verbose messages at
    startup, but I didn't feel the performance hit of this message queue was
    worth saving the initial verbose output for these very rarely used modules.
  - I have removed the last three arguments to the verbose handlers, leaving
    only the string itself because they aren't needed anymore. For example,
    ast_verbose had some logic for telling the verbose handler to add
    a newline if the buffer was completely full. Now that the buffer can grow
    as needed, this doesn't matter anymore.
  - remove unused function, ast_verbose_dmesg() which was to dispatch the
    message queue
  - Convert the list of verbose handlers to use the linked list macros.

- add missing newline characters to a few ast_verbose() calls

- convert the list of log channels to use the linked list macros in logger.c

- fix close_logger() to close all of the files it opened for logging

- update ast_log() to use a thread local dynamic string for its workspace
  for preparing log messages instead of a buffer of size BUFSIZ (8kB on my
  system) allocated on the stack.  The dynamic string in this case is limited
  to only growing to a maximum size of BUFSIZ.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 06:32:04 +00:00
Mark Spencer
f2a6636210 Allow updates to match specific lines, allow specification of object or
no when appending.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-29 22:02:37 +00:00
Russell Bryant
5830e9cb4f various cleanups regarding coding guidelines issues
- malloc to ast_malloc
 - malloc + memset to ast_calloc
 - sizeof(struct foo) to sizeof(*bar)
 - remove indentation of the entire body of a function by returning immediately
   on an allocation failure
(issue #7581, tempest1)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38088 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-23 02:41:02 +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
Mark Spencer
837910062b First pass at in-place file manipulation via manager
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37936 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-19 13:28:38 +00:00
Russell Bryant
c024569f28 malloc + memset to ast_calloc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-16 19:35:09 +00:00
North Antara
f83b709821 oops?
This should've been 5 chars..


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-15 20:02:20 +00:00
Tilghman Lesher
c929a15b79 Bug 7472 - Change line terminator for header to be RFC-compliant
Also, check to ensure the memory allocation didn't fail.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-04 00:16:33 +00:00
Olle Johansson
778d0f0c0a Formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@35502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-22 15:34:20 +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
9d53a3e7f5 - add a UserEvent action that allows a manager client to "broadcast" an event
to all connected manager clients
- update the UserEvent application to use the application argument parsing
  macros and to allow headers to be specified as pipe delimeted arguments
  (issue #5324, original patch by outtolunc, committed patch by Corydon)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-20 13:29:22 +00:00
Tilghman Lesher
d0c36296d2 As requested by kpfleming, renaming messagecount to inboxcount and messagecount2 to messagecount.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@28745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-19 18:21:31 +00:00
Olle Johansson
5237a0e06d - Use systemname for realm in sip, if we have no configuration for realm
- Optionally send systemname in manager (cool when you have a manager proxy)
- Use systemname in CLI prompt


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@26884 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-11 13:54:00 +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
Tilghman Lesher
3890d4e813 Bug 7114 - Originate success/failure indicator was reversed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-09 06:00:11 +00:00
Russell Bryant
4fe3960478 move ast_carefulwrite from manager.c to utils.c so that cli.c and
res_agi.c no longer depend on manager.h (issue #6397, casper)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@25026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-05-05 21:01:39 +00:00
Russell Bryant
8085f4e14b a bunch of conversion to ast_channel_*lock (issue #7058)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-29 14:50:18 +00:00
Luigi Rizzo
7d9c26dfea more NULL and "" equivalence in cid fields
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-21 10:31:23 +00:00
Tilghman Lesher
e462f79205 Bug 6943 - transition away from using CallerID header, when we really mean CallerIDNum
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-11 23:23:16 +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
Olle Johansson
f8f83ff9b8 Issue #6884 - manager.c formatting (casper)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-04 19:03:12 +00:00
Olle Johansson
141d9b693a - Doxygen additions
- Formatting fixes (read guidelines :-) )
- Removing compilation warnings


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-03 18:38:28 +00:00
Tilghman Lesher
5c1268c29d Bug 6861 - Routine should use the specified writetimeout, rather than the default
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-03 07:34:40 +00:00
Tilghman Lesher
552fb750f0 Bug 6862 - No need to initialize memory to zero twice
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@17028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-03 07:30:07 +00:00
Mark Spencer
77a48c6266 Minor cleanup in wakeup logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16975 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-02 20:11:55 +00:00
Mark Spencer
6cfd28423c Unify manager behind a single event queue
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16957 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-02 19:59:55 +00:00
Mark Spencer
c1d5485fe4 Make excessive debug optional
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16903 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-01 20:39:33 +00:00
Mark Spencer
bfba044b5f Flesh out the remainder of the manager + http changes and create a sample application to partially
demonstrate the capability of manager over http.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@16850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-04-01 08:49:54 +00:00
Luigi Rizzo
f148a4df0f more command completion normalization.
also change some explicit constant with sizeof()



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-28 23:52:21 +00:00
Russell Bryant
d0b003a427 conversions to S_OR (issue #6803)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-26 16:08:42 +00:00
Mark Spencer
9164eac21a Add micro-http server and abstract manager interface, make snmp not die
on reload.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@14953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-03-25 23:50:09 +00:00
Kevin P. Fleming
96bf384e7d major dialplan functions update
deprecate LANGUAGE() and MUSICCLASS(), in favor of CHANNEL()


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-12 04:28:58 +00:00
Russell Bryant
95151cead2 Merged revisions 9581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r9581 | russell | 2006-02-11 13:15:00 -0500 (Sat, 11 Feb 2006) | 2 lines

now that CDR is a loadable module, don't depend on it elsewhere (issue #6460)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@9582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-02-11 18:31:59 +00:00
Matt O'Gorman
428efda5a9 code clean up and macro implementation from
bug 6247


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-23 18:07:12 +00:00
Russell Bryant
6f71e1178e constify arguments in more places where strings should not be modified (issue #6286)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-18 22:17:31 +00:00
Kevin P. Fleming
065a368463 remove some more deprecated (pre-1.2) stuff
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8157 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 23:45:05 +00:00
Olle Johansson
69e9567874 Portability - compilation warning on Mac OS/X removed
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-17 19:03:04 +00:00
Tilghman Lesher
417d6b1793 Prepare for removal of DBGet/DBPut manager commands, by allowing Getvar to get functions (Setvar can already set functions)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@8078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-15 05:50:19 +00:00
Mark Spencer
be582e9f2a Remove unnecessary unlock (bug #6171)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-08 19:53:25 +00:00
Tilghman Lesher
d4ee9cb1a3 Bug 6162 - Constify manager_event arguments
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7853 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-07 15:23:38 +00:00
Kevin P. Fleming
a4f8d466e8 update copyright headers for files changed this year
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7751 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 22:16:23 +00:00
Kevin P. Fleming
a1a5e746ee add optional timestamps to manager events (issue #5535, simplified)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 22:07:12 +00:00
Olle Johansson
6e7962b5a1 Bug #5228: Add caller ID and CallerIDname to OriginateSuccess/Failure manager events (outtolunc)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-01-03 11:31:56 +00:00
Russell Bryant
a725468381 update doxygen docs to specify authors
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-30 21:18:06 +00:00
Tilghman Lesher
a19361c684 Bug 4880 - add priority label matching and dialplan function retrieval
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7658 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-27 19:13:13 +00:00
Tilghman Lesher
870f98f02d Bug 5858 - Make the chanvars.c functions return a 'const char *'
This should prevent us from unintentionally changing variable
values when they're returned from pbx_builtin_getvar_helper.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-12-03 19:25:33 +00:00
Kevin P. Fleming
2c65582b66 remove extraneous svn:executable properties
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-29 18:24:39 +00:00
Russell Bryant
685e88645f don't crash on setvar (issue #5760)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 18:35:30 +00:00
Josh Roberson
15705f94a7 Issue #5737
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-15 01:33:31 +00:00
Russell Bryant
d8dfa4434d finish merging doxygen updates from issue #5605
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2005-11-14 19:00:38 +00:00