Commit Graph

69 Commits

Author SHA1 Message Date
Tilghman Lesher
ec49f90f69 Merged revisions 187302 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r187302 | tilghman | 2009-04-08 23:59:05 -0500 (Wed, 08 Apr 2009) | 14 lines
  
  Merged revisions 187300-187301 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r187300 | tilghman | 2009-04-08 23:31:38 -0500 (Wed, 08 Apr 2009) | 3 lines
    
    Add debugging mode for diagnosing file descriptor leaks.
    (Related to issue #14625)
  ........
    r187301 | tilghman | 2009-04-08 23:32:40 -0500 (Wed, 08 Apr 2009) | 2 lines
    
    Oops, missed this file in the last commit.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@187304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 05:16:06 +00:00
Russell Bryant
e047ec4d72 Merged revisions 182847 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r182847 | russell | 2009-03-17 21:28:55 -0500 (Tue, 17 Mar 2009) | 52 lines

Merged revisions 182810 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines

Fix cases where the internal poll() was not being used when it needed to be.

We have seen a number of problems caused by poll() not working properly on 
Mac OSX.  If you search around, you'll find a number of references to using 
select() instead of poll() to work around these issues.  In Asterisk, we've 
had poll.c which implements poll() using select() internally.  However, we 
were still getting reports of problems.

vadim investigated a bit and realized that at least on his system, even 
though we were compiling in poll.o, the system poll() was still being used.  
So, the primary purpose of this patch is to ensure that we're using the 
internal poll() when we want it to be used.

The changes are:

1) Remove logic for when internal poll should be used from the Makefile.  
   Instead, put it in the configure script.  The logic in the configure 
   script is the same as it was in the Makefile.  Ideally, we would have 
   a functionality test for the problem, but that's not actually possible, 
   since we would have to be able to run an application on the _target_ 
   system to test poll() behavior.

2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT
   is not defined.

3) Change uses of poll() throughout the source tree to ast_poll().  I feel 
   that it is good practice to give the API call a new name when we are 
   changing its behavior and not using the system version directly in all cases.
   So, normally, ast_poll() is just redefined to poll().  On systems where 
   AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll().

4) Change poll() in main/poll.c to be ast_internal_poll().

It's worth noting that any code that still uses poll() directly will work fine 
(if they worked fine before).  So, for example, out of tree modules that are 
using poll() will not stop working or anything.  However, for modules to work 
properly on Mac OSX, ast_poll() needs to be used.

(closes issue #13404)
Reported by: agalbraith
Tested by: russell, vadim

http://reviewboard.digium.com/r/198/

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@182945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 14:24:27 +00:00
Steve Murphy
7ea292e195 Merged revisions 177595 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r177595 | murf | 2009-02-19 16:56:50 -0700 (Thu, 19 Feb 2009) | 32 lines

Merged revisions 177540 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

Trunk was already pretty 8-bit clean; but I'm still
removing the --full from the flex command so everything
is uniform.

........
  r177540 | murf | 2009-02-19 15:51:37 -0700 (Thu, 19 Feb 2009) | 21 lines
  
  This patch fixes a problem with 8-bit input to the ast_expr2 scanner.
  
  The real culprit was the --full argument to flex
  in the Makefile! This causes a 7-bit scanner to be
  generated.
  
  I reviewed the rules and found one rule where I needed
  to specifically include 8-bit chars for a token.
  
  I tested against the text supplied by ibercom, and 
  all looks very well.
  
  This has been there a surprisingly long time!
  
  
  (closes issue #14498)
  Reported by: ibercom
  Patches:
        14498.patch uploaded by murf (license 17)
  Tested by: murf
........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@177596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-20 00:16:46 +00:00
Kevin P. Fleming
2eb5c30a3a Merged revisions 159818 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r159818 | kpfleming | 2008-11-29 11:57:39 -0600 (Sat, 29 Nov 2008) | 18 lines
  
  incorporates r159808 from branches/1.4:
  ------------------------------------------------------------------------
  r159808 | kpfleming | 2008-11-29 10:58:29 -0600 (Sat, 29 Nov 2008) | 7 lines
  
  update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors
  
  since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them
  
  format attributes in a consistent way
  
  
  ------------------------------------------------------------------------
  
  in addition:
  
  move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@159855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-29 18:37:55 +00:00
Kevin P. Fleming
ccc3bcfb67 Merged revisions 144949-144951 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
  r144949 | kpfleming | 2008-09-27 10:52:56 -0500 (Sat, 27 Sep 2008) | 17 lines
  
  Merged revisions 144924-144925 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r144924 | kpfleming | 2008-09-27 10:00:48 -0500 (Sat, 27 Sep 2008) | 6 lines
    
    improve header inclusion process in a few small ways:
    
      - it is no longer necessary to forcibly include asterisk/autoconfig.h; every module already includes asterisk.h as its first header (even before system headers), which serves the same purpose
      - astmm.h is now included by asterisk.h when needed, instead of being forced by the Makefile; this means external modules will build properly against installed headers with MALLOC_DEBUG enabled
      - simplify the usage of some of these headers in the AEL-related stuff in the utils directory
  ........
    r144925 | kpfleming | 2008-09-27 10:13:30 -0500 (Sat, 27 Sep 2008) | 2 lines
    
    fix some minor issues with rev 144924
  ........
................
  r144950 | kpfleming | 2008-09-27 11:10:33 -0500 (Sat, 27 Sep 2008) | 2 lines
  
  fix bugs caused by r144949 when MALLOC_DEBUG is defined
................
  r144951 | kpfleming | 2008-09-27 11:17:43 -0500 (Sat, 27 Sep 2008) | 1 line
  
  remove incorrect comment
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@144991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-27 16:36:39 +00:00
Mark Michelson
b2eaaae0b5 Merged revisions 134125 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r134125 | mmichelson | 2008-07-28 14:53:56 -0500 (Mon, 28 Jul 2008) | 27 lines

This commit compensates for buggy poll(2)
implementations. Asterisk has, for a long time,
had its own implementation of poll(2) which
just used the input arguments to call select(2).
In 1.4, this internal implementation was used
for Darwin systems. This was removed in Asterisk
trunk at some point, but it seems as though this
was not the right move to make.

On Mac OS X, it appears as though the poll used
to gather CLI input does not respond properly
when connecting via a remote Asterisk console.
Reverting to the use of Asterisk's poll fixed
the issue.

Also, there is now an option for the configure
script, --enable-internal-poll, which will allow
for anyone to use Asterisk's internal poll
implementation in case they suspect that their
system's poll implementation is buggy.

closes issue #11928)
Reported by: adriavidal
Patches:
      1.6.0-configurev2.patch uploaded by putnopvut (license 60)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@134126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-28 19:55:44 +00:00
Russell Bryant
5b266380e2 Merged revisions 132390 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r132390 | russell | 2008-07-21 09:47:41 -0500 (Mon, 21 Jul 2008) | 16 lines

Remove libresample from the Asterisk source tree.  It is now available in its
own repository, and must be installed like any other library for Asterisk to
use.  The two modules that require it are codec_resample and app_jack.

To install libresample:

$ svn co http://svn.digium.com/svn/libresample/trunk libresample
$ cd libresample
$ ./configure
$ make
$ sudo make install

This code is currently in our own repository because the build system did not
include the appropriate targets for building a dynamic library or for installing
the library.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@132391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-21 14:48:45 +00:00
Kevin P. Fleming
68c5ddc970 Merged revisions 131923 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r131923 | kpfleming | 2008-07-18 11:16:12 -0500 (Fri, 18 Jul 2008) | 10 lines

Merged revisions 131921 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r131921 | kpfleming | 2008-07-18 11:15:41 -0500 (Fri, 18 Jul 2008) | 2 lines

remove the dlfcn compatibility stuff, because no platforms that Asterisk currently runs on it use it, and it doesn't build anyway

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@131924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-18 16:16:47 +00:00
Kevin P. Fleming
0b30f14b33 Merged revisions 125138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r125138 | kpfleming | 2008-06-25 18:05:28 -0500 (Wed, 25 Jun 2008) | 18 lines

Merged revisions 125132 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r125132 | kpfleming | 2008-06-25 17:21:30 -0500 (Wed, 25 Jun 2008) | 10 lines

allow tonezone to live in a different place than DAHDI/Zaptel, since dahdi-tools and dahdi-linux are now separate packages and can be installed in different places

don't include tonezone.h in dahdi_compat.h, because only a couple of modules need it

get app_rpt building again after the DAHDI changes

(closes issue #12911)
Reported by: tzafrir


........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@125146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 23:20:35 +00:00
Joshua Colp
91d87c10a5 Merged revisions 116353 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r116353 | file | 2008-05-14 15:54:16 -0300 (Wed, 14 May 2008) | 12 lines

Merged revisions 116352 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116352 | file | 2008-05-14 15:53:39 -0300 (Wed, 14 May 2008) | 4 lines

Add linux-gnueabi in.
(closes issue #12529)
Reported by: tzafrir

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@116354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 18:54:58 +00:00
Joshua Colp
81d7cf5925 Merged revisions 112712 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r112712 | file | 2008-04-03 21:53:19 -0300 (Thu, 03 Apr 2008) | 10 lines

Merged revisions 112711 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112711 | file | 2008-04-03 21:52:36 -0300 (Thu, 03 Apr 2008) | 2 lines

Pass in the path to Zaptel for systems that install Zaptel headers in a separate location.

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@112713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-04 00:54:22 +00:00
Terry Wilson
9a4405a7e5 Merged revisions 109229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
r109229 | twilson | 2008-03-17 17:10:06 -0500 (Mon, 17 Mar 2008) | 5 lines

Replace minimime with superior GMime library so that the entire contents of an http post are not read into memory.
This does introduce a dependency on the GMime library for handling HTTP POSTs, but it is available in most distros.

If the library is present, then the compile flag for ENABLE_UPLOADS is enabled by default in menuselect.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@109254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-17 22:24:46 +00:00
Kevin P. Fleming
ca8d368a80 Merged revisions 107409 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r107409 | kpfleming | 2008-03-11 09:09:49 -0500 (Tue, 11 Mar 2008) | 13 lines

Merged revisions 107408 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107408 | kpfleming | 2008-03-11 09:07:59 -0500 (Tue, 11 Mar 2008) | 5 lines

check for compiler support for -fno-strict-overflow before using it (tested with Debian's gcc 4.3, 4.1 and 3.4)

(closes issue #12179)
Reported by: Netview

........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 14:10:08 +00:00
Kevin P. Fleming
b2fabfdb4c Merged revisions 107373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

................
r107373 | kpfleming | 2008-03-11 06:36:51 -0500 (Tue, 11 Mar 2008) | 19 lines

Merged revisions 107352 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107352 | kpfleming | 2008-03-11 06:04:29 -0500 (Tue, 11 Mar 2008) | 11 lines

fix up various compiler warnings found with gcc-4.3:

- the output of flex includes a static function called 'input' that is not used, so for the moment we'll stop having the compiler tell us about unused variables in the flex source files (a better fix would be to improve our flex post-processing to remove the unused function)

- main/stdtime/localtime.c makes assumptions about signed integer overflow, and gcc-4.3's improved optimizer tries to take advantage of handling potential overflow conditions at compile time; for now, suppress these optimizations until we can fiure out if the code needs improvement

- main/udptl.c has some references to uninitialized variables; in one case there was no bug, but in the other it was certainly possibly for unexpected behavior to occur

- main/editline/readline.c had an unused variable


........

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@107374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-11 11:39:32 +00:00
Tilghman Lesher
7d564048ed Merged revisions 104868 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r104868 | tilghman | 2008-02-27 18:05:06 -0600 (Wed, 27 Feb 2008) | 7 lines

Compatibility fix for PPC64
(closes issue #12081)
 Reported by: jcollie
 Patches: 
       asterisk-1.4.18-funcdesc.patch uploaded by jcollie (license 412)
 Tested by: jcollie, Corydon76

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-28 00:11:31 +00:00
Russell Bryant
793edbecd0 Merged revisions 100932 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r100932 | russell | 2008-01-29 11:43:41 -0600 (Tue, 29 Jan 2008) | 4 lines

Fix the last couple of issues related to building from a path that contains spaces.

(closes issue #11834)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-29 17:44:05 +00:00
Jason Parker
3bd33214b9 Move code from res_features into (new file) main/features.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@100039 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-23 23:09:11 +00:00
Russell Bryant
b995c78c31 Merge changes from team/group/sip-tcptls
This set of changes introduces TCP and TLS support for chan_sip.  There are various
new options in configs/sip.conf.sample that are used to enable these features.  Also,
there is a document, doc/siptls.txt that describes some things in more detail.

This code was implemented by Brett Bryant and James Golovich.  It was reviewed
by Joshua Colp and myself.  A number of other people participated in the testing
of this code, but since it was done outside of the bug tracker, I do not have their
names.  If you were one of them, thanks a lot for the help!

(closes issue #4903, but with completely different code that what exists there.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-18 22:04:33 +00:00
Steve Murphy
33fadcc67c Merged revisions 97849 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97849 | murf | 2008-01-10 13:21:27 -0700 (Thu, 10 Jan 2008) | 1 line

This is a fix for 2 things: a problem Terry was having in OSX with null pointers, which was my fault, as I probably forgot to run the sed script last time I made mods. So, I moved the fix into the flex input itself. Then, I found when I used flex 2.5.33, that it was using __STDC_VERSION__, and that's not real good; so I added back in a DIFFERENT sed script to fix that little mess. Tested everything, a couple different ways. Hope I did no harm, at the least.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@97850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-10 20:45:05 +00:00
Russell Bryant
54bc2c20b6 Now that the version.h file was getting properly regenerated every time the svn
revision changed, every module that used the version was getting rebuilt after
every svn update.  This severly annoyed me pretty quickly, so I have improved
the situation.

Now, instead of generating version.h, main/version.c is generated.  version.c
includes the version information, as well as a couple of API calls for modules
to retrieve the version.  So now, only version.c will get rebuilt, and the main
asterisk binary relinked, which is must faster than rebuilding http.c, manager.c,
asterisk.c, relinking the asterisk binary, chan_sip.c, func_version.c, res_agi ...

The only minor change in behavior here is that the version information reported by
chan_sip, for example, is the version of the Asterisk core, and not necessarily the
Asterisk version that the chan_sip module came from.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@96717 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-05 22:09:06 +00:00
Russell Bryant
6cfd6009b1 For some odd reason, the last set of libresample build changes from Kevin did
not work for everyone, but it did for some.  This set of changes makes trunk
start again for those having problems.  Instead of building libresample as a
static library, it just links the object files in directly with the asterisk
binary.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 16:20:26 +00:00
Kevin P. Fleming
04a10c145b go back to including libresample in the main Asterisk binary, but this time including a small hack to ensure that it does get linked in (and also modify the strip_nonapi script to leave the resample_<foo> symbols alone)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 14:05:30 +00:00
Russell Bryant
78f4b28552 Instead of linking libresample into the main Asterisk binary, build it as
res_resample, and mark codec_resample as dependent upon res_resample.  This
prevents the linker from optimizing away libresample, and also makes it so the
libresample code isn't linked in to multiple places.  (I have another module
in a branch that needs it, too.)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 01:00:44 +00:00
Russell Bryant
21cb767db7 Merge changes from team/russell/codec_resample
This commit imports libresample for use in Asterisk.  It also adds a new codec
module, codec_resample.  This module uses libresample to re-sample signed linear
audio between 8 kHz and 16 kHz.

It also provides an alternative for converting between 16 kHz G.722 and 8 kHz
signed linear when using G.722, which will likely be useful as some people have
complained about volume issues when the current codec_g722 converts to 8 kHz 
signed linear.  But, to test this, you will have to disable the g722-to-slin and
g722-to-slin16 translators in codec_g722.c.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-31 21:22:31 +00:00
Russell Bryant
adf3b12e55 Fix a silly little typo :)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 17:36:59 +00:00
Mark Michelson
c52d8a1cd5 Merged revisions 90735 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r90735 | mmichelson | 2007-12-03 17:12:17 -0600 (Mon, 03 Dec 2007) | 22 lines

A big one...

This is the merge of the forward-loop branch. The main change here is that call-forwards can no longer loop.
This is accomplished by creating a datastore on the calling channel which has a linked list of all devices
dialed. If a forward happens, then the local channel which is created inherits the datastore. If, through this
progression of forwards and datastore inheritance, a device is attempted to be dialed a second time, it will simply
be skipped and a warning message will be printed to the CLI. After the dialing has been completed, the datastore
is detached from the channel and destroyed.

This change also introduces some side effects to the code which I shall enumerate here:

1. Datastore inheritance has been backported from trunk into 1.4
2. A large chunk of code has been removed from app_dial. This chunk is the section of code
   which handles the call forward case after the channel has been requested but before it has
   been called. This was removed because call-forwarding still works fine without it, it makes the
   code less error-prone should it need changing, and it made this set of changes much less painful
   to just have the forwarding handled in one place in each module.
3. Two new files, global_datastores.h and .c have been added. These are necessary since the datastore
   which is attached to the channel may be created and attached in either app_dial or app_queue, so they
   need a common place to find the datastore info. This approach was taken in case similar datastores are
   needed in the future, there will be a common place to add them.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@90873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-04 17:08:36 +00:00
Luigi Rizzo
a7a0ca9f93 initial makefile changes to build loadable modules under cygwin
(not complete yet - still need to sort out dependecies on res_*)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-20 07:42:38 +00:00
Luigi Rizzo
a9395206f9 conditional targets for building the windows version
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89377 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 12:33:15 +00:00
Luigi Rizzo
7cd78079ae more cygwin/mingw32 compatibility fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 10:54:52 +00:00
Luigi Rizzo
5862c55451 use poll as detected by configure
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-17 03:07:06 +00:00
Steve Murphy
a897556f7f This is the perhaps the biggest, boldest, most daring change I've ever committed to trunk. Forgive me in advance any disruption this may cause, and please, report any problems via the bugtracker. The upside is that this can speed up large dialplans by 20 times (or more). Context, extension, and priority matching are all fairly constant-time searches. I introduce here my hashtables (hashtabs), and a regression for them. I would have used the ast_obj2 tables, but mine are resizeable, and don't need the object destruction capability. The hashtab stuff is well tested and stable. I introduce a data structure, a trie, for extension pattern matching, in which knowledge of all patterns is accumulated, and all matches can be found via a single traversal of the tree. This is per-context. The trie is formed on the first lookup attempt, and stored in the context for future lookups. Destruction routines are in place for hashtabs and the pattern match trie. You can see the contents of the pattern match trie by using the 'dialplan show' cli command when 'core set debug' has been done to put it in debug mode. The pattern tree traversal only traverses those parts of the tree that are interesting. It uses a scoreboard sort of approach to find the best match. The speed of the traversal is more a function of the length of the pattern than the number of patterns in the tree. The tree also contains the CID matching patterns. See the source code comments for details on how everything works. I believe the approach general enough that any issues that might come up involving fine points in the pattern matching algorithm, can be solved by just tweaking things. We shall see. The current pattern matcher is fairly involved, and replicating every nuance of it is difficult. If you find and report problems, I will try to resolve than as quickly as I can. The trie and hashtabs are added to the existing context and exten structs, and none of the old machinery has been removed for the sake of the multitude of functions that use them. In the future, we can (maybe) weed out the linked lists and save some space.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-09 16:00:22 +00:00
Luigi Rizzo
b80dc41707 Move the last instance of AST_LIBS to the only place it is used,
namely main/Makefile .

I am unclear where decisions on the build environment (CFLAGS,
LDFLAGS, LIBS and so on) should be made - right now they are
split here and there.

As a first step in cleaning up this situation, i am trying to at
least collect all instances of each variable in one place.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-05 21:27:04 +00:00
Steve Murphy
50d5fd877e Merged revisions 86881 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r86881 | murf | 2007-10-23 14:22:25 -0600 (Tue, 23 Oct 2007) | 1 line

this update to Makefile corrects how ast_expr2f.c should be generated
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-23 20:44:58 +00:00
Russell Bryant
d99440e2ed Merged revisions 81342 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81342 | russell | 2007-08-29 10:57:29 -0500 (Wed, 29 Aug 2007) | 3 lines

If chan_h323 is not being built, don't use g++ to do the final link of Asterisk.
(in response to a question on the asterisk-dev list)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-29 15:59:10 +00:00
Russell Bryant
50d7fc81aa Merged revisions 80362 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r80362 | russell | 2007-08-22 15:21:36 -0500 (Wed, 22 Aug 2007) | 34 lines

Merge changes from team/russell/iax_refcount.

This set of changes fixes problems with the handling of iax2_user and iax2_peer
objects.  It was very possible for a thread to still hold a reference to one of
these objects while a reload operation tries to delete them.  The fix here is to
ensure that all references to these objects are tracked so that they can't go away
while still in use.

To accomplish this, I used the astobj2 reference counted object model.  This
code has been in one of Luigi Rizzo's branches for a long time and was primarily
developed by one of his students, Marta Carbone.  I wanted to go ahead and bring
this in to 1.4 because there are other problems similar to the ones fixed by these
changes, so we might as well go ahead and use the new astobj if we're going to go
through all of the work necessary to fix the problems.

As a nice side benefit of these changes, peer and user handling got more efficient.
Using astobj2 lets us not hold the container lock for peers or users nearly as long
while iterating.  Also, by changing a define at the top of chan_iax2.c, the objects
will be distributed in a hash table, drastically increasing lookup speed in these
containers, which will have a very big impact on systems that have a large number of
users or peers.

The use of the hash table will be made the default in trunk.  It is not the default
in 1.4 because it changes the behavior slightly.  Previously, since peers and users
were stored in memory in the same order they were specified in the configuration file,
you could influence peer and user matching order based on the order they are specified
in the configuration.  The hash table does not guarantee any order in the container,
so this behavior will be going away.  It just means that you have to be a little
more careful ensuring that peers and users are matched explicitly and not forcing
chan_iax2 to have to guess which user is the right one based on secret, host, and
access list settings, instead of simply using the username.

If you have any questions, feel free to ask on the asterisk-dev list.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@80387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-22 20:44:23 +00:00
Joshua Colp
602198c402 Merge audiohooks branch into trunk. This is a new API for developers to listen and manipulate the audio going through a channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78649 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-08 19:30:52 +00:00
Steve Murphy
94b934c8f6 Merged revisions 72933 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r72933 | murf | 2007-07-02 14:16:31 -0600 (Mon, 02 Jul 2007) | 1 line

support for floating point numbers added to ast_expr2 $\[...\] exprs. Fixes bug 9508, where the expr code fails with fp numbers. The MATH function returns fp numbers by default, so this fix is considered necessary.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 21:50:15 +00:00
Luigi Rizzo
3caa225108 Make sure that we properly recurse in subdirectories to
check dependencies for libraries.
Because these targets (e.g. minimime/libmmime.a) are real ones,
declaring them .PHONY would cause them to be rebuilt every time
(see e.g. SVN 64355).

As a workaround I am using the following CHECK_SUBDIR target:

  CHECK_SUBDIR:  # do nothing, just make sure that we recurse in the subdir/
  minimime/libmmime.a: CHECK_SUBDIR
	@cd minimime && $(MAKE) libmmime.a

which seems to do a better job than .PHONY (probably because
.PHONY forces the rebuild even if the recursive make does not think
it is necessary).

If this turns out to be the correct approach, we can then
merge it back into 1.4



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 20:33:35 +00:00
Joshua Colp
42c63dd2ed Add the adsistub file to the Asterisk makefile, fix a stub definition, and no longer make the symbols from res_adsi global since they don't need to be.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@65233 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-20 14:48:31 +00:00
Jason Parker
ee7301ac68 With libmmime.a as a .PHONY target, asterisk gets rebuilt every time, but without proper ASTCFLAGS.
This caused a problem with the buildinfo.o file not being able to find asterisk/build.h

This was affecting DESTDIR, but I *think* that if asterisk had never been installed before, it would've failed also.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64355 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-14 21:51:03 +00:00
Russell Bryant
b6b1bf3213 Merge changes from team/russell/events
This set of changes introduces a new generic event API for use within Asterisk.
I am still working on a way for events to be shared between servers, but this
part is ready and can already be used inside of Asterisk.

This set of changes introduces the first use of the API, as well.  I have
restructured the way that MWI (message waiting indication) is handled.  It is
now event based instead of polling based.  For example, if there are a bunch
of SIP phones subscribed to mailboxes, then chan_sip will not have to
constantly poll the mailboxes for changes.  app_voicemail will generate events
when changes occur.

See UPGRADE.txt and CHANGES for some more information on the effects of these
changes from the user perspective.  For developer information, see the text in
include/asterisk/event.h.

As always, additional feedback is welcome on the asterisk-dev mailing list.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@62292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-28 21:01:44 +00:00
Russell Bryant
0a9750ef9f Merged revisions 60603 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r60603 | russell | 2007-04-06 15:58:43 -0500 (Fri, 06 Apr 2007) | 13 lines

To be able to achieve the things that we would like to achieve with the
Asterisk GUI project, we need a fully functional HTTP interface with access
to the Asterisk manager interface.  One of the things that was intended to be
a part of this system, but was never actually implemented, was the ability for
the GUI to be able to upload files to Asterisk.  So, this commit adds this in
the most minimally invasive way that we could come up with.

A lot of work on minimime was done by Steve Murphy.  He fixed a lot of bugs in
the parser, and updated it to be thread-safe.  The ability to check
permissions of active manager sessions was added by Dwayne Hubbard.  Then,
hacking this all together and do doing the modifications necessary to the HTTP
interface was done by me.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@60604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 21:16:38 +00:00
Jason Parker
90b75256d9 Merged revisions 59573 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59573 | qwell | 2007-03-30 17:50:31 -0500 (Fri, 30 Mar 2007) | 2 lines

Add linux-uclibc host arch..."thingy".  Sorry, I don't know what it's called...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 22:54:01 +00:00
Russell Bryant
ef5aba253e Merged revisions 53464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r53464 | russell | 2007-02-07 14:07:39 -0600 (Wed, 07 Feb 2007) | 4 lines

The clean target actually needs to run "distclean" on editline.  This is
because we need to make sure that its configure script gets executed again,
because the CFLAGS we want to pass to editline may have changed.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@53465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-07 20:09:58 +00:00
Russell Bryant
f351f4278a Merged revisions 52695 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r52695 | russell | 2007-01-29 16:58:09 -0600 (Mon, 29 Jan 2007) | 2 lines

Add a missing quotation mark.  This was pointed out by jcmoore on #asterisk-dev.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52696 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 22:58:35 +00:00
Russell Bryant
5dfed82cb9 Merged revisions 52647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r52647 | russell | 2007-01-29 15:36:56 -0600 (Mon, 29 Jan 2007) | 3 lines

ASTLDFLAGS needs to be passed to the editline configure script as LDFLAGS.
(issue #8928, zandbelt)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 21:37:31 +00:00
Joshua Colp
9826fc599b Merged revisions 52049 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r52049 | file | 2007-01-24 13:20:05 -0500 (Wed, 24 Jan 2007) | 2 lines

Merge in dialing API and the app_page that uses it. (issue #BE-118)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@52050 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-24 18:23:07 +00:00
Luigi Rizzo
80243d0f0c forgot to add AST_LIBS += $(BKTR_LIB)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-19 16:51:31 +00:00
Russell Bryant
fa16f36aae Merged revisions 51262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r51262 | russell | 2007-01-18 15:54:23 -0600 (Thu, 18 Jan 2007) | 5 lines

Ensure that the locations given to the Asterisk configure script for ncurses,
curses, termcap, or tinfo are further passed along to the editline configure
script.  This fixes some cross-compilation environments.
(issue #8637, reported by ovi, patch by me)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-18 21:57:55 +00:00
Kevin P. Fleming
74f401d05f Merged revisions 50867 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r50867 | kpfleming | 2007-01-15 09:03:06 -0600 (Mon, 15 Jan 2007) | 2 lines

use the ACX_PTHREAD macro from the Autoconf macro archive for setting up compiler pthreads support... should improve portability to platforms with unusual pthreads requirements

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@50869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-15 15:08:45 +00:00