Archived
14
0
Fork 0
Commit graph

75 commits

Author SHA1 Message Date
tilghman
6e814d6644 Starting with a change to ensure that ast_verbose() preserves ABI compatibility
in 1.6.1 (as compared to 1.6.0 and versions of 1.4), this change also
deprecates the use of Asterisk with FreeBSD 4, given the central use of va_copy
in core functions.  va_copy() is C99, anyway, and we already require C99 for
other purposes, so this isn't really a big change anyway.  This change also
simplifies some of the core ast_str_* functions.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@157639 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-19 01:02:45 +00:00
kpfleming
cc1b2c100f bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 branch, and add the ones needed for all the new code here too
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153616 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-02 18:52:13 +00:00
seanbright
9ae91f799a Another batch of files from RSW. The remaining apps and a few more
files from main/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@137089 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-10 20:23:50 +00:00
kpfleming
7ab3f69dea minor change to test automerge
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133819 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25 20:56:43 +00:00
mmichelson
55c0ea14a3 Print the correct PID in log messages. Prior to
this commit, only the logger thread's PID would
be printed.

(closes issue #13150)
Reported by: atis
Patches:
      log_pid.diff uploaded by putnopvut (license 60)
Tested by: eliel




git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133448 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-24 19:53:37 +00:00
tilghman
17a6611f6e Fix rotate strategy
(Closes issue #13086)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@131166 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-16 00:52:48 +00:00
bbryant
0110f8c87a Janitor project to convert sizeof to ARRAY_LEN macro.
(closes issue #13002)
Reported by: caio1982
Patches:
      janitor_arraylen5.diff uploaded by caio1982 (license 22)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@129045 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-08 16:40:28 +00:00
rizzo
0c31715ae4 use %p to print a pointer
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@126835 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-01 12:29:31 +00:00
mvanbaak
c342cdeaf3 Older versions of GNU gcc do not allow 'NULL' as sentinel.
They want (char *)NULL as sentinel.
An example is OpenBSD (confirmed on 4.3) that ships with gcc 3.3.4

This commit introduces a contstant SENTINEL which is declared as:
#define SENTINEL ((char *)NULL)

All places I could test compile on my openbsd system are converted.
Update CODING-GUIDELINES to tell about this constant.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@124127 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-19 20:48:33 +00:00
russell
8c9d668c8d Do a deep copy of file and function strings to avoid a potential crash when
modules are unloaded.

(closes issue #12780)
Reported by: ys
Patches:
      logger.diff uploaded by ys (license 281)
	  -- modified by me for coding guidelines


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119892 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-03 13:29:16 +00:00
bbryant
15874e67c7 Adds support for changing logger settingss on remote consoles with a
new command "logger set level". 

i.e. "logger set level debug off"

(closes issue #10891)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119126 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-29 21:30:37 +00:00
mmichelson
c0ca2a427b A new feature thanks to the fine folks at Switchvox!
If a deadlock is detected, then the typical lock information will be
printed along with a backtrace of the stack for the offending threads.
Use of this requires compiling with DETECT_DEADLOCKS and having glibc
installed.

Furthermore, issuing the "core show locks" CLI command will print the
normal lock information as well as a backtraces for each lock. This
requires that DEBUG_THREADS is enabled and that glibc is installed.

All the backtrace features may be disabled by running the configure
script with --without-execinfo as an argument



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@118173 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-23 22:35:50 +00:00
mmichelson
549f37623b This change makes it so that logs will report the correct source of verbose messages.
Until this change, all verbose messages in Asterisk's log files reported logger.c
as the source of the message.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117693 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-21 22:34:27 +00:00
file
f04a8183d8 The logger closes the files it is logging to when reloading so we have to read in the logger configuration even if it has not changed so that the logs get opened again.
(closes issue #12665)
Reported by: DennisD


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117085 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-19 16:03:33 +00:00
tilghman
42bb6b27fd Merged revisions 115333 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r115333 | tilghman | 2008-05-05 17:50:31 -0500 (Mon, 05 May 2008) | 7 lines

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: http://svn.digium.com/svn/asterisk/trunk@115334 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-05 23:00:31 +00:00
tilghman
d9fc402428 Standardized routines for forking processes (keeps all the specialized code in one place).
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114188 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-16 22:57:54 +00:00
tilghman
f0d1cef621 Add the "config reload <conffile>" command, which allows you to tell Asterisk
to reload any file that references a given configuration file.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@111012 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-26 18:39:06 +00:00
file
421d5fe685 Make sure values are interpreted as character strings and not format strings.
(AST-2008-004)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@109396 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18 15:13:07 +00:00
tilghman
832983e43a Whitespace changes only
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105840 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04 23:04:29 +00:00
file
adf32284d7 Just some minor coding style cleanup...
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103318 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-11 18:27:47 +00:00
mmichelson
8ceb053cff Get rid of any remaining ast_verbose calls in the code in favor of
ast_verb

(closes issue #11934)
Reported by: mvanbaak
Patches:
      20080205_astverb-2.diff.txt uploaded by mvanbaak (license 7)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@102525 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-05 23:00:15 +00:00
tilghman
84e71acc2a Normalize the detection for execinfo, so that Linux (glibc) and other platforms
with libexecinfo will generate inline stack backtraces correctly.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100628 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-28 18:27:29 +00:00
mmichelson
06049447cd Adding support for storing the queue log entries in a realtime backend.
(closes issue #11625, reported and patched by sergee)

Thank you very much to sergee for adding this new feature!



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94782 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-26 15:58:17 +00:00
mmichelson
0fecfb254c After reading Russell's e-mail to the dev list stating that checking option_verbose is not
equivalent to the check done by ast_verb, I wrote a macro, VERBOSITY_LEVEL, which does this
check. I did a quick look in the source and used this macro in some places where option_verbose
was used.

I also converted some verbose messages in logger.c to use ast_verb instead of ast_verbose.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93042 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-14 18:47:44 +00:00
tilghman
8a1ce32239 Conversions of free to ast_free, where applicable, and several other formatting fixes.
Reported by: eliel
Patch by: eliel,tilghman
(Closes issue #11209)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92594 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-12 20:05:13 +00:00
oej
e9f4991f30 Doxygen updates
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91385 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-06 14:29:20 +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
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
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
9cf442d7f7 include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19 18:52:04 +00:00
rizzo
18911d90cb remove a bunch of duplicate includes
Reproduce with

grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr 



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89348 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16 23:54: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
rizzo
ea0d4674a6 make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89268 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-14 13:18:40 +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
murf
47c8ea00b8 This commits the performance mods that give the priority processing engine in the pbx, a 25-30% speed boost. The two updates used, are, first, to merge the ast_exists_extension() and the ast_spawn_extension() where they are called sequentially in a loop in the code, into a slightly upgraded version of ast_spawn_extension(), with a few extra args; and, second, I modified the substitute_variables_helper_full, so it zeroes out the byte after the evaluated string instead of demanding you pre-zero the buffer; I also went thru the code and removed the code that zeroed this buffer before every call to the substitute_variables_helper_full. The first fix provides about a 9% speedup, and the second the rest. These figures come from the 'PIPS' benchmark I describe in blogs, conf. reports, etc.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88166 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-01 22:26:51 +00:00
qwell
7756b987a0 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22 20:05:18 +00:00
qwell
d542122e6a Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19 18:29:40 +00:00
file
407036a9d8 Process outstanding log messages before shutting down the logger thread.
(closes issue #10933)
Reported by: sperreault


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85234 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-10 13:46:57 +00:00
qwell
ab51c0d7fa (issue #10724)
Reported by: eliel
Patches:
      res_features.c.patch uploaded by eliel (license 64)
      res_agi.c.patch uploaded by seanbright (license 71)
      res_musiconhold.c.patch uploaded by seanbright (license 71)
      pbx.c.patch uploaded by moy (license 222)
      logger.c.patch uploaded by moy (license 222)
      frame.c.patch uploaded by moy (license 222)
      manager.c.patch uploaded by moy (license 222)
      http.c.patch uploaded by moy (license 222)
      dnsmgr.c.patch uploaded by moy (license 222)
      res_realtime.c.patch uploaded by eliel (license 64)
      res_odbc.c.patch uploaded by seanbright (license 71)
      res_jabber.c.patch uploaded by eliel (license 64)
      chan_local.c.patch uploaded by eliel (license 64)
      chan_agent.c.patch uploaded by eliel (license 64)
      chan_alsa.c.patch uploaded by eliel (license 64)
      chan_features.c.patch uploaded by eliel (license 64)
      chan_sip.c.patch uploaded by eliel (license 64)
      RollUp.1.patch (includes all of the above patches) uploaded by seanbright (license 71)

Convert many CLI commands to the NEW_CLI format.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@82930 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-18 22:43:45 +00:00
tilghman
938d5c5dc6 Always force reread of the config when we're rotating the log file (closes issue #10598)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81387 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-30 17:51:46 +00:00
file
183b047ca7 Add some read/write locking magic to make logger reload operate again.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81290 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28 21:35:20 +00:00
tilghman
8df96a0eca Support better rotation of log files to be more like system logging (closes issue #10398)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81277 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28 20:03:48 +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
mmichelson
b99f12a764 Merged revisions 77380 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77380 | mmichelson | 2007-07-26 15:35:17 -0500 (Thu, 26 Jul 2007) | 7 lines

Fixes to get ast_backtrace working properly. The AST_DEVMODE macro was never defined so the majority of ast_backtrace never
attempted compilation. The makefile now defines AST_DEVMODE if configure was run with --enable-dev-mode. Also, changes were 
made to acccomodate 64 bit systems in ast_backtrace.

Thanks to qwell, kpfleming, and Corydon76 for their roles in allowing me to get this committed


........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77381 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26 20:39:46 +00:00
tilghman
2a81ed5529 Merged revisions 77350 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77350 | tilghman | 2007-07-26 14:32:17 -0500 (Thu, 26 Jul 2007) | 2 lines

Missed one

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77351 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26 19:33:47 +00:00
tilghman
7060217fa1 Merged revisions 77348 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77348 | tilghman | 2007-07-26 14:27:18 -0500 (Thu, 26 Jul 2007) | 2 lines

Oops, that builtin define should be all-lowercase.

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77349 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26 19:29:12 +00:00
russell
70476ea4aa (closes issue #10192)
Reported by: bbryant
Patches:
      20070720__core_debug_by_file.patch uploaded by bbryant (license 36)
	  (with some modifications by me)
Tested by: russell, bbryant

This set of changes introduces the ability to set the core debug or verbose
levels on a per-file basis.  Interestingly enough, in 1.4, you have the ability
to set core debug for a single file, but that functionality was accidentally
lost in the conversion of the CLI commands to the new format.

This patch improves upon what was in 1.4 by letting you set it for more than 1
file, and by also supporting verbose.

*** Janitor Project ***

This patch also introduces a new macro, ast_verb(), which is similar
to ast_debug().  Setting the per file verbose value only works for messages that
use this macro.  Converting existing uses of ast_verbose() can be done like:

if (option_debug > 2)
   ast_verbose(VERBOSE_PREFIX_3 "Something useful\n");

...

ast_verb(3, "Something useful\n");



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76555 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23 14:21:41 +00:00
tilghman
dc2e8cb722 Reduce some logging contention by switching several locks over to rwlocks
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76015 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-20 01:54:52 +00:00