asterisk/apps
Mark Michelson 04e56bde03 Fix queue crashes that would occur after the calling channel was masqueraded.
The data passed to the end_bridge_callback was assumed to be data which was
still stack'd. The problem was that with some call features, attended transfers
in particular, a new bridge thread is started once the feature completes, meaning
that when the end_bridge_callback is called, the end_bridge_callback_data was
invalid.

To fix this problem, there are two measures taken

1. Instead of pointing to stacked data, we now used heap-allocated data for
passing to the end_bridge_callback in app_queue
2. Since bridges can end multiple times on a single logical call, we wait until
the final bridge is broken to actually set any queue variables. This is accomplished
through reference-counting and the use of an end_bridge_callback_data_fixup function
in app_queue.c

(closes issue #14260)
Reported by: ccesario
Patches:
      14260.patch uploaded by putnopvut (license 60)
Tested by: ccesario



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@171618 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-27 19:30:54 +00:00
..
Makefile Merged revisions 127892,127895 via svnmerge from 2008-07-03 22:23:04 +00:00
app_adsiprog.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_alarmreceiver.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_amd.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_authenticate.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_cdr.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_chanisavail.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_channelredirect.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_chanspy.c Merged revisions 165889 via svnmerge from 2008-12-19 15:05:09 +00:00
app_controlplayback.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_dahdibarge.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_dahdiras.c Fix various spelling and grammatical issues in documentation 2008-11-02 02:50:33 +00:00
app_dahdiscan.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_db.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_dial.c Merged revisions 170568 via svnmerge from 2009-01-23 19:09:18 +00:00
app_dictate.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_directed_pickup.c Merged revisions 162341 via svnmerge from 2008-12-09 21:16:37 +00:00
app_directory.c Merged revisions 165255 via svnmerge from 2008-12-17 21:17:20 +00:00
app_disa.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_dumpchan.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_echo.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_exec.c Fix various spelling and grammatical issues in documentation 2008-11-02 02:50:33 +00:00
app_externalivr.c Merge ast_str_opaque branch (discontinue usage of ast_str internals) 2008-12-13 08:36:35 +00:00
app_fax.c Make app_fax compatible with newer versions of spandsp. This remains backwards compatible with earlier versions though so do not fret. 2008-12-15 15:41:22 +00:00
app_festival.c Merged revisions 162273 via svnmerge from 2008-12-09 20:46:11 +00:00
app_flash.c Add Flash() application XML documentation. 2008-11-02 05:10:22 +00:00
app_followme.c Answer the channel if it has not already been answered and we've already found a valid profile for followme. 2009-01-07 18:20:31 +00:00
app_forkcdr.c - Add PlayTones() and StopPlayTones() applications XML documentation. 2008-11-05 01:44:04 +00:00
app_getcpeid.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_ices.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_image.c - Add more <see-also> based on TFOT. 2008-11-05 13:07:29 +00:00
app_ivrdemo.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_jack.c Fix build WRT ast_str_opaque 2008-12-15 14:40:08 +00:00
app_macro.c Merged revisions 166093 via svnmerge from 2008-12-23 18:13:49 +00:00
app_meetme.c Merged revisions 170147 via svnmerge from 2009-01-22 16:52:21 +00:00
app_milliwatt.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_minivm.c Better to use the proper app name 2009-01-12 16:31:27 +00:00
app_mixmonitor.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_morsecode.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_mp3.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_nbscat.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_originate.c Set ORIGINATE_STATUS instead of OUTGOING_STATUS to match the documentation 2009-01-09 01:15:43 +00:00
app_osplookup.c improve configure script to remember the previous value of each dependency in build_tools/menuselect-deps, so that (once it has been written) menuselect can use this information to warn the user when a previously met dependency is no longer met 2008-11-04 15:07:54 +00:00
app_page.c Merged revisions 170979 via svnmerge from 2009-01-25 13:35:48 +00:00
app_parkandannounce.c Clear the autoloop flag when parsing and setting the context/extension/priority to go back to. When the channel executes a PBX again we want it to start out at the point we explicitly say and at that point it will not yet be doing autoloop. 2009-01-22 15:01:54 +00:00
app_playback.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_privacy.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_queue.c Fix queue crashes that would occur after the calling channel was masqueraded. 2009-01-27 19:30:54 +00:00
app_read.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_readexten.c Merged revisions 168561 via svnmerge from 2009-01-13 19:22:13 +00:00
app_readfile.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_record.c Fix the XML documentation for Record(). 2008-12-19 18:20:46 +00:00
app_rpt.c Janitor, use ARRAY_LEN() when possible. 2008-12-05 10:31:25 +00:00
app_sayunixtime.c Add more SeeAlso references based on TFOT. 2008-11-05 14:37:07 +00:00
app_senddtmf.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_sendtext.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_setcallerid.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_skel.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_sms.c Introduce SMS() application XML documentation. 2008-12-07 22:43:46 +00:00
app_softhangup.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_speech_utils.c Move Speech* applications and functions documentation to XML. 2008-12-06 21:18:51 +00:00
app_stack.c If the autoloop flag is set on a channel, then we need to 2008-12-05 23:24:38 +00:00
app_system.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_talkdetect.c Fix a typo in the name of the application. 2008-11-02 04:57:02 +00:00
app_test.c Add TestClient() and TestServer() applications XML 2008-11-05 19:17:32 +00:00
app_transfer.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_url.c - Add some see-also references based on TFOT. 2008-11-05 12:13:57 +00:00
app_userevent.c Merged revisions 169364 via svnmerge from 2009-01-19 20:05:52 +00:00
app_verbose.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_voicemail.c Reset the ast_str used for escape substitution. We need to do this since it is a thread local variable that may contain the value of a previous substitution. 2009-01-23 17:32:26 +00:00
app_waitforring.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_waitforsilence.c Add XML documentation for: 2008-11-03 01:01:25 +00:00
app_waituntil.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
app_while.c Merged revisions 156755 via svnmerge from 2008-11-14 00:43:13 +00:00
app_zapateller.c Merge changes from team/group/appdocsxml 2008-11-01 21:10:07 +00:00
enter.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
leave.h remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
rpt_flow.pdf remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00