Commit Graph

98 Commits

Author SHA1 Message Date
Tilghman Lesher 4ac9617be5 Add assertions in the quest to track down a refcount leak.
(closes issue #14485)
 Reported by: davevg


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17 18:49:20 +00:00
Kevin P. Fleming 1c2911f5a1 ast_str_SQLGetData is *not* part of the ast_str API, it's part of the ast_odbc API and just happens to use an ast_str as the buffer; move all of it to res_odbc.c and res_odbc.h, renaming appropriately
along the way fix some minor coding style issues in strings.h and add some attribute_pure annotations to functions in the ast_str API



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@169438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-19 21:42:46 +00:00
Kevin P. Fleming 9a7efae8fd remove the PBX_ODBC logic from the configure script, and add GENERIC_ODCB logic that includes copying the relevant LIB and INCLUDE data from either UnixODBC or iODBC, based on which was found; if both were found, prefer UnixODBC
this stops modules from being linked against both sets of libraries on systems that have both installed



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-15 20:18:53 +00:00
Mark Michelson 221694480c Fix crashes in res_odbc.
The variable "class" was being set NULL just prior to
being dereferenced in an ao2_link call. I have moved
the setting of the variable to NULL until after the
ao2_link call.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165724 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 19:34:33 +00:00
Tilghman Lesher a2c557f3a1 Fix reference counts of the class and add an assertion to the end.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-18 16:36:48 +00:00
Mark Michelson 6c459b1b58 Fix a refcount leak in res_odbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@165330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-17 21:46:19 +00:00
Eliel C. Sardanons 1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Kevin P. Fleming 448562af93 improve configure script to remember the previous value of each dependency in build_tools/menuselect-deps, so that (once it has been written) menuselect can use this information to warn the user when a previously met dependency is no longer met
along the way, change tags used in configure script, menuselect-deps and code for various dependencies to be consistently named



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-04 15:07:54 +00:00
Sean Bright ceee55ea63 Keep up with shadow warnings. One day I'll actually enable this in the Makefile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@147457 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-08 12:15:06 +00:00
Michiel van Baak 4560279c69 All ODBC parts can now use either unixodbc or iodbc.
This allows for the ODBC parts to work on OpenBSD as well.

99.99% of the work is done by seanbright (bow, bow) and I actually
did nothing but test and yell at him that it still didn't work :)

Thanks for helping out !


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@146925 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-06 23:14:33 +00:00
Tilghman Lesher 1697c6e588 Merged revisions 145751 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r145751 | tilghman | 2008-10-02 10:13:21 -0500 (Thu, 02 Oct 2008) | 3 lines
  
  Some sanity checks that may have led to prior crashes, found by codefreeze-lap
  (murf) on IRC.  Also some cleanup of incorrectly-used constants.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-02 15:17:16 +00:00
Tilghman Lesher 08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Tilghman Lesher 37133a6993 Merged revisions 137138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r137138 | tilghman | 2008-08-10 19:20:38 -0500 (Sun, 10 Aug 2008) | 5 lines

Deallocate database connection handle on disconnect, as we allocate another
one on connect.
(closes issue #13271)
 Reported by: dveiga

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-11 00:25:28 +00:00
Sean Bright 357bf3e90b All of the res/ stuff (other than res_jabber) from the RSW branch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137028 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-10 00:47:56 +00:00
Steve Murphy b247dcf432 a small change to make things compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130296 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 21:50:21 +00:00
Tilghman Lesher caf226d50e Don't copy on NULL.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 19:56:34 +00:00
Tilghman Lesher bead8cd6f0 Add some debug code and add a missing release
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130232 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 19:53:38 +00:00
Tilghman Lesher 97fe3abeec Move the table cache routines to res_odbc, so they can be used from other
places (app_voicemail, for example).
(Related to bug #11678)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-10 21:14:58 +00:00
Tilghman Lesher ebb4ba3b9a Protect the object from changing while the 'odbc show' CLI command is running
(Closes issue #12704)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-23 18:09:14 +00:00
Tilghman Lesher 6353bddc57 Increase limit of unshared connections from 1023 to 4.2 billion.
(Related to issue #12677)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 16:25:16 +00:00
Tilghman Lesher 01e2bd1e2f Revert part of previous fix, and heavily comment the logic for object
destruction, for future users.
(Closes issue #12677)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-20 16:13:48 +00:00
Joshua Colp 872eaba11d Remove a premature mutex destroy (the destruction callback will end up destroying it) and use a callback to purge remaining classes.
(closes issue #12677)
Reported by: falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117133 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-19 16:22:56 +00:00
Tilghman Lesher 842df68a1f Don't free the object on destroy, as astobj2 takes care of that for you
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-07 18:40:21 +00:00
Tilghman Lesher bbab1a6d2f Merge refcounting of res_odbc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-05 23:38:15 +00:00
Tilghman Lesher de0d0ad137 Clarify the pooling functionality by changing the config file keyword
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-01 18:08:44 +00:00
Tilghman Lesher 65e31e0741 Merged revisions 99775 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99775 | tilghman | 2008-01-22 22:20:15 -0600 (Tue, 22 Jan 2008) | 2 lines

Oops, should have checked for a NULL obj, here, too

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-23 04:25:33 +00:00
Tilghman Lesher 6181e386b5 Merged revisions 99341 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99341 | tilghman | 2008-01-21 12:11:07 -0600 (Mon, 21 Jan 2008) | 8 lines

Permit the user to specify number of seconds that a connection may remain idle,
which fixes a crash on reconnect with the MyODBC driver.
(closes issue #11798)
 Reported by: Corydon76
 Patches: 
       20080119__res_odbc__idlecheck.diff.txt uploaded by Corydon76 (license 14)
 Tested by: mvanbaak

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-21 18:15:57 +00:00
Tilghman Lesher 8dd48a5e7c Permit username and password to be NULL (which enables pass-through from the layer above).
Reported by: lurcher
Patch by: tilghman
(Closes issue #11739)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99017 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 06:52:18 +00:00
Tilghman Lesher fa4f7d3727 Merged revisions 98467 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r98467 | tilghman | 2008-01-11 18:05:08 -0600 (Fri, 11 Jan 2008) | 4 lines

Add a connection timeout attribute, as that was what was intended with the
login timeout, but ODBC divides it up into 2 different timeouts.
(Closes issue #11745)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@98487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-12 00:17:26 +00:00
Russell Bryant 3509415be1 Use ast_free() instead of free().
(closes issue #11309)
Reported by: Laureano
Patches: 
      res_odbc.c.patch uploaded by Laureano (license 265)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@91131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-05 03:34:51 +00:00
Tilghman Lesher f1de129e5f Merged revisions 89559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89559 | tilghman | 2007-11-25 11:17:10 -0600 (Sun, 25 Nov 2007) | 14 lines

We previously attempted to use the ESCAPE clause to set the escape delimiter to
a backslash.  Unfortunately, this does not universally work on all databases,
since on databases which natively use the backslash as a delimiter, the
backslash itself needs to be delimited, but on other databases that have no
delimiter, backslashing the backslash causes an error.

So the only solution that I can come up with is to create an option in res_odbc
that explicitly specifies whether or not backslash is a native delimiter.  If
it is, we use it natively; if not, we use the ESCAPE clause to make it one.

Reported by: elguero
Patch by: tilghman
(Closes issue #11364)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89561 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-25 17:50:07 +00:00
Luigi Rizzo e0ff5fef5c remove a bunch of useless #include "options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:09:02 +00:00
Luigi Rizzo 0595b5e2aa 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: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 18:52:04 +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
Tilghman Lesher 0f6892419e One more typo in config.c; and missed conversions due to the constifying of ast_variable_new parameters
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 15:13:22 +00:00
Kevin P. Fleming edc78d6023 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: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Tilghman Lesher 87bcdb9273 Merged revisions 88539 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r88539 | tilghman | 2007-11-05 10:20:13 -0600 (Mon, 05 Nov 2007) | 4 lines

Don't check used pooled connections for connection status, as it will cause issues for prepared queries.
Reported by: Nick Gorham (via -dev list)
Patch by: tilghman

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 16:30:51 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00
Jason Parker c7a9ec1691 (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: https://origsvn.digium.com/svn/asterisk/trunk@82930 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-18 22:43:45 +00:00
Tilghman Lesher bc494164c8 Add a direct execute method to res_odbc (closes issue #10722)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-09-14 17:29:23 +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
Tilghman Lesher c41121cdbb Only use the sanitysql if it's not zero-len
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-13 21:44:22 +00:00
Tilghman Lesher 89588a043f Merged revisions 79142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r79142 | tilghman | 2007-08-11 00:23:04 -0500 (Sat, 11 Aug 2007) | 2 lines

Ensure the connection gets marked as used at allocation time (closes issue #10429, report and fix by mnicholson)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@79147 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-11 05:28:08 +00:00
Tilghman Lesher 72cc1dcfea Merged revisions 78437 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r78437 | tilghman | 2007-08-07 14:34:25 -0500 (Tue, 07 Aug 2007) | 2 lines

Don't free the environment handle when the connection fails, because other connections might be depending upon it

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-07 19:36:17 +00:00
Tilghman Lesher ce3de6a530 Merged revisions 77571 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r77571 | tilghman | 2007-07-27 13:15:58 -0500 (Fri, 27 Jul 2007) | 2 lines

Missing newline

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@77572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-27 18:17:12 +00:00
Russell Bryant 43658278ff Merged revisions 69702 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r69702 | russell | 2007-06-18 11:35:02 -0500 (Mon, 18 Jun 2007) | 6 lines

To prevent 92138749238754 more reports of "I have unixodbc installed, but
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install.  (related to issue #9989, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@69703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 16:35:51 +00:00
Tilghman Lesher 9d05ff8ed5 Issue 9869 - replace malloc and memset with ast_calloc, and other coding guidelines changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@67864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 21:20:11 +00:00
Tilghman Lesher 1236ed3214 Issue 9477 - Improve menuselect labels
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-30 05:17:09 +00:00
Tilghman Lesher fdb5e1107d Merged revisions 59289 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59289 | tilghman | 2007-03-27 22:38:09 -0500 (Tue, 27 Mar 2007) | 2 lines

Another crash that I thought we had fixed already - Issue 9396

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59290 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-28 03:40:19 +00:00