aboutsummaryrefslogtreecommitdiffstats
path: root/res
AgeCommit message (Collapse)AuthorFilesLines
2009-12-08Merged revisions 233718 via svnmerge from tilghman1-75/+15
https://origsvn.digium.com/svn/asterisk/trunk ........ r233718 | tilghman | 2009-12-08 12:22:44 -0600 (Tue, 08 Dec 2009) | 8 lines Find another ref leak and change how we manage module references. (closes issue #16388) Reported by: parisioa Patches: 20091208__issue16388.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman Review: https://reviewboard.asterisk.org/r/442/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@233729 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-03Merged revisions 232660-232661 via svnmerge from tilghman1-40/+173
https://origsvn.digium.com/svn/asterisk/trunk ........ r232660 | tilghman | 2009-12-02 18:08:55 -0600 (Wed, 02 Dec 2009) | 19 lines Fix multiple issues with musiconhold, which led to classes not getting destroyed properly. * Classes are now tracked past removal from the core container, and module removal is actively prevented until all references are freed. * A hanging reference stored in the channel has been removed. This could have caused a mismatch and the music state not properly cleared, if two or more reloads occurred between MOH being stopped and MOH being restarted. * In certain circumstances, duplicate classes were possible. * A race existed at reload time between a process being killed and the thread responsible for reading from the related pipe respawning that process. * Several reference counts have also been corrected. At least one could have caused deleted classes to stick around forever, consuming resources. This originally manifested as MOH external processes that were not killed at reload time. (closes issue #16279, closes issue #16207) Reported by: parisioa, dcabot Patches: 20091202__issue16279__2.diff.txt uploaded by tilghman (license 14) Tested by: parisioa, tilghman ........ r232661 | tilghman | 2009-12-02 18:09:36 -0600 (Wed, 02 Dec 2009) | 2 lines Remove debugging line ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@232699 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04Merged revisions 227945 via svnmerge from jpeeler1-4/+37
https://origsvn.digium.com/svn/asterisk/trunk ................ r227945 | jpeeler | 2009-11-04 17:50:59 -0600 (Wed, 04 Nov 2009) | 21 lines Merged revisions 227944 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r227944 | jpeeler | 2009-11-04 17:47:08 -0600 (Wed, 04 Nov 2009) | 14 lines Fix incorrect filename comparsion after monitor file change The logic to detect if a requested file is indeed a different file from the current file was incorrect. The main issue being confusion of the use of filename_base which was previously set without pathing information and then compared to another full path. Robust file comparison logic has been added to properly check if two files are the same even if symlinks are used. (closes issue #15313) Reported by: caspy Patches: 20091103__issue15313__1.4.diff.txt uploaded by jpeeler (license 325) but mostly tilghman's work ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@227946 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-07Small typo (thanks, jpeeler)tilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@222541 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-06Recorded merge of revisions 222273 via svnmerge from tilghman1-20/+34
https://origsvn.digium.com/svn/asterisk/trunk ........ r222273 | tilghman | 2009-10-06 14:17:11 -0500 (Tue, 06 Oct 2009) | 5 lines When we call a gosub routine, the variables should be scoped to avoid contaminating the caller. This affected the ~~EXTEN~~ hack, where a subroutine might have changed the value before it was used in the caller. Patch by myself, tested by ebroad on #asterisk ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@222279 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-06Merged revisions 222176 via svnmerge from kpfleming2-2/+6
https://origsvn.digium.com/svn/asterisk/trunk ................ r222176 | kpfleming | 2009-10-05 20:24:24 -0500 (Mon, 05 Oct 2009) | 27 lines Recorded merge of revisions 222152 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r222152 | kpfleming | 2009-10-05 20:16:36 -0500 (Mon, 05 Oct 2009) | 20 lines Fix ao2_iterator API to hold references to containers being iterated. See Mantis issue for details of what prompted this change. Additional notes: This patch changes the ao2_iterator API in two ways: F_AO2I_DONTLOCK has become an enum instead of a macro, with a name that fits our naming policy; also, it is now necessary to call ao2_iterator_destroy() on any iterator that has been created. Currently this only releases the reference to the container being iterated, but in the future this could also release other resources used by the iterator, if the iterator implementation changes to use additional resources. (closes issue #15987) Reported by: kpfleming Review: https://reviewboard.asterisk.org/r/383/ ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@222185 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-10Merged revisions 217730 via svnmerge from mnick1-7/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r217730 | mnick | 2009-09-10 14:39:41 -0500 (Thu, 10 Sep 2009) | 17 lines Sets the correct musicclass after an announcement (closes issue #15279) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license ) Tested by: mnick (closes issue #15832) Reported by: mbeckwell Patches: patch.txt uploaded by mnick (license 874) Tested by: mnick ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@217736 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-09gcc 4.4 fix: union instead of casttzafrir1-3/+7
gcc 4.4 has more strict rules for aliasing. It doesn't like a struct sockaddr_in pointer pointing to a struct sockaddr. So we make it a union. Merged revisions 217445 via svnmerge from http://svn.digium.com/svn/asterisk/trunk git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@217484 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-08Merged revisions 217033 via svnmerge from tilghman1-2/+0
https://origsvn.digium.com/svn/asterisk/trunk ........ r217033 | tilghman | 2009-09-08 10:30:18 -0500 (Tue, 08 Sep 2009) | 4 lines Remove what appears to be an unnecessary define. (closes issue #15851) Reported by: tzafrir ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@217034 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-12Merged revisions 211767 via svnmerge from ghenry1-8/+17
https://origsvn.digium.com/svn/asterisk/trunk ........ r211767 | ghenry | 2009-08-12 17:00:46 +0100 (Wed, 12 Aug 2009) | 33 lines Added three new attributes and applied a patch to res_config_ldap.c attributetype ( AstAccountSubscribeContext NAME 'AstAccountSubscribeContext' DESC 'Asterisk subscribe context' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( AstAccountIpAddr NAME 'AstAccountIpAddr' DESC 'Asterisk aaccount IP address' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) attributetype ( AstAccountUserAgent NAME 'AstAccountUserAgent' DESC 'Asterisk account user context' EQUALITY caseIgnoreMatch SUBSTR caseIgnoreSubstringsMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15) and patch fix_empty_attributes_1.6.1.4_v2.patch (closes issue #13725) Reported by: macogeek Patches: fix_empty_attributes_1.6.1.4_v2.patch uploaded by xvisor (license 863) Tested by: suretec ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@211768 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10AST-2009-005tilghman9-32/+32
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@211551 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Merged revisions 209098 via svnmerge from dbrooks3-5/+5
https://origsvn.digium.com/svn/asterisk/trunk ........ r209098 | dbrooks | 2009-07-27 11:33:50 -0500 (Mon, 27 Jul 2009) | 6 lines Fixing typos. Replaces "recieved" with "received" and "initilize" with "initialize" (closes issue #15571) Reported by: alecdavis ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@209221 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Merged revisions 209197 via svnmerge from mmichelson1-20/+27
https://origsvn.digium.com/svn/asterisk/trunk ........ r209197 | mmichelson | 2009-07-27 15:11:42 -0500 (Mon, 27 Jul 2009) | 9 lines Honor channel's music class when using realtime music on hold. (closes issue #15051) Reported by: alexh Patches: 15051.patch uploaded by mmichelson (license 60) Tested by: alexh ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@209198 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Just replacing typos "recieved" with "received".dbrooks1-1/+1
From issue #15360, forgot to apply to trunk and other branches. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@209061 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21Merged revisions 207680 via svnmerge from kpfleming1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r207680 | kpfleming | 2009-07-21 08:28:04 -0500 (Tue, 21 Jul 2009) | 18 lines Merged revisions 207647 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r207647 | kpfleming | 2009-07-21 08:04:44 -0500 (Tue, 21 Jul 2009) | 12 lines Ensure that user-provided CFLAGS and LDFLAGS are honored. This commit changes the build system so that user-provided flags (in ASTCFLAGS and ASTLDFLAGS) are supplied to the compiler/linker *after* all flags provided by the build system itself, so that the user can effectively override the build system's flags if desired. In addition, ASTCFLAGS and ASTLDFLAGS can now be provided *either* in the environment before running 'make', or as variable assignments on the 'make' command line. As a result, the use of COPTS and LDOPTS is no longer necessary, so they are no longer documented, but are still supported so as not to break existing build systems that supply them when building Asterisk. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@207683 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-08Merged revisions 205120 via svnmerge from russell2-6/+0
https://origsvn.digium.com/svn/asterisk/trunk ........ r205120 | russell | 2009-07-08 10:17:19 -0500 (Wed, 08 Jul 2009) | 16 lines Move OpenSSL initialization to a single place, make library usage thread-safe. While doing some reading about OpenSSL, I noticed a couple of things that needed to be improved with our usage of OpenSSL. 1) We had initialization of the library done in multiple modules. This has now been moved to a core function that gets executed during Asterisk startup. We already link OpenSSL into the core for TCP/TLS functionality, so this was the most logical place to do it. 2) OpenSSL is not thread-safe by default. However, making it thread safe is very easy. We just have to provide a couple of callbacks. One callback returns a thread ID. The other handles locking. For more information, start with the "Is OpenSSL thread-safe?" question on the FAQ page of openssl.org. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@205139 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-18Merged revisions 201678 via svnmerge from dvossel2-18/+8
https://origsvn.digium.com/svn/asterisk/trunk ........ r201678 | dvossel | 2009-06-18 11:37:42 -0500 (Thu, 18 Jun 2009) | 11 lines fixes some memory leaks and redundant conditions (closes issue #15269) Reported by: contactmayankjain Patches: patch.txt uploaded by contactmayankjain (license 740) memory_leak_stuff.trunk.diff uploaded by dvossel (license 671) Tested by: contactmayankjain, dvossel ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@201682 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-18Merged revisions 201610 via svnmerge from russell1-1/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r201610 | russell | 2009-06-18 10:27:10 -0500 (Thu, 18 Jun 2009) | 36 lines Merged revisions 201600 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r201600 | russell | 2009-06-18 10:24:31 -0500 (Thu, 18 Jun 2009) | 29 lines Fix memory corruption and leakage related reloads of non files mode MoH classes. For Music on Hold classes that are not files mode, meaning that we are executing an application that will feed us audio data, we use a thread to monitor the external application and read audio from it. This thread also makes use of the MoH class object. In the MoH class destructor, we used pthread_cancel() to ask the thread to exit. Unfortunately, the code did not wait to ensure that the thread actually went away. What needed to be done is a pthread_join() to ensure that the thread fully cleans up before we proceed. By adding this one line, we resolve two significant problems: 1) Since the thread was never joined, it never fully goes away. So, on every reload of non-files mode MoH, an unused thread was sticking around. 2) There was a race condition here where the application monitoring thread could still try to access the MoH class, even though the thread executing the MoH reload has already destroyed it. (issue #15109) Reported by: jvandal (issue #15123) Reported by: axisinternet (issue #15195) Reported by: amorsen (issue AST-208) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@201612 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-30Merged revisions 198375 via svnmerge from seanbright1-4/+14
https://origsvn.digium.com/svn/asterisk/trunk ........ r198375 | seanbright | 2009-05-30 16:11:33 -0400 (Sat, 30 May 2009) | 13 lines Properly terminate the receive buffer before sending to iksemel. aji_io_recv takes the maximum number of bytes to read (instead of the total buffer size), so we have to subtract 1 from our buffer size. Without this, when we receive packets that are larger than our buffer, iksemel will choke and things get wonky. (closes issue #15232) Reported by: lp0 Patches: 05302009_res_jabber.c.patch uploaded by seanbright (license 71) Tested by: seanbright, lp0 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@198384 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-30Merged revisions 198371 via svnmerge from seanbright1-8/+8
https://origsvn.digium.com/svn/asterisk/trunk ................ r198371 | seanbright | 2009-05-30 15:38:58 -0400 (Sat, 30 May 2009) | 19 lines Merged revisions 198370 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198370 | seanbright | 2009-05-30 15:36:20 -0400 (Sat, 30 May 2009) | 12 lines Properly terminate AMI JabberSend response messages. The response message (either Error or Success) needs an extra trailing \r\n after the fields to inform the client that the message is complete. (closes issue #14876) Reported by: srt Patches: 05302009_1.4_res_jabber.c.diff uploaded by seanbright (license 71) asterisk_14876.patch uploaded by srt (license 378) trunk-14876-2.diff uploaded by phsultan (license 73) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@198372 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-30Merged revisions 198312 via svnmerge from russell1-0/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r198312 | russell | 2009-05-29 22:43:23 -0500 (Fri, 29 May 2009) | 12 lines Merged revisions 198311 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r198311 | russell | 2009-05-29 22:42:46 -0500 (Fri, 29 May 2009) | 5 lines Fix a crash that occurred when MWI SMDI messages expired. (closes issue #14561) Reported by: cmoss28 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@198313 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-26Merged revisions 196843 via svnmerge from russell1-0/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r196843 | russell | 2009-05-26 13:20:57 -0500 (Tue, 26 May 2009) | 16 lines Merged revisions 196826 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r196826 | russell | 2009-05-26 13:14:36 -0500 (Tue, 26 May 2009) | 9 lines Resolve a file handle leak. The frames here should have always been freed. However, out of luck, there was never any memory leaked. However, after file streams became reference counted, this code would leak the file stream for the file being read. (closes issue #15181) Reported by: jkroon ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@196865 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-18Recorded merge of revisions 195370 via svnmerge from tilghman1-0/+4
https://origsvn.digium.com/svn/asterisk/trunk ................ r195370 | tilghman | 2009-05-18 15:52:33 -0500 (Mon, 18 May 2009) | 15 lines Recorded merge of revisions 195366 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r195366 | tilghman | 2009-05-18 15:24:13 -0500 (Mon, 18 May 2009) | 8 lines Add a similar dependency on SMDI for voicemail as already exists for ADSI. (closes issue #14846) Reported by: pj Patches: 20090413__bug14846__1.4.diff.txt uploaded by tilghman (license 14) 20090507__issue14846__1.6.0.diff.txt uploaded by tilghman (license 14) 20090507__issue14846__1.6.1.diff.txt uploaded by tilghman (license 14) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@195371 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-20Merged revisions 189464 via svnmerge from seanbright2-375/+397
https://origsvn.digium.com/svn/asterisk/trunk ................ r189464 | seanbright | 2009-04-20 17:09:59 -0400 (Mon, 20 Apr 2009) | 20 lines Merged revisions 189462 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r189462 | seanbright | 2009-04-20 16:58:39 -0400 (Mon, 20 Apr 2009) | 13 lines Properly handle @s within hints in AEL. AEL was not handling the case of a device hint containing an @ symbol, which caused parking hints (e.g. hint(park:exten@context)) to error out the parser. This patch makes AEL treat the @ the same way it treats colon and ampersand now, meaning the characters are included in verbatim. (closes issue #14941) Reported by: bpgoldsb Patches: bug14941.patch uploaded by seanbright (license 71) Tested by: bpgoldsb ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@189525 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-13Merged revisions 188102 via svnmerge from mmichelson1-1/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r188102 | mmichelson | 2009-04-13 14:31:48 -0500 (Mon, 13 Apr 2009) | 5 lines Fix another crash related to cached realtime music on hold. This was another off-by-one problem caused by moh_register. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@188103 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-09Merged revisions 187421,187424 via svnmerge from mmichelson1-4/+12
https://origsvn.digium.com/svn/asterisk/trunk ........ r187421 | mmichelson | 2009-04-09 12:30:39 -0500 (Thu, 09 Apr 2009) | 21 lines Fix a crash in res_musiconhold when using cached realtime moh. The moh_register function links an mohclass and then immediately unrefs the class since the container now has a reference. The problem with using realtime music on hold is that the class is allocated, registered, and started in one fell swoop. The refcounting logic resulted in the count being off by one. The same problem did not happen when using a static config because the allocation and registration of an mohclass is a separate operation from starting moh. This also did not affect non-cached realtime moh because the classes are not registered at all. I also have modified res_musiconhold to use the _t_ variants of the ao2_ functions so that more info can be gleaned when attempting to trace the refcounts. I found this to be incredibly helpful for debugging this issue and there's no good reason to remove it. (closes issue #14661) Reported by: sum ........ r187424 | mmichelson | 2009-04-09 12:34:39 -0500 (Thu, 09 Apr 2009) | 3 lines Use safe macro practices even though they really aren't necessary. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@187425 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-08Merged revisions 187046 via svnmerge from mmichelson1-3/+3
https://origsvn.digium.com/svn/asterisk/trunk ................ r187046 | mmichelson | 2009-04-08 11:52:20 -0500 (Wed, 08 Apr 2009) | 16 lines Merged revisions 187045 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r187045 | mmichelson | 2009-04-08 11:52:03 -0500 (Wed, 08 Apr 2009) | 10 lines Fix a small logical error when loading moh classes. We were unconditionally incrementing the number of mohclasses registered. However, we should actually only increment if the call to moh_register was successful. While this probably has never caused problems, I noticed it and decided to fix it anyway. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@187047 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-27Merged revisions 184673 via svnmerge from file1-0/+7
https://origsvn.digium.com/svn/asterisk/trunk ........ r184673 | file | 2009-03-27 12:46:46 -0300 (Fri, 27 Mar 2009) | 7 lines Fix speech structure leak in the AGI speech recognition integration. The AGI dialplan applications did not destroy the speech structure automatically if it was not destroyed by the running AGI script. They will now do this. (issue LUMENVOX-15) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@184674 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-23Merged revisions 183766 via svnmerge from mmichelson1-5/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r183766 | mmichelson | 2009-03-23 13:58:03 -0500 (Mon, 23 Mar 2009) | 13 lines Merged revisions 183700 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r183700 | mmichelson | 2009-03-23 12:59:28 -0500 (Mon, 23 Mar 2009) | 7 lines Fix a memory leak in res_monitor.c The only way that this leak would occur is if Monitor were started using the Manager interface and no File: header were given. Discovered while reviewing the ast_channel_ao2 review request. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@183767 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-18Merged revisions 182847 via svnmerge from russell1-1/+1
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: http://svn.digium.com/svn/asterisk/branches/1.6.0@182945 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-12Merged revisions 181665 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r181665 | file | 2009-03-12 13:56:58 -0300 (Thu, 12 Mar 2009) | 9 lines Merged revisions 181664 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r181664 | file | 2009-03-12 13:56:20 -0300 (Thu, 12 Mar 2009) | 2 lines Fix incorrect usage of strncasecmp... I really meant to use strcasecmp. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@181666 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-12Merged revisions 181661 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r181661 | file | 2009-03-12 13:53:52 -0300 (Thu, 12 Mar 2009) | 19 lines Merged revisions 181659-181660 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r181659 | file | 2009-03-12 13:50:37 -0300 (Thu, 12 Mar 2009) | 8 lines Fix another scenario where depending on configuration the stream would not get read. For custom commands we don't know whether the audio is coming from a stream or not so we are going to have to read the data despite no channels. (closes issue #14416) Reported by: caspy ........ r181660 | file | 2009-03-12 13:52:45 -0300 (Thu, 12 Mar 2009) | 2 lines Fix logic flaw in previous commit. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@181662 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-12Merged revisions 181656 via svnmerge from file1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ................ r181656 | file | 2009-03-12 13:32:20 -0300 (Thu, 12 Mar 2009) | 17 lines Merged revisions 181655 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r181655 | file | 2009-03-12 13:29:19 -0300 (Thu, 12 Mar 2009) | 10 lines Fix issue with streaming MOH failing if nobody is listening. When a music class is setup to actually provide music on hold from a stream we need to constantly read audio from it since it will constantly be providing audio. This is now done despite there being no channels listening to it. (closes issue #14416) Reported by: caspy ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@181657 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-19Merged revisions 177286 via svnmerge from murf2-228/+238
https://origsvn.digium.com/svn/asterisk/trunk ................ r177286 | murf | 2009-02-18 16:50:57 -0700 (Wed, 18 Feb 2009) | 39 lines Merged revisions 177225 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r177225 | murf | 2009-02-18 15:43:14 -0700 (Wed, 18 Feb 2009) | 34 lines This patch fixes a regression of sorts that was introduced in rev 24425. It basically fixes AST-190/ABE-1782. What was wrong: the user has 6000 extensions in one context; and then 6000 contexts, one per extension. The parser could only handle about 4893 of the 6000 extens in the single context. This was due to the regression I mentioned. To get rid of shift/reduce conflicts, Luigi set up right-recursive lists for globals, context elements, switch lists, and statements. Right recursive lists got rid of the warnings, but instead, they use up a tremendous amount of stack space when the lists are long. I saw this a few years back, and resolved not to fix it until someone complained. That day has arrived! After the changes were made, I ran the regression test suite, and there were no problems. I took the test case the user provided, and added 100,000 extensions to the single context, that already had 6,000 extens in it. (I'll see your 6, and raise you 100!) It takes a few minutes to read it all in, check it and generate code for it, but no problems. So, I think I can say that fundamentally, there are no longer any limits on the number of items you can place in contexts, statement blocks, switches, or globals, beyond your virt mem constraints. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@177289 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-09Merged revisions 174219 via svnmerge from file1-9/+3
https://origsvn.digium.com/svn/asterisk/trunk ................ r174219 | file | 2009-02-09 10:49:24 -0400 (Mon, 09 Feb 2009) | 11 lines Merged revisions 174218 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r174218 | file | 2009-02-09 10:48:21 -0400 (Mon, 09 Feb 2009) | 4 lines Don't overwrite our pointer to the music class when music on hold stops. We will use this if it starts again to see if we can resume the music where it left off. (closes issue #14407) Reported by: mostyn ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@174220 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-07Merged revisions 174149 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r174149 | russell | 2009-02-07 10:16:50 -0600 (Sat, 07 Feb 2009) | 10 lines Merged revisions 174148 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r174148 | russell | 2009-02-07 10:15:07 -0600 (Sat, 07 Feb 2009) | 2 lines Fix a race condition that could cause a crash. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@174151 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-29Merged revisions 172441 via svnmerge from tilghman2-5/+38
https://origsvn.digium.com/svn/asterisk/trunk ................ r172441 | tilghman | 2009-01-29 17:15:40 -0600 (Thu, 29 Jan 2009) | 16 lines Merged revisions 172438 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r172438 | tilghman | 2009-01-29 16:54:29 -0600 (Thu, 29 Jan 2009) | 9 lines Lose the CAP_NET_ADMIN at every fork, instead of at startup. Otherwise, if Asterisk runs as a non-root user and the administrator does a 'restart now', Asterisk loses the ability to set QOS on packets. (closes issue #14004) Reported by: nemo Patches: 20090105__bug14004.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@172503 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-16Merged revisions 168746 via svnmerge from murf1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r168746 | murf | 2009-01-15 17:34:31 -0700 (Thu, 15 Jan 2009) | 20 lines Merged revisions 168745 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168745 | murf | 2009-01-15 17:19:12 -0700 (Thu, 15 Jan 2009) | 14 lines This patch fixes a problem where a goto (or jump, in this case) fails a consistency check because it can't find a matching extension. The problem was a missing instruction to end the range notation in the code where it converts the pattern into a regex and uses the regex code to determine the match. I tested using the AEL code the user supplied, and now, the consistency check passes. (closes issue #14141) Reported by: dimas ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168747 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-13Merged revisions 168562 via svnmerge from russell2-10/+10
https://origsvn.digium.com/svn/asterisk/trunk ................ r168562 | russell | 2009-01-13 13:22:13 -0600 (Tue, 13 Jan 2009) | 10 lines Merged revisions 168561 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168561 | russell | 2009-01-13 13:13:05 -0600 (Tue, 13 Jan 2009) | 2 lines Revert unnecessary indications API change from rev 122314 ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168564 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-12Merged revisions 168517 via svnmerge from jpeeler1-0/+5
https://origsvn.digium.com/svn/asterisk/trunk ................ r168517 | jpeeler | 2009-01-12 15:51:46 -0600 (Mon, 12 Jan 2009) | 12 lines Merged revisions 168516 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168516 | jpeeler | 2009-01-12 15:42:34 -0600 (Mon, 12 Jan 2009) | 5 lines (closes issue #13881) Reported by: hoowa Update the app CDR field for AGI commands that are not executing an application via "exec". ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168518 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-09Merged revisions 168200 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ................ r168200 | russell | 2009-01-09 16:21:05 -0600 (Fri, 09 Jan 2009) | 10 lines Merged revisions 168198 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r168198 | russell | 2009-01-09 16:14:38 -0600 (Fri, 09 Jan 2009) | 2 lines Make this compile for mvanbaak ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168204 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-09Merged revisions 168142 via svnmerge from twilson1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r168142 | twilson | 2009-01-09 14:25:25 -0600 (Fri, 09 Jan 2009) | 7 lines Don't leak memory if phoneprov.conf does not exist (closes issue #14203) Reported by: jamesgolovich Patches: asterisk-phoneprovleak.diff.txt uploaded by jamesgolovich (license 176) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168152 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-09Merged revisions 168090 via svnmerge from tilghman1-0/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r168090 | tilghman | 2009-01-09 12:30:55 -0600 (Fri, 09 Jan 2009) | 3 lines When using ast_str with a non-ast_str-enabled API, we need to update the buffer or otherwise, we cannot use ast_str_strlen(). ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@168091 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-08Merged revisions 167894 via svnmerge from tilghman1-3/+19
https://origsvn.digium.com/svn/asterisk/trunk ................ r167894 | tilghman | 2009-01-08 16:37:20 -0600 (Thu, 08 Jan 2009) | 13 lines Merged revisions 167840 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r167840 | tilghman | 2009-01-08 16:08:56 -0600 (Thu, 08 Jan 2009) | 6 lines Don't truncate database results at 255 chars. (closes issue #14069) Reported by: evandro Patches: 20081214__bug14069.diff.txt uploaded by Corydon76 (license 14) ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@167904 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-30Merged revisions 166908 via svnmerge from twilson1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r166908 | twilson | 2008-12-30 14:50:05 -0600 (Tue, 30 Dec 2008) | 2 lines Fix some svn:keywords ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166909 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-22Merged revisions 166470 via svnmerge from mmichelson1-8/+16
https://origsvn.digium.com/svn/asterisk/trunk ........ r166470 | mmichelson | 2008-12-22 17:25:34 -0600 (Mon, 22 Dec 2008) | 11 lines Always use the value of the AGISIGHUP when running an AGI. Prior to this patch, the value of AGISIGUP was not always honored when set on a channel. (closes issue #13711) Reported by: fmueller Patches: 13711.patch uploaded by putnopvut (license 60) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166471 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-22Merged revisions 166436 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r166436 | russell | 2008-12-22 15:45:28 -0600 (Mon, 22 Dec 2008) | 2 lines Cosmetic change - don't mix struct initializer styles. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166437 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-22Merged revisions 166377 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r166377 | russell | 2008-12-22 14:26:48 -0600 (Mon, 22 Dec 2008) | 2 lines Fix a bad typo. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166378 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-22Merged revisions 166273 via svnmerge from russell1-368/+416
https://origsvn.digium.com/svn/asterisk/trunk ........ r166273 | russell | 2008-12-22 10:10:40 -0600 (Mon, 22 Dec 2008) | 7 lines Re-work ref count handling of MoH classes using astobj2 to resolve crashes. (closes issue #13566) Reported by: igorcarneiro Tested by: russell Review: http://reviewboard.digium.com/r/106/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166276 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-22Merged revisions 166258 via svnmerge from russell1-19/+4
https://origsvn.digium.com/svn/asterisk/trunk ........ r166258 | russell | 2008-12-22 08:16:54 -0600 (Mon, 22 Dec 2008) | 26 lines Remove AST_PBX_KEEPALIVE usage from res_agi. This patch removes the usage of AST_PBX_KEEPALIVE from res_agi. The only usage was for the AGI command, "asyncagi break". This patch removes this feature. Normally, a feature would not be removed like this. However, this code is broken and usage of it will result in a memory leak. Usage of this feature will make the AGI code return a result of AST_PBX_KEEPALIVE. The PBX handler assumes that another thread has assumed ownership of the channel. The channel thread will exit without destroying the channel. Unfortunately, _no_ thread has ownership of the channel at this point. There are a couple of serious problems here: 1) The only way to recover the caller is to issue a channel redirect. This will work, but this will be done with a masquerade, and the old ast_channel structure will be lost. 2) Until the channel redirect happens, there is no code servicing the channel. That means nothing is reading audio or handling events coming from the channel. This is very bad. The recommended way to get this same "break" functionality is to issue the redirect while the channel is still being handled by the AGI code. That way, there will be no memory leak, and there will be no period of time that the channel is not being serviced. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.0@166259 f38db490-d61c-443f-a65b-d21fe96a405b