summaryrefslogtreecommitdiff
path: root/main/asterisk.c
AgeCommit message (Collapse)Author
2012-07-31Clean up and ensure proper usage of alloca()Kinsey Moore
This replaces all calls to alloca() with ast_alloca() which calls gcc's __builtin_alloca() to avoid BSD semantics and removes all NULL checks on memory allocated via ast_alloca() and ast_strdupa(). (closes issue ASTERISK-20125) Review: https://reviewboard.asterisk.org/r/2032/ Patch-by: Walter Doekes (wdoekes) ........ Merged revisions 370642 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 370643 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-25Enable usage of system-provided NetBSD editline library if available.Kevin P. Fleming
This patch changes the Asterisk configure script and build system to detect the presence of the NetBSD editline library (libedit) on the system. If it is found, it will be used in preference to the version included in the Asterisk source tree. (closes issue ASTERISK-18725) Reported by: Jeffrey C. Ollie Review: https://reviewboard.asterisk.org/r/1528/ Patches: 0001-Allow-linking-building-against-an-external-editline.patch uploaded by jcollie (license #5373) (heavily modified by kpfleming) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370481 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-11Named ACLs: Introduces a system for creating and sharing ACLsJonathan Rose
This patch adds Named ACL functionality to Asterisk. This allows system administrators to define an ACL and refer to it by a unique name. Configurable items can then refer to that name when specifying access control lists. It also includes updates to all core supported consumers of ACLs. That includes manager, chan_sip, and chan_iax2. This feature is based on the deluxepine-trunk by Olle E. Johansson and provides a subset of the Named ACL functionality implemented in that branch. For more information on this feature, see acl.conf and/or the Asterisk wiki. Review: https://reviewboard.asterisk.org/r/1978/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-11Fix validation errors when producing documentation using default build scriptMatthew Jordan
The awk script parses out the first instance of the DOCUMENTATION tag that it finds within a file. If a file did not previously have a DOCUMENTATION tag but received one due to it having an AMI event, then the XML fragment associated with the AMI event was erroneously placed in the resulting XML file. Without the python scripts, these XML fragments will not validate. This patch adds DOCUMENTATION tags at the top of those files that did not previously have them to prevent the awk script from pulling AMI event documentation. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-10Add some additional documentation for core AMI eventsMatthew Jordan
This patch adds some basic documentation for a number of modules. This includes core source files in Asterisk (those in main), as well as chan_agent, chan_dahdi, chan_local, sig_analog, and sig_pri. The DTD has also been updated to allow referencing of AMI commands. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-15Multiple revisions 369001-369002Kevin P. Fleming
........ r369001 | kpfleming | 2012-06-15 10:56:08 -0500 (Fri, 15 Jun 2012) | 11 lines Add support-level indications to many more source files. Since we now have tools that scan through the source tree looking for files with specific support levels, we need to ensure that every file that is a component of a 'core' or 'extended' module (or the main Asterisk binary) is explicitly marked with its support level. This patch adds support-level indications to many more source files in tree, but avoids adding them to third-party libraries that are included in the tree and to source files that don't end up involved in Asterisk itself. ........ r369002 | kpfleming | 2012-06-15 10:57:14 -0500 (Fri, 15 Jun 2012) | 3 lines Add a script to enable finding source files without support-levels defined. ........ Merged revisions 369001-369002 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 369005 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-04Merge changes dealing with support for Digium phones.Mark Michelson
Presence support has been added. This is accomplished by allowing for presence hints in addition to device state hints. A dialplan function called PRESENCE_STATE has been added to allow for setting and reading presence. Presence can be transmitted to Digium phones using custom XML elements in a PIDF presence document. Voicemail has new APIs that allow for moving, removing, forwarding, and playing messages. Messages have had a new unique message ID added to them so that the APIs will work reliably. The state of a voicemail mailbox can be obtained using an API that allows one to get a snapshot of the mailbox. A voicemail Dialplan App called VoiceMailPlayMsg has been added to be able to play back a specific message. Configuration hooks have been added. Configuration hooks allow for a piece of code to be executed when a specific configuration file is loaded by a specific module. This is useful for modules that are dependent on the configuration of other modules. chan_sip now has a public method that allows for a custom SIP INFO request to be sent mid-dialog. Digium phones use this in order to display progress bars when files are played. Messaging support has been expanded a bit. The main visible difference is the addition of an AMI action MessageSend. Finally, a ParkingLots manager action has been added in order to get a list of parking lots. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-22Fix race condition for CEL LINKEDID_END eventTerry Wilson
This patch fixes to situations that could cause the CEL LINKEDID_END event to be missed. 1) During a core stop gracefully, modules are unloaded when ast_active_channels == 0. The LINKDEDID_END event fires during the channel destructor. This means that occasionally, the cel_* module will be unloaded before the channel is destroyed. It seemed generally useful to wait until the refcount of all channels == 0 before unloading, so I added a channel counter and used it in the shutdown code. 2) During a masquerade, ast_channel_change_linkedid is called. It calls ast_cel_check_retire_linkedid which unrefs the linkedid in the linkedids container in cel.c. It didn't ref the new linkedid. Now it does. Review: https://reviewboard.asterisk.org/r/1900/ ........ Merged revisions 367292 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 367299 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-10Coverity Report: Fix issues for error type CHECKED_RETURN for coreJonathan Rose
(issue ASTERISK-19658) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1905/ ........ Merged revisions 366094 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 366106 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-26Add more constness to the end_buf pointer in the netconsoleTerry Wilson
issue ASTERISK-18308 Review: https://reviewboard.asterisk.org/r/1876/ ........ Merged revisions 364046 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 364047 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@364048 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-25Make it possible to change the minimum DTMF duration in asterisk.confOlle Johansson
Asterisk has a setting for the minimum allowed DTMF. If we get shorter DTMF tones, these will be changed to the minimum on the outbound call leg. (closes issue ASTERISK-19772) Review: https://reviewboard.asterisk.org/r/1882/ Reported by: oej Tested by: oej Patches by: oej Thanks to the reviewers. 1.8 branch for this patch: agave-dtmf-duration-asterisk-conf-1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-24OpenBSD doesn't have rawmemchr, use strchrTerry Wilson
(closes issue ASTERISK-19758) Reported by: Barry Miller Tested by: Terry Wilson Patches: 362758-diff uploaded by Barry Miller (license 5434) ........ Merged revisions 362868 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362869 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-19Handle multiple commands per connection via netconsoleTerry Wilson
Asterisk would accept multiple NULL-delimited CLI commands via the netconsole socket, but would occasionally miss a command due to the command not being completely read into the buffer. This patch ensures that any partial commands get moved to the front of the read buffer, appended to, and properly sent. (closes issue ASTERISK-18308) Review: https://reviewboard.asterisk.org/r/1876/ ........ Merged revisions 362536 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362537 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362538 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-19Fix a variety of potential buffer overflowsMatthew Jordan
* chan_mobile: Fixed an overrun where the cind_state buffer (an integer array of size 16) would be overrun due to improper bounds checking. At worst, the buffer can be overrun by a total of 48 bytes (assuming 4-byte integers), which would still leave it within the allocated memory of struct hfp. This would corrupt other elements in that struct but not necessarily cause any further issues. * app_sms: The array imsg is of size 250, while the array (ud) that the data is copied into is of size 160. If the size of the inbound message is greater then 160, up to 90 bytes could be overrun in ud. This would corrupt the user data header (array udh) adjacent to ud. * chan_unistim: A number of invalid memmoves are corrected. These would move data (which may or may not be valid) into the ends of these buffers. * asterisk: ast_console_toggle_loglevel does not check that the console log level being set is less then or equal to the allowed log levels of 32. * format_pref: In ast_codec_pref_prepend, if any occurrence of the specified codec is not found, the value used to index into the array pref->order would be one greater then the maximum size of the array. * jitterbuf: If the element being placed into the jitter buffer lands in the last available slot in the jitter history buffer, the insertion sort attempts to move the last entry in the buffer into one slot past the maximum length of the buffer. Note that this occurred for both the min and max jitter history buffers. * tdd: If a read from fsk_serial returns a character that is greater then 32, an attempt to read past one of the statically defined arrays containing the values that character maps to would occur. * localtime: struct ast_time and tm are not the same size - ast_time is larger, although it contains the elements of tm within it in the same layout. Hence, when using memcpy to copy the contents of tm into ast_time, the size of tm should be used, as opposed to the size of ast_time. * extconf: this treats ast_timing's minmask array as if it had a length of 48, when it has defined the size of the array as 24. pbx.h defines minmask as having a size of 48. (issue ASTERISK-19668) Reported by: Matt Jordan ........ Merged revisions 362485 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362496 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-17Fix places in main where a negative return value could impact executionMatthew Jordan
This patch addresses a number of modules in main that did not handle the negative return value from function calls adequately, or were not sufficiently clear that the conditions leading to improper handling of the return values could not occur. This includes: * asterisk.c: A negative return value from the read function would be used directly as an index into a buffer. We now check for success of the read function prior to using its result as an index. * manager.c: Check for failures in mkstemp and lseek when handling the temporary file created for processing data returned from a CLI command in action_command. Also check that the result of an lseek is sanitized prior to using it as the size of a memory map to allocate. (issue ASTERISK-19655) Reported by: Matt Jordan Review: https://reviewboard.asterisk.org/r/1863/ ........ Merged revisions 362359 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 362360 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-17Avoid cppcheck warnings; removing unused vars and a bit of cleanup.Walter Doekes
Patch by: junky Review: https://reviewboard.asterisk.org/r/1743/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@362307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-12Add option to invoke the extensions.conf stdexten using the legacy macro method.Richard Mudgett
ASTERISK-18809 eliminated the legacy macro invocation of the stdexten in favor of the Gosub method without a means of backwards compatibility. (issue ASTERISK-18809) (closes issue ASTERISK-19457) Reported by: Matt Jordan Tested by: rmudgett Review: https://reviewboard.asterisk.org/r/1855/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@361998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-22Kill off red blobs in most of main/*Kinsey Moore
Everything still compiled after making these changes, so I assume these whitespace-only changes didn't break anything (and shouldn't have). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@360190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-17Non-verbose output should always go to the remote console, regardless of the ↵Tilghman Lesher
previous level. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-14Re-commit the verbose branch.Tilghman Lesher
This change permits each verbose destination (consoles, logger) to have its own concept of what the verbosity level is. The big feature here is that the logger will now be able to capture a particular verbosity level without condemning each console to need to suffer that level of verbosity. Additionally, a stray 'core set verbose' will no longer change what will go to the log. Review: https://reviewboard.asterisk.org/r/1599/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355413 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-15Allow only one thread at a time to do asterisk cleanup/shutdown.Walter Doekes
Add locking around the really-really-quit part of the core stop/restart part. Previously more than one thread could be called to do cleanup, causing atexit handlers to be run multiple times, in turn causing segfaults. (issue ASTERISK-18883) Reviewed by: Terry Wilson Review: https://reviewboard.asterisk.org/r/1662/ Review: https://reviewboard.asterisk.org/r/1658/ ........ Merged revisions 350888 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350889 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-13Make sure asterisk builds on OpenBSDKinsey Moore
OpenBSD defines SO_PEERCRED, but it returns a 'struct sockpeercred', not 'struct ucred', which causes compilation of main/asterisk.c to fail in read_credentials(). This allows configure to check for sockpeercred and asterisk to deal with it properly. (closes issue ASTERISK-18929) Reported-by: Barry Miller Patch-by: Barry Miller ........ Merged revisions 350730 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350731 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09Make Asterisk -x command line parameter imply -r parameter presence.Richard Mudgett
The Asterisk -x command line parameter is documented inconsistently. * Made the -x documentation and behavior consistent. * Since this is also a new year, updated the copyright notices while here. (closes issue ASTERISK-19094) Reported by: Eugene Patches: issueA19094_correct_asterisk_option_x.patch (license #5674) patch uploaded by Walter Doekes (modified) Tested by: Eugene ........ Merged revisions 350075 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 350076 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-05Ensures Asterisk closes when receiving terminal signals in 'no fork' mode.Jonathan Rose
When catching a signal, in no fork mode the console thread is identical to the thread responsible for catching the signal and closing Asterisk, which requires it to first dispense with the console thread. Prior to this patch, if these threads were identical, upon receiving a killing signal, the thread will send an URG signal to itself, which we also catch and then promptly do nothing with. Obviously this isn't useful behavior. (closes issue ASTERISK-19127) Reported By: Bryon Clark Patches: quit_on_signals.patch uploaded by Bryon Clark (license 6157) ........ Merged revisions 349672 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 349673 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@349674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-12Backed out core changes from r346391Matthew Jordan
During testing, it was discovered that there were a number of side effects introduced by r346391 and subsequent check-ins related to it (r346429, r346617, and r346655). This included the /main/stdtime/ test 'hanging', as well as the remote console option failing to receive the appropriate output after a period of time. I only backed out the changes to main/ and utils/, as this was adequate to reverse the behavior experienced. (issue ASTERISK-18974) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-07Add ASTSBINDIR to the list of configurable pathsTerry Wilson
This patch also makes astdb2sqlite3 and astcanary use the configured directory instead of relying on $PATH. (closes issue ASTERISK-18959) Review: https://reviewboard.asterisk.org/r/1613/ ........ Merged revisions 347344 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-30Fix edge case for overflow buffer.Tilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-29Allow each logging destination and console to have its own notion of the ↵Tilghman Lesher
verbosity level. Review: https://reviewboard.asterisk.org/r/1599 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-13do parse defaultlanguage from asterisk.confTzafrir Cohen
Do parse the option "defaultlanguage" from the [options] section of asterisk.conf, as in the sample config file. Otherwise the build-time default language (normally "en") is always the default one. Review: https://reviewboard.asterisk.org/r/1342/ Signed-off-by: Tzafrir Cohen (License #5035) <tzafrir.cohen@xorcom.com> Original-Commit: http://svn.digium.com/svn/asterisk/branches/1.8@335716 Original-Commit: http://svn.digium.com/svn/asterisk/branches/10@335717 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-16Merged revisions 332101 via svnmerge from Richard Mudgett
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r332101 | rmudgett | 2011-08-16 12:17:28 -0500 (Tue, 16 Aug 2011) | 140 lines Merged revisions 332100 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r332100 | rmudgett | 2011-08-16 11:31:36 -0500 (Tue, 16 Aug 2011) | 133 lines Fix multiple parking issues. JIRA ASTERISK-17183 Multi-parkinglot directs calls to wrong parkinglot. JIRA ASTERISK-17870 Cannot retrieve parked calls. JIRA ASTERISK-17430 ParkedCall() with no extension should pickup first available call and does not. JIRA AST-576 Issues with parking lots * Removed searching for parking lots by extension. Parking lots can only be found by the parking lot name since parking lot access extensions and spaces are not guaranteed to be unique. * Added parking_lot_name option to the Park and ParkedCall applications. Updated documentation for Park and ParkedCall applications. * Add parkext_exclusive configuration option to make parking entry extensions specify which parking lot they access. (closes issue ASTERISK-17183) Reported by: David Cabrejos Tested by: rmudgett, David Cabrejos (closes issue ASTERISK-17870) Reported by: Remi Quezada (closes issue ASTERISK-17430) Reported by: Philippe Lindheimer JIRA ASTERISK-17452 Parking_offset not used JIRA AST-624 'next' setting for findslot does nothing * Reimplemented since findslot feature option broken by -r114655. (closes issue ASTERISK-17452) Reported by: David Woolley Tested by: rmudgett JIRA ASTERISK-15792 Dialplan continues execution after transfer to park. This happens for DTMF attended transfer, DTMF blind transfer, and DTMF one-touch-parking if the party initiating these features also initiated the call. * Fixed the return code from the affected builtin features when parking a call. (closes issue ASTERISK-15792) Reported by: Mat Murdock Tested by: rmudgett, twilson JIRA AST-607 The courtesytone is not playing to the expected call when picking up a parked call. This is mostly a documentation problem. However, the option is not reset to the default when features.conf is reloaded. * Updated features.conf.sample documentation for courtesytone and parkedplay options. * Reset the parkedplay option to default when features.conf is reloaded. JIRA AST-615 AMI Park action followed by features reload results in orphaned channels in parking lot. * Reloading features.conf will not touch parking lots that have calls still parked in them. Reload again at a later time. Misc additional fixes: * Added unit test for parking lot dialplan usage checking. * Made update connected line when a parked call is retrieved from a parking lot. * Made retrieved parked call stop ringing or MOH depending upon how the call was waiting in the parking lot. * Made CLI "features show" indicate if the parking lot is enabled for use. * Added PARKINGDYNEXTEN channel variable to allow dynamic parking lots to specify the parking lot access extension. * Made AMI ParkedCalls action ParkedCall events have a Parkinglot header. * Made AMI ParkedCalls action ParkedCallsComplete event have a Total header. * Fixed potential deadlock from AMI Park action holding channel locks while calling masq_park_call(). * Fixed several places where ast_strdupa() were used inside of loops. (Mostly fixed by refactoring the loop body into its own function.) * Fixed copy_parkinglot() copying too much from the source parking lot. Extracted the parking lot configuration settings into struct parkinglot_cfg. * Refactored courtesytone playing code to put the channel not playing the tone in autoservice. * Fix when pbx-parkingfailed is played that the other channel is put in autoservice if it exists. * Fixed parkinglot reference leak in parked_call_exec() error paths. * Fixed parkinglot_unref() use of parkinglot after it was unreffed. * Made destroy the struct ast_parkinglot parkings lock when done. * Refactored the features.conf parking lot configuration code to eliminate redundancy. * Fixed feature reload to better protect parking lots. * Fixed parking lot container reference leak in handle_parkedcalls(). * Fixed the total count in handle_parkedcalls(). Review: https://reviewboard.asterisk.org/r/1358/ ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@332117 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-18Merged revisions 328609 via svnmerge from Mark Murawki
https://origsvn.digium.com/svn/asterisk/branches/1.10 ................ r328609 | markm | 2011-07-18 08:37:53 -0400 (Mon, 18 Jul 2011) | 15 lines Merged revisions 328593 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328593 | markm | 2011-07-18 08:06:50 -0400 (Mon, 18 Jul 2011) | 8 lines Fixed invalid read and null pointer deref on asterisk shutdown. In some cases when starting asterisk with -c and hitting control-c to shutdown, there will be an invalid read and null pointer deref causing a crash. (closes issue ASTERISK-17927) Reported by: Mark Murawski Tested by: Mark Murawski, Kinsey Moore, Tilghman Lesher ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-06Replace Berkeley DB with SQLite 3Terry Wilson
There were some bugs in the very ancient version of Berkeley DB that Asterisk used. Instead of spending the time tracking down the bugs in the Berkeley code we move to the much better documented SQLite 3. Conversion of the old astdb happens at runtime by running the included astdb2sqlite3 utility. The ast_db API with SQLite 3 backend should behave identically to the old Berkeley backend, but in the future we could offer a much more robust interface. We do not include the SQLite 3 library in the source tree, but instead rely upon the distribution-provided libraries. SQLite is so ubiquitous that this should not place undue burden on administrators. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-27Merged revisions 324955 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r324955 | tilghman | 2011-06-27 11:30:50 -0500 (Mon, 27 Jun 2011) | 5 lines Save and restore errno from within signal handlers. This is recommended by the POSIX standard, as well as by the sigaction(2) manpage for various platforms that we support (e.g. Mac OS X). ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@324961 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-06Merged revisions 322069 via svnmerge from Jonathan Rose
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r322069 | jrose | 2011-06-06 14:07:56 -0500 (Mon, 06 Jun 2011) | 8 lines Fixes level toggling for logger set levels since it was reversed (closes issue ASTERISK-17850) Reported by: Luke H Tested by: jrose, Luke H Review: https://reviewboard.asterisk.org/r/1244/ ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-01Support routing text messages outside of a call.Russell Bryant
Asterisk now has protocol independent support for processing text messages outside of a call. Messages are routed through the Asterisk dialplan. SIP MESSAGE and XMPP are currently supported. There are options in sip.conf and jabber.conf that enable these features. There is a new application, MessageSend(). There are two new functions, MESSAGE() and MESSAGE_DATA(). Documentation will be available on the project wiki, wiki.asterisk.org. Thanks to Terry Wilson for the assistance with development and to David Vossel for helping with some additional testing. Review: https://reviewboard.asterisk.org/r/1042/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@321546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05Add some new editline bindings by default, and allow for user specified ↵Sean Bright
configuration. I excluded the part of this patch that used the HOME environment variable since the built-in editline library goes to great lengths to disallow that. Instead only settings the EDITRC environment variable will use a user specified file. Also, the default environment variable use to determine the edit more is AST_EDITMODE instead of AST_EDITOR (although the latter is still supported). (closes issue #15929) Reported by: kkm Patches: astcli-editrc-v2.diff uploaded by kkm (license 888) 015929-astcli-editrc-trunk.240324.diff uploaded by kkm (license 888) Tested by: seanbright git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317395 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03Merged revisions 316265 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines Fix a bunch of compiler warnings generated by gcc 4.6.0. Most of these are -Wunused-but-set-variable, but there were a few others mixed in here, as well. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-27Merged revisions 315810 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r315810 | russell | 2011-04-27 10:55:48 -0500 (Wed, 27 Apr 2011) | 2 lines Set the copyright year to 2011 in the startup message. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315811 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-01Merged revisions 312286,312288 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r312286 | tilghman | 2011-04-01 05:44:33 -0500 (Fri, 01 Apr 2011) | 2 lines Reload must react correctly against a possibly changed table, so dropping the conditional reload flag. ................ r312288 | tilghman | 2011-04-01 05:58:45 -0500 (Fri, 01 Apr 2011) | 21 lines Merged revisions 312287 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r312287 | tilghman | 2011-04-01 05:51:24 -0500 (Fri, 01 Apr 2011) | 14 lines Merged revisions 312285 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r312285 | tilghman | 2011-04-01 05:36:42 -0500 (Fri, 01 Apr 2011) | 7 lines Found some leaking file descriptors while looking at ast_FD_SETSIZE dead code. (issue #18969) Reported by: oej Patches: 20110315__issue18969__14.diff.txt uploaded by tilghman (license 14) ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@312289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-05Merged revisions 309678 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r309678 | tilghman | 2011-03-05 04:29:30 -0600 (Sat, 05 Mar 2011) | 14 lines Merged revisions 309677 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r309677 | tilghman | 2011-03-05 04:28:24 -0600 (Sat, 05 Mar 2011) | 7 lines Missed part of the conversion when we started passing ppid to astcanary. (closes issue #18850) Reported by: viraptor Patches: canary_ppid.patch uploaded by viraptor (license 543) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@309679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd ↵David Vossel
audio ConfBridge, and other stuff -Functional changes 1. Dynamic global format list build by codecs defined in codecs.conf 2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf 3. Negotiation of SILK attributes in chan_sip. 4. SPEEX 32khz with translation 5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation using codec_resample.c 6. Various changes to RTP code required to properly handle the dynamic format list and formats with attributes. 7. ConfBridge now dynamically jumps to the best possible sample rate. This allows for conferences to take advantage of HD audio (Which sounds awesome) 8. Audiohooks are no longer limited to 8khz audio, and most effects have been updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT. 9. codec_resample now uses its own code rather than depending on libresample. -Organizational changes Global format list is moved from frame.c to format.c Various format specific functions moved from frame.c to format.c Review: https://reviewboard.asterisk.org/r/1104/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-10Merged revisions 307536 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r307536 | qwell | 2011-02-10 16:39:30 -0600 (Thu, 10 Feb 2011) | 22 lines Merged revisions 307535 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r307535 | qwell | 2011-02-10 16:35:49 -0600 (Thu, 10 Feb 2011) | 15 lines Merged revisions 307534 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r307534 | qwell | 2011-02-10 16:33:09 -0600 (Thu, 10 Feb 2011) | 8 lines Remove color when executing commands via a remote console. Essentially this makes '-x' imply '-n' on rasterisk. This was done in a different and incomplete way previously, which I'm reverting here. (issue #18776) Reported by: alecdavis ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307537 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03Asterisk media architecture conversion - no more format bitfieldsDavid Vossel
This patch is the foundation of an entire new way of looking at media in Asterisk. The code present in this patch is everything required to complete phase1 of my Media Architecture proposal. For more information about this project visit the link below. https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal The primary function of this patch is to convert all the usages of format bitfields in Asterisk to use the new format and format_cap APIs. Functionally no change in behavior should be present in this patch. Thanks to twilson and russell for all the time they spent reviewing these changes. Review: https://reviewboard.asterisk.org/r/1083/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-29Remove some trailing whitespace and steal revision 300000.Sean Bright
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-12Add support for several platforms to obtain the real thread ID.Jeff Peeler
Already had the pthread ID which is not the same. The most obvious enhancement is in the "core show threads" output. As stated in the utils header, if the platform isn't supported -1 is reported (instead of the process ID previously). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-30move devices from hints into an ao2_containerStefan Schmidt
by splitting up devices from hints into an own ao2_container the callback to get these devices for statechange handling is faster. with this changes the length of a device used in a hint isnt longer restricted to 80 characters. Tests showed that calling handle_statechange is 40 times faster if no hints are used and 25 times faster if there are any hints. (closes issue #17928) Reported by: mdu113 Tested by: schmidts Review: https://reviewboard.asterisk.org/r/1003/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296752 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-29Merged revisions 296534 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r296534 | tilghman | 2010-11-29 01:28:44 -0600 (Mon, 29 Nov 2010) | 20 lines Merged revisions 296533 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ........ r296533 | tilghman | 2010-11-29 01:27:09 -0600 (Mon, 29 Nov 2010) | 13 lines I love standards. There are so many to choose from. Except when there isn't one. Linux and *BSD disagree on the elements within the ucred structure. Detect which one is in use on the system. (closes issue #18384) Reported by: bjm Patches: cred-diffs uploaded by bjm (license 473) 20101127__issue18384__1.6.2.diff.txt uploaded by tilghman (license 14) 20101127__issue18384__1.8.diff.txt uploaded by tilghman (license 14) Tested by: tilghman, bjm ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-08Merged revisions 290864 via svnmerge from Jeff Peeler
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r290864 | jpeeler | 2010-10-07 21:56:24 -0500 (Thu, 07 Oct 2010) | 23 lines Merged revisions 290863 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r290863 | jpeeler | 2010-10-07 21:45:44 -0500 (Thu, 07 Oct 2010) | 16 lines Merged revisions 290862 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r290862 | jpeeler | 2010-10-07 21:35:29 -0500 (Thu, 07 Oct 2010) | 9 lines Ensure editline cleanup occurs when Ctrl-C is pressed at control console. A recent change was made to avoid a race condition on shutdown which only called the end functions from the console thread. However, when pressing Ctrl-C the quit handler is called from the signal handler thread. (closes issue #17698) Reported by: jmls ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@290865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-22Merged revisions 288341 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r288341 | russell | 2010-09-22 11:45:18 -0500 (Wed, 22 Sep 2010) | 25 lines Merged revisions 288340 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r288340 | russell | 2010-09-22 11:44:13 -0500 (Wed, 22 Sep 2010) | 18 lines Merged revisions 288339 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r288339 | russell | 2010-09-22 11:39:16 -0500 (Wed, 22 Sep 2010) | 11 lines Fix a 100% CPU consumption problem when setting console=yes in asterisk.conf. The handling of -c and console=yes should be the same, but they were not. When you specify -c, it sets both a flag for console module and for asterisk not to fork() off into the background. The handling of console=yes only set console mode, so you would end up with a background process() trying to run the Asterisk console and freaking out since it didn't have anything to read input from. Thanks to beagles for reporting and helping debug the problem! ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21Merged revisions 287935 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.8 ................ r287935 | tilghman | 2010-09-21 14:08:36 -0500 (Tue, 21 Sep 2010) | 16 lines Merged revisions 287934 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r287934 | tilghman | 2010-09-21 14:07:53 -0500 (Tue, 21 Sep 2010) | 9 lines Merged revisions 287933 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r287933 | tilghman | 2010-09-21 14:07:07 -0500 (Tue, 21 Sep 2010) | 2 lines Less than zero is an error, not any non-zero value. ........ ................ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287936 65c4cc65-6c06-0410-ace0-fbb531ad65f3