[asterisk-commits] bebuild: tag 12.0.0-alpha1 r398164 - /tags/12.0.0-alpha1/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Aug 30 16:48:38 CDT 2013
Author: bebuild
Date: Fri Aug 30 16:48:36 2013
New Revision: 398164
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=398164
Log:
Importing files for 12.0.0-alpha1 release.
Added:
tags/12.0.0-alpha1/.lastclean (with props)
tags/12.0.0-alpha1/.version (with props)
tags/12.0.0-alpha1/ChangeLog (with props)
Added: tags/12.0.0-alpha1/.lastclean
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/.lastclean?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/.lastclean (added)
+++ tags/12.0.0-alpha1/.lastclean Fri Aug 30 16:48:36 2013
@@ -1,0 +1,1 @@
+40
Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.0.0-alpha1/.lastclean
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.0.0-alpha1/.version
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/.version?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/.version (added)
+++ tags/12.0.0-alpha1/.version Fri Aug 30 16:48:36 2013
@@ -1,0 +1,1 @@
+12.0.0-alpha1
Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
svn:keywords = none
Propchange: tags/12.0.0-alpha1/.version
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: tags/12.0.0-alpha1/ChangeLog
URL: http://svnview.digium.com/svn/asterisk/tags/12.0.0-alpha1/ChangeLog?view=auto&rev=398164
==============================================================================
--- tags/12.0.0-alpha1/ChangeLog (added)
+++ tags/12.0.0-alpha1/ChangeLog Fri Aug 30 16:48:36 2013
@@ -1,0 +1,17431 @@
+2013-08-30 Asterisk Development Team <asteriskteam at digium.com>
+
+ * Asterisk 12.0.0-alpha1 Released.
+
+2013-08-30 20:58 +0000 [r398149] David M. Lee <dlee at digium.com>
+
+ * main/asterisk.c, include/asterisk/optional_api.h,
+ main/optional_api.c: Fix graceful shutdown crash. The cleanup
+ code for optional_api needs to happen after all of the optional
+ API users and providers have unused/unprovided. Unfortunately,
+ regsitering the atexit() handler at the beginning of main() isn't
+ soon enough, since module destructors run after that.
+
+2013-08-30 20:34 +0000 [r398147] Rusty Newton <rnewton at digium.com>
+
+ * configs/pjsip.conf.sample: New pjsip.conf.sample (issue
+ ASTERISK-22145) (closes issue ASTERISK-22145) Reported By: Matt
+ Jordan Review: https://reviewboard.asterisk.org/r/2811/
+
+2013-08-30 19:51 +0000 [r398116-398139] kharwell <kharwell at localhost>:
+
+ * res/res_pjsip/config_transport.c, main/sorcery.c,
+ res/res_pjsip_outbound_registration.c,
+ include/asterisk/sorcery.h, res/res_pjsip.c: Add a reloadable
+ option for sorcery type objects Some configuration objects
+ currently won't place nice if reloaded. Specifically, in this
+ case the pjsip transport objects. Now when registering an object
+ in sorcery one may specify that the object is allowed to be
+ reloaded or not. If the object is set to not reload then upon
+ reloading of the configuration the objects of that type will not
+ be reloaded. The initially loaded objects of that type however
+ will remain. While the transport objects will not longer be
+ reloaded it is still possible for a user to configure an endpoint
+ to an invalid transport. A couple of log messages were added to
+ help diagnose this problem if it occurs. (closes issue
+ ASTERISK-22382) Reported by: Rusty Newton (closes issue
+ ASTERISK-22384) Reported by: Rusty Newton Review:
+ https://reviewboard.asterisk.org/r/2807/
+
+ * main/indications.c, main/config.c, res/res_security_log.c, /,
+ channels/chan_sip.c, main/translate.c, main/named_acl.c: Fix
+ various memory leaks main/config.c - cleanup cache fie includes
+ res/res_security_log.c - unregister logger level
+ channesl/chan_sip.c - cleanup io context and notify_types
+ main/translator.c - cleanup at shutdown main/named_acl.c -
+ cleanup cli commands main/indications.c -
+ ast_get_indication_tone() unref default_tone_zone if used (closes
+ issues ASTERISK-22378) Reported by: Corey Farrell Patches:
+ config_shutdown.patch uploaded by coreyfarrell (license 5909)
+ res_security_log.patch uploaded by coreyfarrell (license 5909)
+ chan_sip-11.patch uploaded by coreyfarrell (license 5909)
+ indications_refleak.patch uploaded by coreyfarrell (license 5909)
+ named_acl-cli_unreg-trunk.patch uploaded by coreyfarrell (license
+ 5909) translate_shutdown.patch uploaded by coreyfarrell (license
+ 5909) ........ Merged revisions 398102 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 398103 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 18:35 +0000 [r398100] Matthew Jordan <mjordan at digium.com>
+
+ * UPGRADE.txt: Update UPGRADE.txt file for Asterisk 12 This simply
+ pulls in the changes that were breaking from the CHANGES file and
+ updates a few other areas accordingly. It also removes the 10 =>
+ 11 notes, which are traditionally removed from each major version
+ and stored in the appropriate UPGRADE-X.txt file.
+
+2013-08-30 18:18 +0000 [r398068] Jonathan Rose <jrose at digium.com>
+
+ * main/config_options.c, main/features_config.c: features_config:
+ Ignore parkinglots in features.conf instead of failing to load
+ Parkinglots are defined in res_features.conf now, but this patch
+ fixes features_config so that features don't fail to load when
+ parkinglots are present in features.conf Review:
+ https://reviewboard.asterisk.org/r/2801/
+
+2013-08-30 17:57 +0000 [r398062] kharwell <kharwell at localhost>:
+
+ * main/manager.c, /, res/res_agi.c: Memory leak fix
+ ast_xmldoc_printable returns an allocated block that must be
+ freed by the caller. Fixed manager.c and res_agi.c to stop
+ leaking these results. (closes issue ASTERISK-22395) Reported by:
+ Corey Farrell Patches: manager-leaks-12.patch uploaded by
+ coreyfarrell (license 5909) res_agi-xmldoc-leaks.patch uploaded
+ by coreyfarrell (license 5909) ........ Merged revisions 398060
+ from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........
+ Merged revisions 398061 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 17:10 +0000 [r398023-398025] Richard Mudgett <rmudgett at digium.com>
+
+ * tests/test_substitution.c: test_substitution: Fix failing test.
+ Revert the -r392190 change. The original test was correct. The
+ CDR code was actually returning an unititialized buffer.
+
+ * tests/test_substitution.c, /: test_substituition: Fix failed test
+ reporting to actually report failure. You cannot put the "Testing
+ <blah> pass/fail" on a single line before actually performing the
+ test. Now any additional failure information is logged before the
+ test pass/fail announcement. * Added an additional CDR(answer,u)
+ test. ........ Merged revisions 398018 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 398019 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 16:57 +0000 [r398020] Jonathan Rose <jrose at digium.com>
+
+ * main/udptl.c, main/features_config.c: features_config: Don't
+ require features.conf to be present for Asterisk to load (closes
+ issue ASTERISK-22426) Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/2806/
+
+2013-08-30 16:26 +0000 [r398002-398016] kharwell <kharwell at localhost>:
+
+ * apps/app_mixmonitor.c, /: Fix memory leaks (closes issue
+ ASTERISK-22368) Reported by: Corey Farrell Patches:
+ issueA22368_mixmonitor_free_filename.patch uploaded by wdoekes
+ (license 5674) ........ Merged revisions 398004 from
+ http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+ revisions 398011 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * main/asterisk.c, /: Check return value on fwrite ........ Merged
+ revisions 398000 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-30 13:39 +0000 [r397985-397989] David M. Lee <dlee at digium.com>
+
+ * res/ari/ari_websockets.c, main/asterisk.c,
+ channels/sip/include/sip.h, res/res_ari.c,
+ tests/test_optional_api.c (added), channels/chan_sip.c,
+ include/asterisk/autoconfig.h.in, configure.ac,
+ rest-api-templates/res_ari_resource.c.mustache,
+ res/ari/internal.h, res/res_http_websocket.c, CHANGES,
+ include/asterisk/compiler.h, include/asterisk/ari.h,
+ main/loader.c, include/asterisk/optional_api.h,
+ build_tools/cflags.xml, configure, res/res_ari_events.c,
+ include/asterisk/http_websocket.h, main/optional_api.c (added),
+ rest-api-templates/swagger_model.py: optional_api: Fix linking
+ problems between modules that export global symbols With the new
+ work in Asterisk 12, there are some uses of the optional_api that
+ are prone to failure. The details are rather involved, and
+ captured on [the wiki][1]. This patch addresses the issue by
+ removing almost all of the magic from the optional API
+ implementation. Instead of relying on weak symbol resolution, a
+ new optional_api.c module was added to Asterisk core. For modules
+ providing an optional API, the pointer to the implementation
+ function is registered with the core. For modules that use an
+ optional API, a pointer to a stub function, along with a
+ optional_ref function pointer are registered with the core. The
+ optional_ref function pointers is set to the implementation
+ function when it's provided, or the stub function when it's now.
+ Since the implementation no longer relies on magic, it is now
+ supported on all platforms. In the spirit of choice, an
+ OPTIONAL_API flag was added, so we can disable the optional_api
+ if needed (maybe it's buggy on some bizarre platform I haven't
+ tested on) The AST_OPTIONAL_API*() macros themselves remained
+ unchanged, so existing code could remain unchanged. But to help
+ with debugging the optional_api, the patch limits the #include of
+ optional API's to just the modules using the API. This also
+ reduces resource waste maintaining optional_ref pointers that
+ aren't used. Other changes made as a part of this patch: * The
+ stubs for http_websocket that wrap system calls set errno to
+ ENOSYS. * res_http_websocket now properly increments module use
+ count. * In loader.c, the while() wrappers around dlclose() were
+ removed. The while(!dlclose()) is actually an anti-pattern, which
+ can lead to infinite loops if the module you're attempting to
+ unload exports a symbol that was directly linked to. * The
+ special handling of nonoptreq on systems without weak symbol
+ support was removed, since we no longer rely on weak symbols for
+ optional_api. [1]: https://wiki.asterisk.org/wiki/x/wACUAQ
+ (closes issue ASTERISK-22296) Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/2797/
+
+ * rest-api/api-docs/recordings.json, res/stasis_recording (added),
+ res/ari/resource_recordings.c, res/ari/ari_model_validators.h,
+ res/res_ari_recordings.c, res/res_stasis_playback.c,
+ include/asterisk/stasis_app_recording.h,
+ res/ari/resource_recordings.h, res/res_stasis_recording.c,
+ res/Makefile, res/ari/ari_model_validators.c: ARI: Implement
+ /recordings/stored API's his patch implements the ARI API's for
+ stored recordings. While the original task only specified
+ deleting a recording, it was simple enough to implement the GET
+ for all recordings, and for an individual recording. The
+ recording playback operation was modified to use the same code
+ for accessing the recording as the REST API, so that they will
+ behave consistently. There were several problems with the
+ api-docs that were also fixed, bringing the ARI spec in line with
+ the implementation. There were some 'wishful thinking' fields on
+ the stored recording model (duration and timestamp) that were
+ removed, because I ended up not implementing a metadata file to
+ go along with the recording to store such information. The GET
+ /recordings/live operation was removed, since it's not really
+ that useful to get a list of all recordings that are currently
+ going on in the system. (At least, if we did that, we'd probably
+ want to also list all of the current playbacks. Which seems
+ weird.) (closes issue ASTERISK-21582) Review:
+ https://reviewboard.asterisk.org/r/2693/
+
+2013-08-30 01:19 +0000 [r397975-397977] Richard Mudgett <rmudgett at digium.com>
+
+ * main/pbx.c: pbx.c: Make pbx_substitute_variables_helper_full()
+ not mask variables.
+
+ * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: Revert
+ last commit.
+
+ * main/pbx.c, tests/test_substitution.c, funcs/func_cdr.c: pbx.c:
+ Make ast_str_substitute_variables_full() not mask variables.
+
+2013-08-30 00:10 +0000 [r397960-397968] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip_pidf.c: Sanitize XML output for PIDF bodies.
+ PJSIP's PIDF API does not replace angle brackets with their
+ appropriate counterparts for XML. So we have to do it ourself. In
+ this particular case, the problem had to do with attempting to
+ place an unsanitized SIP URI into an XML node. Now we don't get a
+ 488 from recipients of our PIDF NOTIFYs.
+
+ * res/res_pjsip_pidf.c: Fix method for creating activities string
+ in PIDF bodies. The previous method did not allocate enough space
+ to create the entire string, but adjusted the string's slen value
+ to be larger than the actual allocation. This resulted in garbled
+ text in NOTIFY requests from Asterisk. This method allocates the
+ proper amount of space first and then writes the content into the
+ buffer.
+
+2013-08-29 22:45 +0000 [r397958] kharwell <kharwell at localhost>:
+
+ * apps/app_verbose.c, main/asterisk.c, channels/chan_misdn.c, /,
+ apps/app_dumpchan.c, main/logger.c: Verbose logging discrepancies
+ Refactored cases where a combination of
+ ast_verbose/options_verbose were present. Also in general tried
+ to eliminate, in as many places as possible, where the
+ options_verbose global variable was being used. Refactored the
+ way local and remote consoles handle verbose message logging in
+ an attempt to solve the various discrepancies that sometimes
+ would show between the two. (closes issue AST-1193) Reported by:
+ Guenther Kelleter Review:
+ https://reviewboard.asterisk.org/r/2798/ ........ Merged
+ revisions 397948 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-29 22:24 +0000 [r397955] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip_pubsub.c: Fix when the subscription_terminated
+ callback is called for subscription handlers. The previous
+ placement would result in the resubscribe() callback called
+ instead of the subscription_terminated() callback being called
+ when a subscription was ended via a SUBSCRIBE request. This would
+ result in confusing PJSIP and having it throw an assertion.
+
+2013-08-29 21:34 +0000 [r397946] kharwell <kharwell at localhost>:
+
+ * main/asterisk.c, main/cdr.c, main/manager.c,
+ main/stasis_config.c, main/file.c, main/app.c,
+ main/config_options.c, main/cel.c: Memory leaks fix (closes
+ ASTERISK-22376) Reported by: John Hardin Patches: memleak.patch
+ uploaded by jhardin (license 6512) memleak2.patch uploaded by
+ jhardin (license 6512)
+
+2013-08-29 21:33 +0000 [r397945] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip_session.c: Fix a race condition where a canceled
+ call was answered. RFC 5407 section 3.1.2 details a scenario
+ where a UAC sends a CANCEL at the same time that a UAS sends a
+ 200 OK for the INVITE that the UAC is canceling. When this
+ occurs, it is the role of the UAC to immediately send a BYE to
+ terminate the call. This scenario was reproducible by have a
+ Digium phone with two lines place a call to a second phone that
+ forwarded the call to the second line on the original phone. The
+ Digium phone, upon realizing that it was connecting to itself,
+ would attempt to cancel the call. The timing of this happened to
+ trigger the aforementioned race condition about 80% of the time.
+ Asterisk was not doing its job of sending a BYE when receiving a
+ 200 OK on a cancelled INVITE. The result was that the ast_channel
+ structure was destroyed but the underlying SIP session, as well
+ as the PJSIP inv_session and dialog, were still alive. Attempting
+ to perform an action such as a transfer, once in this state,
+ would result in Asterisk crashing. The circumstances are now
+ detected properly and the session is ended as recommended in RFC
+ 5407. (closes issue AST-1209) reported by John Bigelow
+
+2013-08-29 20:21 +0000 [r397938] Matthew Jordan <mjordan at digium.com>
+
+ * contrib/scripts/safe_asterisk, Makefile,
+ configs/safe_asterisk.conf.sample (removed), CHANGES: Revert
+ r394939 due to (numerous) objections The patch from
+ ASTERISK-21965 was committed perhaps a bit too hastily. Walter
+ and Tzafrir have pointed out numerous issues with the approach
+ and have propsed an alternative in r/2757. Since it's not a time
+ critical issue and is not worth holding up the release of 12 for
+ it, I've gone ahead and reverted r394939 from 12/trunk and
+ re-opened ASTERISK-21965.
+
+2013-08-29 16:18 +0000 [r397927] David M. Lee <dlee at digium.com>
+
+ * rest-api-templates/asterisk_processor.py,
+ rest-api-templates/make_ari_stubs.py,
+ rest-api-templates/api.wiki.mustache: Account for {} in Swagger
+ notes
+
+2013-08-29 16:04 +0000 [r397924] Matthew Jordan <mjordan at digium.com>
+
+ * Makefile: Recursively search for '.c' files when making
+ documentation with 'make full' Without this, documentation
+ defined in sub-folders is ignored. Since having properly
+ generated documentation is especially important in Asterisk 12 -
+ not having it can cause a module to not load - 'make full' needs
+ to look in all .c files.
+
+2013-08-29 15:42 +0000 [r397921-397922] Mark Michelson <mmichelson at digium.com>
+
+ * main/cel.c: Remove extra debug message.
+
+ * main/stasis_bridges.c, apps/app_queue.c, main/cel.c: Resolve
+ assumptions that bridge snapshots would be non-NULL for transfer
+ stasis events. Attempting to transfer an unbridged call would
+ result in crashes in either CEL code or in the conversion to AMI
+ messages.
+
+2013-08-29 12:27 +0000 [r397911] Matthew Jordan <mjordan at digium.com>
+
+ * contrib/ast-db-manage/voicemail/script.py.mako (added),
+ contrib/ast-db-manage/README.md (added),
+ contrib/ast-db-manage/config/versions (added),
+ contrib/ast-db-manage/voicemail/versions/a2e9769475e_create_tables.py
+ (added), contrib/ast-db-manage (added),
+ contrib/ast-db-manage/voicemail/versions (added),
+ contrib/ast-db-manage/config.ini.sample (added),
+ contrib/ast-db-manage/config/env.py (added),
+ contrib/ast-db-manage/config/versions/4da0c5f79a9c_create_tables.py
+ (added), contrib/ast-db-manage/config (added),
+ contrib/ast-db-manage/config/script.py.mako (added),
+ contrib/ast-db-manage/voicemail.ini.sample (added),
+ contrib/ast-db-manage/voicemail/env.py (added),
+ contrib/ast-db-manage/voicemail (added): Actually *add* the
+ database schema management utilities In r397874, the scripts were
+ removed... but not replaced. Thanks to Michael Young for noticing
+ this!
+
+2013-08-28 23:14 +0000 [r397885-397902] Richard Mudgett <rmudgett at digium.com>
+
+ * main/cdr.c, funcs/func_cdr.c, main/stdtime/localtime.c: Fix some
+ uninitialized buffers for CDR handling valgrind found. * Made
+ ast_strftime_locale() ensure that the output buffer is
+ initialized. The std library strftime() returns 0 and does not
+ touch the buffer if it has an error. However, the function can
+ also return 0 without an error. (closes issue ASTERISK-22412)
+ Reported by: rmudgett
+
+ * main/cdr.c: Fixed problems with ast_cdr_serialize_variables(). *
+ Fixed return value of ast_cdr_serialize_variables() on error. It
+ needs to return 0 indicating no CDR variables found. * Made
+ ast_cdr_serialize_variables() check the return value of
+ cdr_object_format_property() and assert if nonzero. A member of
+ the cdr_readonly_vars[] was not handled. * Removed unused
+ elements from cdr_readonly_vars[]: total_duration, total_billsec,
+ first_start, and first_answer.
+
+ * main/cdr.c: Made the on/off in CLI "cdr set debug [on|off]" case
+ insensitive.
+
+ * main/cdr.c: Make CDR variable name chandling consistently case
+ insensitive.
+
+ * main/cdr.c: Make CDR code deal with channel names case
+ insensitively.
+
+ * main/cdr.c, funcs/func_cdr.c: Some CDR code optimization.
+
+ * funcs/func_cdr.c: Whitespace and curly braces.
+
+2013-08-28 21:05 +0000 [r397876] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip_refer.c: Improve detection of answer on SIP blind
+ transfer. A problem encountered during testing was that
+ res_pjsip_refer would not ever send a NOTIFY with a 200 OK
+ sipfrag. This is because the framehook that was supposed to send
+ the NOTIFY would never be told that an answer had occurred. This
+ happened for two reasons: 1) The transferee channel on which the
+ framehook was on was already up. 2) Answers are rarely if ever
+ written to channels. Rather, the ast_answer() or ast_raw_answer()
+ function is used to answer channels. Thanks to a suggestion by
+ Matt Jordan, the best way to detect that the call had been
+ answered was to find out when the transferee channel joined a
+ bridge. With stasis this is an easy task. So now, in addition to
+ the framehook logic, there is a stasis subscription used to
+ determine when the transferee has entered a bridge. Once it has
+ entered, an appropriate NOTIFY is sent.
+
+2013-08-28 20:55 +0000 [r397870-397874] Matthew Jordan <mjordan at digium.com>
+
+ * contrib/realtime/mysql/musiconhold.sql,
+ contrib/realtime/mysql/queue_log.sql,
+ contrib/realtime/mysql/voicemail.sql,
+ contrib/realtime/mysql/sippeers.sql,
+ contrib/realtime/mysql/iaxfriends.sql,
+ contrib/realtime/mysql/meetme.sql,
+ contrib/realtime/mysql/voicemail_messages.sql,
+ contrib/realtime/postgresql/realtime.sql,
+ contrib/realtime/mysql/voicemail_data.sql, CHANGES: Add database
+ schema management using Alembic This patch replaces
+ contrib/realtime/ with a new setup for managing the database
+ schema required for database integration with Asterisk. In
+ addition to initializing a database with the proper schema,
+ alembic can do a database migration to assist with upgrading
+ Asterisk in the future. Hopefully this helps make setting up and
+ operating Asterisk with a database easier. With this the schema
+ only needs to be maintained in one place instead of once per
+ database. The schemas I have added here have a bit of improvement
+ over the examples that were there before (some added consistency
+ and added some missing indexes). Managing the schema in one place
+ here also applies to all databases supported by SQLAlchemy. See
+ contrib/ast-db-manage/README.md for more details. Review:
+ https://reviewboard.asterisk.org/r/2731 patch by Russell Bryant
+ (license 6300)
+
+ * CHANGES: Update CHANGES file for Asterisk 12 This updates the
+ Asterisk 12 CHANGES file with the things that were missed during
+ the development cycle. Review:
+ https://reviewboard.asterisk.org/r/2795/
+
+2013-08-28 16:12 +0000 [r397856-397859] Richard Mudgett <rmudgett at digium.com>
+
+ * main/pbx.c: pbx.c: Make ast_str_substitute_variables_full() not
+ mask variables.
+
+ * include/asterisk/threadstorage.h: Match use of ast_free() with
+ ast_calloc() and add some curly braces.
+
+2013-08-28 15:40 +0000 [r397854] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip/pjsip_distributor.c: Fix dialog matching in the SIP
+ distributor. Dialog matching is performed in the distributor for
+ the sole purpose of retrieving an associated serializer so the
+ request may be serialized. This patch fixes two problems. First,
+ incoming CANCEL requests that had no to-tag (which really should
+ be *all* CANCEL requests) would not match with a dialog. An
+ earlier bug fix to deal with early CANCEL requests would result
+ in the CANCEL being replied to with a 481. The fix for this is to
+ find the matching INVITE transaction and get the dialog from that
+ transaction. Second, no SIP responses were matching dialogs. This
+ is because we were inverting the tags that we were passing into
+ PJSIP's dialog finding function. This logic has been corrected by
+ setting local and remote tag variables based on whether the
+ incoming message is a request or response.
+
+2013-08-27 19:15 +0000 [r397816] David M. Lee <dlee at digium.com>
+
+ * res/res_stasis.c, main/stasis_bridges.c,
+ rest-api-templates/param_parsing.mustache, res/res_ari_bridges.c,
+ res/stasis/app.c, res/res_ari_events.c, res/res_ari_asterisk.c,
+ rest-api-templates/res_ari_resource.c.mustache, res/stasis/app.h:
+ ARI: WebSocket event cleanup Stasis events (which get distributed
+ over the ARI WebSocket) are created by subscribing to the
+ channel_all_cached and bridge_all_cached topics, filtering out
+ events for channels/bridges currently subscribed to. There are
+ two issues with that. First was a race condition, where messages
+ in-flight to the master subscribe-to-all-things topic would get
+ sent out, even though the events happened before the channel was
+ put into Stasis. Secondly, as the number of channels and bridges
+ grow in the system, the work spent filtering messages becomes
+ excessive. Since r395954, individual channels and bridges have
+ caching topics, and can be subscribed to individually. This patch
+ takes advantage, so that channels and bridges are subscribed to
+ on demand, instead of filtering the global topics. The one case
+ where filtering is still required is handling BridgeMerge
+ messages, which are published directly to the bridge_all topic.
+ Other than the change to how subscriptions work, this patch
+ mostly just moves code around. Most of the work generating JSON
+ objects from messages was moved to .to_json handlers on the
+ message types. The callback functions handling app subscriptions
+ were moved from res_stasis (b/c they were global to the model) to
+ stasis/app.c (b/c they are local to the app now). (closes issue
+ ASTERISK-21969) Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/2754/
+
+2013-08-27 18:49 +0000 [r397809] Richard Mudgett <rmudgett at digium.com>
+
+ * main/astmm.c: Made MALLOC_DEBUG less CPU intensive by default.
+ Storing a backtrace for each allocation in anticipation of a
+ memory management problem is very CPU intensive. * Added the CLI
+ "memory backtrace {on|off}" command to request that the backtrace
+ be gathered only on request. The backtrace is off by default.
+ (issue ASTERISK-22221) Reported by: Matt Jordan
+
+2013-08-27 18:05 +0000 [r397759] Matthew Jordan <mjordan at digium.com>
+
+ * /, channels/chan_sip.c: AST-2013-005: Fix crash caused by invalid
+ SDP If the SIP channel driver processes an invalid SDP that
+ defines media descriptions before connection information, it may
+ attempt to reference the socket address information even though
+ that information has not yet been set. This will cause a crash.
+ This patch adds checks when handling the various media
+ descriptions that ensures the media descriptions are handled only
+ if we have connection information suitable for that media. Thanks
+ to Walter Doekes, OSSO B.V., for reporting, testing, and
+ providing the solution to this problem. (closes issue
+ ASTERISK-22007) Reported by: wdoekes Tested by: wdoekes patches:
+ issueA22007_sdp_without_c_death.patch uploaded by wdoekes
+ (License 5674) ........ Merged revisions 397756 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 397757 from
+ http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+ revisions 397758 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-27 16:47 +0000 [r397745] Richard Mudgett <rmudgett at digium.com>
+
+ * channels/sig_ss7.c, channels/chan_dahdi.c, channels/sig_analog.c,
+ /, channels/chan_sip.c, channels/chan_motif.c,
+ channels/chan_iax2.c, channels/sig_pri.c: Fix uninitialized value
+ in struct ast_control_pvt_cause_code usage. ........ Merged
+ revisions 397744 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+2013-08-27 16:03 +0000 [r397690-397713] Matthew Jordan <mjordan at digium.com>
+
+ * /, channels/chan_sip.c: AST-2013-004: Fix crash when handling ACK
+ on dialog that has no channel A remote exploitable crash
+ vulnerability exists in the SIP channel driver if an ACK with SDP
+ is received after the channel has been terminated. The handling
+ code incorrectly assumed that the channel would always be
+ present. This patch adds a check such that the SDP will only be
+ parsed and applied if Asterisk has a channel present that is
+ associated with the dialog. Note that the patch being applied was
+ modified only slightly from the patch provided by Walter Doekes
+ of OSSO B.V. (closes issue ASTERISK-21064) Reported by: Colin
+ Cuthbertson Tested by: wdoekes, Colin Cutherbertson patches:
+ issueA21064_fix.patch uploaded by wdoekes (License 5674) ........
+ Merged revisions 397710 from
+ http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged
+ revisions 397711 from
+ http://svn.asterisk.org/svn/asterisk/branches/10 ........ Merged
+ revisions 397712 from
+ http://svn.asterisk.org/svn/asterisk/branches/11
+
+ * main/bridge_channel.c: Better handle clearing the OUTGOING flag
+ when a channel leaves a bridge When a channel with the OUTGOING
+ flag leaves a bridge, and it will survive being pulled from the
+ bridge (either because it will execute dialplan, go into another
+ bridge, or live in a friendly autoloop), we have to clear the
+ OUTGOING flag. This is the signal to the CDR engine that this
+ channel is no longer a second class citizen, i.e., it is not
+ "dialed". The soft hangup flags are only half the picture. If a
+ channel is being moved from one bridge to another, the soft
+ hangup flags aren't set; however, the state of the bridge_channel
+ will not be hung up. Since the channel does not have one of the
+ two hang up states, that implies that the channel is still
+ technically alive. This patch modifies the check so that it
+ checks both the soft hangup flags as well as the bridge_channel
+ state. If either suggests that the channel is going to persist,
+ we clear the OUTGOING flag.
+
+2013-08-26 21:30 +0000 [r397673] David M. Lee <dlee at digium.com>
+
+ * main/bucket.c: Fixed bucket.c for systems where tv_usec is not an
+ unsigned long.
+
+2013-08-26 16:24 +0000 [r397643-397650] Richard Mudgett <rmudgett at digium.com>
+
+ * main/bridge_channel.c, include/asterisk/bridge_channel.h:
+ bridging: Fix a livelock with local channel optimization. Use a
+ better means of waking up the bridge channel thread.
+
+ * channels/Makefile: chan_dahdi: Add some missing build cleanup.
+
+2013-08-25 18:12 +0000 [r397621-397630] Matthew Jordan <mjordan at digium.com>
+
+ * tests/test_bucket.c: Fix bucket unit tests After the review for
+ buckets was completed (r2715), the handling of names in the
+ bucket core was deferred to the wizards. As such, the bucket unit
+ tests cannot expect that passing a URI with a scheme specified
+ but no actual resource name will automatically fail. The tests
+ have been updated to not make this check.
+
+ * include/asterisk/config_options.h, main/config_options.c,
+ tests/test_config.c: Fix the config_options_test The config
+ options test requires the entire configuration item to be
+ transparent from the documentation system. So we let it do that
+ too. As an aside, please do not use this power for evil.
+ Documentation is your friend, and you really should document your
+ configurations. Hiding your module's configuration information
+ from the system attempting to enforce some sanity in the universe
+ is something only a Bond villain would contemplate.
+
+ * res/res_pjsip/pjsip_configuration.c: Add rtpengine configuration
+ parameter The rtpengine configuration parameter was documented in
+ the XML documentation, but it was not actually registered with
+ the sorcery object. This adds the parameter with a default of
+ "asterisk", such that res_rtp_asterisk is chosen as the default
+ RTP implementation. (closes issue ASTERISK-22380) Reported by:
+ Rusty Newton Tested by: Rusty Newton
+
+2013-08-23 22:36 +0000 [r397614] Matthew Jordan <mjordan at digium.com>
+
+ * / (added): __________ | \ |_______ | | | ______| | / | _ _ _ _ _
+ | _______| / \ ___| |_ ___ _ __(_)___| | __ / || | / _ \ / __|
+ __/ _ \ '__| / __| |/ / | || |_______ / ___ \__ \| | __/ | | \__
+ \ < | || | /_/ \_\___/\__\___|_| |_|___/_|\_\ |_| \__________|
+
+2013-08-23 22:20 +0000 [r397613] Joshua Colp <jcolp at digium.com>
+
+ * main/bucket.c: Fix building of trunk. Note: This is why I commit
+ on the weekend.
+
+2013-08-23 22:12 +0000 [r397606] Matthew Jordan <mjordan at digium.com>
+
+ * main/pbx.c: Fix channel reference leak in Originated channels
+ When originating channels, ast_pbx_outgoing_* caused the dialed
+ channel reference to be bumped twice. Ostensibly, this routine is
+ bumping the channel lifetime such that the channel doesn't get
+ nuked in between locks/unlocks; however, since the routine should
+ return the dialed channel with its reference bumped, it only
+ needs to do this one time.
+
+2013-08-23 21:53 +0000 [r397603] Mark Michelson <mmichelson at digium.com>
+
+ * res/res_pjsip.c: Add some clarifying documentation to the
+ rewrite_contact endpoint option.
+
+2013-08-23 21:51 +0000 [r397602] Richard Mudgett <rmudgett at digium.com>
+
+ * main/bridge_channel.c: Blank line tweaks.
+
+2013-08-23 21:49 +0000 [r397599-397600] Joshua Colp <jcolp at digium.com>
+
+ * include/asterisk/config_options.h, tests/test_bucket.c (added),
+ build_tools/menuselect-deps.in, configure,
+ include/asterisk/autoconfig.h.in, main/Makefile, main/bucket.c
+ (added), configure.ac, main/config_options.c, makeopts.in,
+ main/asterisk.c, include/asterisk/bucket.h (added),
+ main/sorcery.c: Add the bucket API. Bucket is a URI based API for
+ the creation, retrieval, updating, and deletion of "buckets" and
+ files contained within them. Review:
+ https://reviewboard.asterisk.org/r/2715/
+
+ * include/asterisk/sorcery.h: Fix a bug where the argc value was
+ passed as no_doc when registering custom sorcery types. This also
+ adds a _nodoc equivalent.
+
+2013-08-23 21:02 +0000 [r397593] Mark Michelson <mmichelson at digium.com>
+
+ * main/bridge_channel.c: Add test events necessary for bridge tests
+ to pass in the test suite. (closes issue AST-1200) reported by
+ John Bigelow Review: https://reviewboard.asterisk.org/r/2790/
+
+2013-08-23 20:14 +0000 [r397585] Matthew Jordan <mjordan at digium.com>
+
+ * main/stasis_channels.c: Fix error in using
+ ast_channel_snapshot_type before initialization Starting Asterisk
+ would kick back an ERROR message stating that the Stasis message
+ type ast_channel_snapshot_type was used prior to initialization.
+ This occurred due to the caching topic being created prior to the
+ message type that it depended on. This patch re-orders the start
+ up such that the message type is initialized prior to the caching
+ topic. It also checks the return value of the initialization of
+ the agent login/logoff types.
+
+2013-08-23 19:05 +0000 [r397578] Jonathan Rose <jrose at digium.com>
+
+ * bridges/bridge_native_rtp.c: bridge_native_rtp: Fix hold chain
+ bugs caused by native RTP bridge framehook Issuing hold/unhold
+ would lead to odd behavior. Between two chan_sip devices, a hold
+ could cause an endless chain of updates while with pjsip a
+ similar chain would begin but then end somewhat randomly. This
+ patch fixes that by no longer tweaking the RTP glue on both sides
+ of the call for every HOLD/UNHOLD/UPDATE_RTP_PEER frame. (issue
+ ASTERISK-22217) Reported by: Matt Jordan Review:
+ https://reviewboard.asterisk.org/r/2794/
+
+2013-08-23 18:33 +0000 [r397577] Richard Mudgett <rmudgett at digium.com>
+
+ * main/channel.c, include/asterisk/bridge_channel_internal.h,
+ main/bridge.c, include/asterisk/bridge_channel.h,
+ main/channel_internal_api.c,
+ bridges/bridge_builtin_interval_features.c,
+ include/asterisk/channel.h, res/res_musiconhold.c,
+ main/bridge_channel.c: Handle DTMF and hold wrapup when a channel
+ leaves the bridging system. DTMF start/end and hold/unhold events
+ have state because a DTMF begin event and hold event must be
+ ended by something. The following cases need to be handled when a
+ channel is moved around in the system. * When a channel leaves a
+ bridge it may owe a DTMF end event to the bridge. * When a
+ channel leaves a bridge it may owe an UNHOLD event to the bridge.
+ (This case is explicitly ignored because things like transfers
+ need explicit control over this.) * When a channel leaves the
+ bridging system it may need to simulate a DTMF end event to the
+ channel. * When a channel leaves the bridging system it may need
+ to simulate an UNHOLD event to the channel. The patch also fixes
+ the following: * Fixes playing a file and restarting MOH using
+ the latest MOH class used. (closes issue ASTERISK-22043) Reported
+ by: Matt Jordan Review: https://reviewboard.asterisk.org/r/2791/
+
+2013-08-23 18:10 +0000 [r397571] Matthew Jordan <mjordan at digium.com>
+
+ * tests/test_sorcery_astdb.c, tests/test_sorcery.c,
+ tests/test_sorcery_realtime.c: Fix sorcery unit tests When strict
+ XML documentation checking was re-enabled, the test objects used
+ in sorcery would fail to register as the types were not marked
+ internal and the nodoc option wasn't used for the options. This
+ fixes that problem, such that, as one would hope, they once again
+ pass.
+
+2013-08-23 18:07 +0000 [r397570] Richard Mudgett <rmudgett at digium.com>
+
+ * include/asterisk/backtrace.h, main/lock.c,
+ include/asterisk/utils.h, include/asterisk/astmm.h, /,
+ main/backtrace.c, main/logger.c, main/utils.c,
+ include/asterisk/lock.h, main/astmm.c, channels/sig_pri.c,
+ main/astobj2.c: Fix memory corruption when trying to get "core
+ show locks". Review https://reviewboard.asterisk.org/r/2580/
+ tried to fix the mismatch in memory pools but had a math error
+ determining the buffer size and didn't address other similar
+ memory pool mismatches. * Effectively reverted the previous patch
+ to go in the same direction as trunk for the returned memory pool
+ of ast_bt_get_symbols(). * Fixed memory leak in
+ ast_bt_get_symbols() when BETTER_BACKTRACES is defined. * Fixed
+ some formatting in ast_bt_get_symbols(). * Fixed sig_pri.c
+ freeing memory allocated by libpri when MALLOC_DEBUG is enabled.
[... 16723 lines stripped ...]
More information about the asterisk-commits
mailing list