Commit Graph

256 Commits

Author SHA1 Message Date
Sean Bright 87973ccea2 Minor logging cleanups
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-20 14:52:07 +00:00
Tilghman Lesher 369ccdef5e Oops, buffer wasn't long enough for query
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-15 20:51:08 +00:00
Tilghman Lesher 7c26320110 If any field is not null, but has no default, then it must be set or the insert will fail.
(Closes issue #12285)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-11 23:26:56 +00:00
Tilghman Lesher ded5ec5b5d Merged revisions 113874 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113874 | tilghman | 2008-04-09 13:57:33 -0500 (Wed, 09 Apr 2008) | 4 lines

If the [csv] section does not exist in cdr.conf, then an unload/load sequence
is needed to correct the problem.  Track whether the load succeeded with a
variable, so we can fix this with a simple reload event, instead.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-09 19:00:40 +00:00
Jason Parker 1958abd90e Merged revisions 110779 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r110779 | qwell | 2008-03-25 17:51:17 -0500 (Tue, 25 Mar 2008) | 6 lines

Make file access in cdr_custom similar to cdr_csv.

Fixes issue #12268.

Patch borrowed from r82344

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@110780 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-25 22:51:55 +00:00
Terry Wilson b02bc230af Go through and fix a bunch of places where character strings were being interpreted as format strings. Most of these changes are solely to make compiling with -Wsecurity and -Wformat=2 happy, and were not
actual problems, per se.  I also added format attributes to any printf wrapper functions I found that didn't have them.  -Wsecurity and -Wmissing-format-attribute added to --enable-dev-mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 15:43:34 +00:00
Tilghman Lesher cafd900dc8 Convert prepare_and_execute to direct_execute for speed
(closes issue #11935)
 Reported by: falves11
 Patches: 
       20080208__bug11935.diff.txt uploaded by Corydon76 (license 14)
 Tested by: falves11, Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 21:10:45 +00:00
Tilghman Lesher 408228bfb8 Whitespace changes only
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@107551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 16:28:03 +00:00
Tilghman Lesher fbb78d988d Convert to use ast_str
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-29 23:53:42 +00:00
Tilghman Lesher f274f7bcaa Permit additional CDR columns to be saved in Postgres. Note that these
changes are backward-compatible, so no changes to UPGRADE.txt are
necessary.
(closes issue #9279)
 Reported by: rottenroddy
 Patches: 
       20080125__bug9279.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 23:04:20 +00:00
Tilghman Lesher ac3c95e370 Change the way the new filter feature works, by allowing it to be a column NOT
logged into the database.  This will allow more granularity of a decision
evaluated in the dialplan, then takes effect when posting the CDR.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-17 00:13:32 +00:00
Tilghman Lesher 799246dae3 Add the "filter" keyword
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-15 23:52:11 +00:00
Tilghman Lesher ada37a921b Port Nick Gorham's timestamp patch to adaptive_odbc, too
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11 18:35:30 +00:00
Tilghman Lesher ed3007e7b3 Commit Nick Gorham's suggestion for timestamp fix
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-11 18:30:00 +00:00
Tilghman Lesher 222917317d Fix problem with timestr going out of scope
(Closes issue #11726, closes issue #11731)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 17:38:36 +00:00
Luigi Rizzo fd88390af7 remove unnecessary (char *) casts for ast_config_AST_* variables.
There are some left in the .flex files, left to the maintainer...



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-18 09:46:18 +00:00
Kevin P. Fleming 100ef27af9 Merged revisions 93180 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r93180 | kpfleming | 2007-12-16 22:44:51 -0800 (Sun, 16 Dec 2007) | 23 lines

In http://lists.digium.com/pipermail/asterisk-dev/2007-December/031145.html,
rizzo brought up some issues related to the way that the metadata required
for menuselect and the rest of the build system is extracted from the source
files. Since I had a few hours to kill on an airplane today, I decided to
improve this situation... so now the system caches the extracted metadata
and uses it to build the menuselect 'tree' as much as it can. The result
of this is that when a single source file is changed, only the metadata for
that file needs to be extracted again, and the rest is used from the cache
files. I also reduced the number of forked processes required to do the
metadata extraction; it was actually possible to do most of what we needed
in the Makefiles themselves without using any shell scripts at all! On my
laptop, these changes resulted in an 80% decrease in the time required
for the 'menuselect.makeopts' automatic check to occur after editing a single
source file.

While doing this work I also cleaned up a few minor things in the Makefiles,
adding a check for 'awk' to the configure script and changed all remaining
places we use 'grep' or 'awk' to use the ones found by the configure script,
and changed the 'prep_tarball' script to build the menuselect metadata so
that tarballs of Asterisk will include it and won't require the user to
wait while it is extracted after unpacking.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@93184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-17 07:25:35 +00:00
Tilghman Lesher 5d23b05a92 Don't use backslash as an escape character, unless it really is an escape character.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-13 17:46:04 +00:00
Luigi Rizzo 5490889153 Put into Makefile.moddir_rules the common instructions used to
generate loadable and embedded module lists.

Individual Makefiles now are a lot simpler, possibly as simple as this:

    -include $(ASTTOPDIR)/menuselect.makeopts $(ASTTOPDIR)/menuselect.makedeps
    MODULE_PREFIX=cdr_
    all: _all
    include $(ASTTOPDIR)/Makefile.moddir_rules

and also more flexible because in a single directory we can combine
various types of modules (app_, cdr_, func_, ... ) by simply
listing them in the MODULE_PREFIX variable.

The individual Makefiles can also create list of modules to be
excluded by listing them in the variablel MODULE_EXCLUDE (see an
example in channels/Makefile).

With this change it becomes trivial to integrate a directory with
locally created/modified sources into the main build.




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-10 03:50:38 +00:00
Luigi Rizzo d652be0930 normalize subdirs' Makefile by using ASTTOPDIR and not .. to reference
the top level directory.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92022 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-09 21:29:37 +00:00
Jason Parker 0ea5f428d0 Fix a problem with quoting in sqlite3 cdr module..
Closes issue #11070, patch by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 21:57:28 +00:00
Tilghman Lesher 700cd10397 Merged revisions 90166,90736,90753 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90166 | tilghman | 2007-11-29 13:48:10 -0600 (Thu, 29 Nov 2007) | 3 lines

Properly escape cdr->src and cdr->dst and ensure we use thread-safe escaping
(Fixes AST-2007-026)

........
r90736 | tilghman | 2007-12-03 17:23:55 -0600 (Mon, 03 Dec 2007) | 5 lines

If both dbhost and dbsock were not set, a NULL deref could result
Reported by: xrg
Patch by: tilghman
(Closes issue #11387)

........
r90753 | tilghman | 2007-12-03 17:50:51 -0600 (Mon, 03 Dec 2007) | 5 lines

Solaris requires the inclusion of sys/loadavg.h for getloadavg().
Reported by: snuffy
Patch by: snuffy,tilghman
(Closes issue #11430)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-06 20:52:26 +00:00
Tilghman Lesher ce2f670228 Change cdr_manager to use a "CDR" level, rather than the (overcrowded) "call" level.
(Closes issue #11015)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91173 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 16:46:47 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Tilghman Lesher cbfc6dcbea Make trunk build again
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89468 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 23:29:33 +00:00
Luigi Rizzo a23c055c3d move asterisk/paths.h outside asterisk.h and into those files
who really need it.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 23:16:15 +00:00
Luigi Rizzo 9335ace850 another bunch of include removals (errno.h and asterisk/logger.h)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 19:09:03 +00:00
Luigi Rizzo d82a631f9c more removal of duplicate #include lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 00:02:33 +00:00
Luigi Rizzo fdb7f7ba3d 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: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Steve Murphy 98429d37b2 Based on a note in asterisk-dev by Brian Capouch, I determined I too agressive in not initializing arrays passed to pbx_substitute_variables_xxxx; I reviewed the code (again) and hopefully found every possible spot where substitute_variables is called conditionally, and made sure the char array involved was set to a null string.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 18:44:36 +00:00
Jason Parker b436362b19 Fix a few potential deadlocks in cdr_sqlite3_custom.
(also rename sample config to .sample)

Closes issue #11208, patch by Laureano.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09 16:32:01 +00:00
Steve Murphy a87efea3c4 Merged revisions 89088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89088 | murf | 2007-11-07 14:40:28 -0700 (Wed, 07 Nov 2007) | 1 line

In response to 10578, I just ran 1.4 thru valgrind; some of the config leakage I've already fixed, but it doesn't hurt to double check. I found and fixed leaks in res_jabber, cdr_tds, pbx_ael. Nothing major, tho.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-07 22:09:10 +00:00
Joshua Colp 16e33c3791 Restore building under 64-bit platforms.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-02 03:09:02 +00:00
Tilghman Lesher 4650a56d23 Convert cdr_odbc to use res_odbc managed connections
Closes issue #10614


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88182 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:43:46 +00:00
Steve Murphy 63f2f04cf4 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: https://origsvn.digium.com/svn/asterisk/trunk@88166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 22:26:51 +00:00
Tilghman Lesher c96c01cfd1 Fix memory leak
Reported by: eliel
Fixed by: tilghman
Closes issue #11136


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-01 05:44:40 +00:00
Tilghman Lesher 9691f51d73 Set enablecdr at the end of re-reading the config file (Closes issue #10852)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@84130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-29 18:21:36 +00:00
Tilghman Lesher 2fc1f89c30 Fix cdr_manager, such that if the config file is created past load, it'll
start logging (and conversely, if the config file is destroyed or deactivated,
the logging is disabled).  Reported by Juggie via IRC, fix by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-21 17:36:17 +00:00
Joshua Colp 6489076887 Fix memory leaks in pbx_dundi, cdr_pgsql, and the configuration file parser.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-20 16:10:57 +00:00
Joshua Colp 2f0dba3010 Clean up code in cdr_csv. (Are you sensing a theme for me today?)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@83183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-19 20:06:31 +00:00
Jason Parker 0d1abc92fe Don't try to continue loading cdr_sqlite3_custom on a module load failure (such as the config not existing)
Closes issue #10749, patch by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82712 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-17 21:52:07 +00:00
Jason Parker 28fbbde310 Merged revisions 82344 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82344 | qwell | 2007-09-13 15:11:40 -0500 (Thu, 13 Sep 2007) | 9 lines

Fix a crash that could occur in cdr_csv when mutliple threads tried to close the same file.

Do we actually need the locking here?  What happens if you open the same file twice, and
 two threads try to write to it at the same time?  Is fputs() going to write out the entire
 line at once?  I suspect that it could be possible for the second fopen to run during the
 first fputs, so the position could be in the middle of the previously written line...

Issue 10347, initial patch by explidous (but I removed all of the paranoia stuff..)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-13 20:13:58 +00:00
Tilghman Lesher 56b9568164 Don't reload a configuration file if nothing has changed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-16 21:09:46 +00:00
Russell Bryant 9d959a040e Resolve some compiler warnings so that I can build under dev mode
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-30 15:22:20 +00:00
Tilghman Lesher 7f570a8b3d Some ODBC drivers don't set the CHAR_OCTET_LENGTH field correctly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 23:21:23 +00:00
Joshua Colp 52099657d5 Merged revisions 77540 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77540 | file | 2007-07-27 14:04:08 -0300 (Fri, 27 Jul 2007) | 6 lines

(closes issue #10310)
Reported by: prashant_jois
Patches:
      cdr_pgsql.patch uploaded by prashant (license 114)
Finish the Postgresql connection after the log messages are printed so we don't access invalid memory.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 17:05:18 +00:00
Mark Michelson 625410df63 Merged revisions 77318 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77318 | mmichelson | 2007-07-26 13:30:29 -0500 (Thu, 26 Jul 2007) | 8 lines

Two consecutive calls to PQfinish could occur, meaning free gets called on the same variable twice.
This patch sets the connection to NULL after calls to PQfinish so that the problem does not occur.
Also in this patch, prashant_jois informed me that it is safe to pass a null pointer to PQfinish, so
I have removed the check for conn's existence from my_unload_module.

(closes issue 10295, reported by junky, patched by me with input from prashant_jois)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 18:31:28 +00:00
Russell Bryant f8483a0d04 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: https://origsvn.digium.com/svn/asterisk/trunk@77299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-26 15:49:18 +00:00
Tilghman Lesher 81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Steve Murphy 8aaa93e624 Merged revisions 70841 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r70841 | murf | 2007-06-21 14:19:36 -0600 (Thu, 21 Jun 2007) | 9 lines

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

........
r70804 | murf | 2007-06-21 13:13:17 -0600 (Thu, 21 Jun 2007) | 1 line

it was pointed out that the cdr_custom config load could get a lock, and under certain circumstances, would never release it. I also noted that the situation where more than one mapping spec was warned about, but did not ignore further mappings as it had promised. I think I have fixed both situations.
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70857 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 20:28:04 +00:00