Commit Graph

478 Commits

Author SHA1 Message Date
Matthew Jordan
5996dd6a23 Prevent exhaustion of system resources through exploitation of event cache
Asterisk maintains an internal cache for devices in the event subsystem. The
device state cache holds the state of each device known to Asterisk, such that
consumers of device state information can query for the last known state for
a particular device, even if it is not part of an active call. The concept of
a device in Asterisk can include entities that do not have a physical
representation. One way that this occurred was when anonymous calls are allowed
in Asterisk. A device was automatically created and stored in the cache for
each anonymous call that occurred; this was possible in the SIP and IAX2
channel drivers and through channel drivers that utilized the
res_jabber/res_xmpp resource modules (Gtalk, Jingle, and Motif). These devices
are never removed from the system, allowing anonymous calls to potentially
exhaust a system's resources.

This patch changes the event cache subsystem and device state management to
no longer cache devices that are not associated with a physical entity.

(issue ASTERISK-20175)
Reported by: Russell Bryant, Leif Madsen, Joshua Colp
Tested by: kmoore
patches:
  event-cachability-3.diff uploaded by jcolp (license 5000)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@378303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-01-02 16:54:20 +00:00
Jonathan Rose
aaa5514742 app_meetme: Fix channels lingering when hung up under certain conditions
Channels would get stuck and MeetMe would repeatedly display an Unable
to write frame to channel error in the conf_run function if hung up
during certain sound prompts such as during user count announcements.
This patch fixes that by reintroducing a hangup check in the meetme's
main loop (also in conf_run).

(closes issue ASTERISK-20486)
Reported by: Michael Cargile
Review: https://reviewboard.asterisk.org/r/2187/
Patches:
    meetme_hangup_patch_ASTERISK-20486_v3.diff uploaded by Jonathan Rose (license 6182)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@376307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-15 22:40:50 +00:00
Mark Michelson
e95efa6c50 Fix misuses of timeouts throughout the code.
Prior to this change, a common method for determining if a timeout
was reached was to call a function such as ast_waitfor_n() and inspect
the out parameter that told how many milliseconds were left, then use
that as the input to ast_waitfor_n() on the next go-around.

The problem with this is that in some cases, submillisecond timeouts
can occur, resulting in the out parameter not decreasing any. When this
happens thousands of times, the result is that the timeout takes much
longer than intended to be reached. As an example, I had a situation where
a 3 second timeout took multiple days to finally end since most wakeups
from ast_waitfor_n() were under a millisecond.

This patch seeks to fix this pattern throughout the code. Now we log the
time when an operation began and find the difference in wall clock time
between now and when the event started. This means that sub-millisecond timeouts
now cannot play havoc when trying to determine if something has timed out.

Part of this fix also includes changing the function ast_waitfor() so that it
is possible for it to return less than zero when a negative timeout is given
to it. This makes it actually possible to detect errors in ast_waitfor() when
there is no timeout.

(closes issue ASTERISK-20414)
reported by David M. Lee

Review: https://reviewboard.asterisk.org/r/2135/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@375993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-07 17:01:13 +00:00
Richard Mudgett
277e9a8358 Fixed meetme tab completion and command documentation.
* Removed unnecessary case sensitivity in meetme list, lock, unlock, mute,
unmute, and kick commands.

* Separated meetme lock/unlock, mute/unmute, and kick commands into their
own registered commands to simplify tab completion and parameter checking.
meetme_lock_cmd(), meetme_mute_cmd(), and meetme_kick_cmd()

* Simplified meetme_show_cmd()

(closes issue AST-1006)
Reported by: John Bigelow
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@373815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-09-26 18:04:33 +00:00
Joshua Colp
dde552054a Fix incorrect MeetME conference bridge reference count decrementing and sometimes premature destruction.
When using the 'e' or 'E' option to MeetMe the configured conference bridges are loaded and examined to see
if any are empty. If no conference bridges are empty the caller is prompted to enter the number of one.
This operation left around a pointer to the last created conference bridge still containing participants.
When the caller that was not able to find any empty conference bridge hung up this pointer was disposed of
and the reference count of the conference bridge decremented. If there was only a single participant in the
conference bridge it was ultimately destroyed prematurely.

(closes issue AST-994)
Reported by: John Bigelow


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@373242 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-09-20 19:12:53 +00:00
Jonathan Rose
ade82766ec app_meetme: Document that 'p' option will continue in dialplan.
(closes issue AST-991)
Reported by John Bigelow


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@372765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-09-10 18:35:09 +00:00
Jonathan Rose
466e22fafc app_meetme: Adding test events for following activity in MeetMe.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@371919 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-08-29 20:42:54 +00:00
Kinsey Moore
af74988006 Add test instrumentation
This adds test instrumentation for loading and unloading of modules
and for certain actions in MeetMe to be used in the testsuite or any
other consumer of AMI events.  These will only be generated when
Asterisk is built with TEST_FRAMEWORK enabled.

(issue PQ-1131)
(issue PQ-1133)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@371201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-08-13 20:00:01 +00:00
Kinsey Moore
483223b4d3 Correct documentation for the MeetMe x flag
The documentation for the x flag for MeetMe incorrectly described its
function as closing down the conference when the last marked user left.
It actually causes the users with that flag to leave the conference
when the last marked user exits. The functionality of this flag is not
changing.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@370985 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-08-09 17:39:03 +00:00
Kinsey Moore
377caa7fb1 Clean up and ensure proper usage of alloca()
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)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@370642 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-07-31 19:31:42 +00:00
Richard Mudgett
ba26e7e249 Coverity Report: Fix issues for error type REVERSE_INULL (deprecated modules)
* Fix only issue pointed out by deprecated_REVERSE_INULL.txt for
app_meetme.c in find_user().

* Change use of %i to %d in sscanf() in find_user().  The use of %i gives
unexpected parsing because it can accept hex, octal, and decimal integer
formats.

* Changed other uses of %i in app_meetme() to use %d for consistency.

(issue ASTERISK-19648)
Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@367906 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-29 22:25:21 +00:00
Jonathan Rose
680b627906 Send relative path named recordings to the meetme directory instead of sounds
Prior to this patch, no effort was made to parse the path name to determine a proper
destination for recordings of MeetMe's r option. This fixes that.

Review: https://reviewboard.asterisk.org/r/1846/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@362079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-13 15:21:20 +00:00
Matthew Jordan
304af5d7cc Fix memory leak when using MeetMeAdmin 'e' option with user specified
A memory leak/reference counting leak occurs if the MeetMeAdmin 'e' command
(eject last user that joined) is used in conjunction with a specified user.
Regardless of the command being executed, if a user is specified for the
command, MeetMeAdmin will look up that user.  Because the 'e' option kicks
the last user that joined, as opposed to the one specified, the reference to
the user specified by the command would be leaked when the user variable
was assigned to the last user that joined.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-06 20:31:39 +00:00
Jonathan Rose
3560b4a9b5 Fix MusicOnHold in MeetMe so that it always uses the class if it's been defined
There were a few instances of restarting music on hold in meetme that would cause
Asterisk to revert to the default class of music on hold for no adequate reason.

Review: https://reviewboard.asterisk.org/r/1844/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-05 16:36:27 +00:00
Jonathan Rose
abd7fa4476 Make the MeetMeAdmin N command (mute all nonadmins) not mute admins
(Closes Issue ASTERISK-19335)
Reported by: Johan Wilfer
Review: https://reviewboard.asterisk.org/r/1843/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@361090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-04 13:26:45 +00:00
Kinsey Moore
cf9df098bd Prevent SLA settings from getting wiped out on reload
If SLA was reloaded without the config file being changed, current settings got
wiped out before the SLA reload code decided it wasn't going to reload the file
since nothing was changed.  Moving the settings reset later in the reload
process fixes this.

(closes issue AST-744)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@350023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 15:37:12 +00:00
Jonathan Rose
547aec88fb Fix: Meetme recording variables from realtime DB use null entries over channel variables
Meetme would attempt to substitute the realtime values of RECORDING_FILE and
RECORDING_FORMAT from the meetme db entry instead of using the channel variable set
for those variables in spite of those database entries being NULL or even lacking
a column to represent them.

(closes issue ASTERISK-18873)
Reported by: Byron Clark
Patches:
	ASTERISK-18873-1.patch uploaded by Byron Clark (license 6157)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@347369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-07 20:23:57 +00:00
Kinsey Moore
b17a694234 Fix another incorrect case with meetme's PIN logic and add documentation
This fixes an issue where a user of a dynamic conference was asked for a PIN
twice.  This also adds documentation to assist in future modifications to the
piece of code responsible for PIN checking.

(closes issue AST-670)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-10 21:14:11 +00:00
Kinsey Moore
8e2a8d16df Fix pin parameter behavior regression in MeetMe
The last time this code was touched (by me), a subtlety was missed based on the
difference between needing to check a pin's validity and the need to prompt
for a pin.

(closes issue ASTERISK-18488)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@344102 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-09 17:13:53 +00:00
Kevin P. Fleming
8daf83a53b Modify comments in MeetMe application documentation about DAHDI.
The MeetMe application documentation has some comments about usage of DAHDI,
and they were a bit outdated relative to modern DAHDI releases. This patch
changes the comment to just tell the user that a functional DAHDI timing
source is required, and no longer mention 'dahdi_dummy', since that module
does not exist in current DAHDI releases.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@342990 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-02 13:44:17 +00:00
Richard Mudgett
4051609b5c Update MeetMe p and X option documentation when interacting with the s option.
ASTERISK-12175 changed the p and X options to not interfere with the s
option when they are used together.  It makes more sense for the s option
to have priority for the DTMF '*' key since it cannot change its
activation code.  Otherwise, you could not use option s with the p or X
options.

JIRA AST-671


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@340470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-12 17:49:19 +00:00
Matthew Jordan
f13c3b3fd2 Fix for incorrect voicemail duration in external notifications
This patch fixes an issue where the voicemail duration was being reported
with a duration significantly less than the actual sound file duration.
Voicemails that contained mostly silence were reporting the duration of
only the sound in the file, as opposed to the duration of the file with
the silence.  This patch fixes this by having two durations reported in
the __ast_play_and_record family of functions - the sound_duration and the
actual duration of the file.  The sound_duration, which is optional, now
reports the duration of the sound in the file, while the actual full duration
of the file is reported in the duration parameter.  This allows the voicemail
applications to use the sound_duration for minimum duration checking, while
reporting the full duration to external parties if the voicemail is kept.

(issue ASTERISK-2234)
(closes issue ASTERISK-16981)
Reported by: Mary Ciuciu, Byron Clark, Brad House, Karsten Wemheuer, KevinH
Tested by: Matt Jordan

Review: https://reviewboard.asterisk.org/r/1443


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337118 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-20 22:38:54 +00:00
Paul Belanger
28952b7ea5 Meetme should have 'core' support level
(closes issue ASTERISK-18542)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@335714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-13 21:30:18 +00:00
Jonathan Rose
427d1167cd Fixes 32bit compilation warnings brought on by 331634 in app_dial and app_meetme
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-12 15:49:17 +00:00
Jason Parker
0688f632dc Use proper values for 64-bit option flags.
Also, reusing bits es no bueno, so change the value of a duplicate.

(issue ASTERISK-18239)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@331578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-08-11 21:46:39 +00:00
Kinsey Moore
9769bb7d34 MeetMe requests a PIN twice in some circumstances
If a call to MeetMe includes both the dynamic(D) and always request PIN(P)
options, MeetMe will ask for the PIN two times: once for creating the
conference and once for entering the conference.  This behavior was introduced
in rev 311616 when adding the CONFFLAG_ALWAYSPROMPT option to the logic branch
controlling PIN entry for joining a conference.

(closes AST-601)
Review: https://reviewboard.asterisk.org/r/1305/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-19 15:43:32 +00:00
Leif Madsen
fc0ea9d188 Revert changes to defaultenabled state for modules in Asterisk 1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 20:41:12 +00:00
Leif Madsen
d4938a111e Introduce <support_level> tags in MODULEINFO.
This change introduces MODULEINFO into many modules in Asterisk in order to show
the community support level for those modules. This is used by changes committed
to menuselect by Russell Bryant recently (r917 in menuselect). More information about
the support level types and what they mean is available on the wiki at
https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@328209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:13:06 +00:00
Leif Madsen
211af7820d Fix typo in documentation.
Pointed out by Vlad Povorozniuc

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@324176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-17 18:38:40 +00:00
Richard Mudgett
59a41188a8 The AMI Newstate event contains different information between v1.4 and v1.8.
The addition of connected line support in v1.8 changes the behavior of the
channel caller ID somewhat.  The channel caller ID value no longer time
shares with the connected line ID on outgoing call legs.  The timing of
some AMI events/responses output the connected line ID as caller ID.
These party ID's are now separate.

* The ConnectedLineNum and ConnectedLineName headers were added to many
AMI events/responses if the CallerIDNum/CallerIDName headers were also
present.

(closes issue #18252)
Reported by: gje
Tested by: rmudgett

Review: https://reviewboard.asterisk.org/r/1227/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-25 17:06:38 +00:00
Richard Mudgett
bf153ba6a4 Merged revisions 320236 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r320236 | rmudgett | 2011-05-20 15:44:54 -0500 (Fri, 20 May 2011) | 20 lines
  
  Merged revisions 320235 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r320235 | rmudgett | 2011-05-20 15:38:22 -0500 (Fri, 20 May 2011) | 13 lines
    
    The meetme CLI command completion leaves conferences mutex locked.
    
    When issuing a meetme kick CLI command and an invalid (non-existent)
    conference number is specified, pressing Tab leaves the conferences mutex
    locked and, therefore, all conferences deadlock.
    
    Add missing unlock.
    
    (closes issue #19336)
    Reported by: zvision
    Patches:
          app_meetme.diff uploaded by zvision (license 798)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@320237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 20:49:03 +00:00
Russell Bryant
10e40660c7 Use the right variable to print the time in a debug message.
The original patch also increased some buffer sizes, but that was already
done in this version.

(closes issue #17034)
Reported by: sysreq
Patches:
      asterisk-issue-17034.patch uploaded by sysreq (license 1009)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317969 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 21:49:01 +00:00
Russell Bryant
91c8e4d297 Fix some more "set but unused" compiler warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@317967 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 21:38:54 +00:00
Richard Mudgett
63579a892c Wait for leader with Music On Hold allows crosstalk between participants.
Parenthesis in the wrong position.  Regression from issue #14365 when
expanding conference flags to use 64 bits.

(closes issue #18418)
Reported by: MrHanMan
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 18:51:40 +00:00
Sean Bright
aa43b12c24 Merged revisions 316475 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r316475 | seanbright | 2011-05-03 22:23:01 -0400 (Tue, 03 May 2011) | 10 lines
  
  Honor the C option to MeetMe when L is passed.
  
  This fixes a case that r304773 and friends missed.
  
  (closes issue #17317)
  Reported by: var
  Patches:
        meetme-continue-on-l_16218.diff uploaded by var (license 1227)
  Tested by: seanbright
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@316476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 02:34:01 +00:00
Jonathan Rose
f6f5340777 Merged revisions 312762 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r312762 | jrose | 2011-04-05 09:11:36 -0500 (Tue, 05 Apr 2011) | 1 line
  
  Backporting trunk change to add verbosity to 'L' option in meetme
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@312765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-05 14:13:15 +00:00
Brett Bryant
51ce432d07 This patch fixes a bug with MeetMe behavior where the 'P' option for always
prompting for a pin is ignored for the first caller.

(closes issue #18070)
Reported by: mav3rick

Review: https://reviewboard.asterisk.org/r/1132/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@311615 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-23 21:54:11 +00:00
David Vossel
a00e99ec56 Merged revisions 311496 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r311496 | dvossel | 2011-03-22 10:24:45 -0500 (Tue, 22 Mar 2011) | 2 lines
  
  Fixes memory leak in MeetMe AMI action
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@311497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-22 15:25:24 +00:00
Sean Bright
b0c9f29c72 Merged revisions 304776 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r304776 | seanbright | 2011-01-29 13:08:14 -0500 (Sat, 29 Jan 2011) | 15 lines
  
  If we fail to allocate our announcement objects, make sure we don't leak objects.
  
  The majority of this patch was committed already in r304726 and r304729.
  
  (issue #18225)
  Reported by: kenji
  
  (issue #18444)
  Reported by: junky
  
  (closes issue #18343)
  Reported by: kobaz
  Patches:
        meetme-refs.diff uploaded by kobaz (license 834)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-29 18:09:37 +00:00
Sean Bright
07bbfff4eb Merged revisions 304773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r304773 | seanbright | 2011-01-29 12:51:28 -0500 (Sat, 29 Jan 2011) | 9 lines
  
  When we pass the S() or L() options to MeetMe, make sure that we honor C as well.
  
  Without this patch, if the user was kicked from the conference via the S() or L()
  mechanism, we would just hang up on them even if we also passed C (continue in
  dialplan when kicked).  With this patch we honor the C flag in those cases.
  
  (closes issue #17317)
  Reported by: var
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-29 17:54:43 +00:00
Sean Bright
4ba774c116 Merged revisions 304729 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r304729 | seanbright | 2011-01-29 12:01:51 -0500 (Sat, 29 Jan 2011) | 15 lines
  
  Make sure that we unref the correct object when ejecting the most recent caller.
  
  Currently, when we kick the last user to enter, we decrement our own reference
  count which results in a crash when we kick another user or when we exit the
  conference ourselves.
  
  This will fix #18225 in 1.8 and trunk, but that particular bug does not exist in
  1.6.2.
  
  (closes issue #18225)
  Reported by: kenji
  Patches:
        issue18225.patch uploaded by seanbright (license 71)
  Tested by: seanbright
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-29 17:15:27 +00:00
Sean Bright
05116e68f4 Merged revisions 304726 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r304726 | seanbright | 2011-01-29 11:26:57 -0500 (Sat, 29 Jan 2011) | 9 lines
  
  Fix user reference leak in MeetMe.
  
  We were unlinking the user from the conferences user container, but not
  decrementing the reference count of the user as well, resulting in a leak.
  
  (closes issue #18444)
  Reported by: junky
  Tested by: seanbright
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-29 16:28:27 +00:00
Sean Bright
6f4332b4cc Merged revisions 304659,304682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r304659 | seanbright | 2011-01-28 16:22:09 -0500 (Fri, 28 Jan 2011) | 5 lines
  
  Don't leak references if we can't create a pseudo channel for mixing in MeetMe.
  
  If there was a problem allocating a pseudo channel when building our meetme, we
  weren't destroying our user container or destroying the mutexes that we created.
........
  r304682 | seanbright | 2011-01-28 17:38:05 -0500 (Fri, 28 Jan 2011) | 2 lines
  
  Revert part of the previous commit that snuck in.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-28 22:54:23 +00:00
Russell Bryant
cfc893a5bc Merged revisions 303548 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303548 | russell | 2011-01-24 14:49:53 -0600 (Mon, 24 Jan 2011) | 38 lines
  
  Merged revisions 303546 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303546 | russell | 2011-01-24 14:32:21 -0600 (Mon, 24 Jan 2011) | 31 lines
    
    Fix channel redirect out of MeetMe() and other issues with channel softhangup.
    
    Mantis issue #18585 reports that a channel redirect out of MeetMe() stopped
    working properly.  This issue includes a patch that resolves the issue by
    removing a call to ast_check_hangup() from app_meetme.c.  I left that in my
    patch, as it doesn't need to be there.  However, the rest of the patch fixes
    this problem with or without the change to app_meetme.
    
    The key difference between what happens before and after this patch is the
    effect of the END_OF_Q control frame.  After END_OF_Q is hit in ast_read(),
    ast_read() will return NULL.  With the ast_check_hangup() removed, app_meetme
    sees this which causes it to exit as intended.  Checking ast_check_hangup()
    caused app_meetme to exit earlier in the process, and the target of the
    redirect saw the condition where ast_read() returned NULL.
    
    Removing ast_check_hangup() works around the issue in app_meetme, but doesn't
    solve the issue if another application did the same thing.  There are also
    other edge cases where if an application finishes at the same time that a
    redirect happens, the target of the redirect will think that the channel hung
    up.  So, I made some changes in pbx.c to resolve it at a deeper level.  There
    are already places that unset the SOFTHANGUP_ASYNCGOTO flag in an attempt to
    abort the hangup process.  My patch extends this to remove the END_OF_Q frame
    from the channel's read queue, making the "abort hangup" more complete.  This
    same technique was used in every place where a softhangup flag was cleared.
    
    (closes issue #18585)
    Reported by: oej
    Tested by: oej, wedhorn, russell
    
    Review: https://reviewboard.asterisk.org/r/1082/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303549 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-24 20:51:37 +00:00
Jason Parker
a6b8200be6 Merged revisions 301089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r301089 | qwell | 2011-01-07 14:52:00 -0600 (Fri, 07 Jan 2011) | 8 lines
  
  Initialize useropts/adminopts in case there is no column in the realtime DB.
  
  (closes issue #18182)
  Reported by: dimas
  Patches: 
        v1-18182.patch uploaded by dimas (license 88)
  Tested by: dimas
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@301090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-07 20:53:02 +00:00
Russell Bryant
3433890c9a Merged revisions 297229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r297229 | russell | 2010-12-02 07:16:47 -0600 (Thu, 02 Dec 2010) | 13 lines
  
  Merged revisions 297228 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r297228 | russell | 2010-12-02 07:16:15 -0600 (Thu, 02 Dec 2010) | 6 lines
    
    Add "DAHDI" to a couple of app_meetme error messages.
    
    This is in response to some questions on IRC.  To the user, there was nothing
    that made it obvious that this error had anything to do with DAHDI not being
    loaded.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@297245 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-02 13:20:19 +00:00
Tilghman Lesher
82ee0bc14e DOC: Conference number can be omitted; if omitted, all users in a meetme are listed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-30 19:12:48 +00:00
Tilghman Lesher
b4f92dec2c Merged revisions 296466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r296466 | tilghman | 2010-11-27 04:39:01 -0600 (Sat, 27 Nov 2010) | 5 lines
  
  18 characters is too short for most date/times (20 is the usual, but we add more in case of greater precision).
  
  (closes issue #18369)
   Reported by: tnakonz
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-27 10:40:22 +00:00
Brett Bryant
71cbbd60de Merged revisions 287759 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r287759 | bbryant | 2010-09-20 19:58:26 -0400 (Mon, 20 Sep 2010) | 23 lines
  
  Merged revisions 287758 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r287758 | bbryant | 2010-09-20 19:57:08 -0400 (Mon, 20 Sep 2010) | 16 lines
    
    Fix misvalidation of meetme pins in conjunction with the 'a' MeetMe flag.
    
    When using the 'a' MeetMe flag and having a user and admin pin setup for your
    conference, using the user pin would gain you admin priviledges. Also, when no
    user pin was set, an admin pin was, the 'a' MeetMe flag wasn't used, and the
    user tried to enter a conference then they were still prompted for a pin and
    forced to hit #.
    
    (closes issue #17908)
    Reported by: kuj
    Patches:
          pins_2.patch uploaded by kuj (license 1111)
          Tested by: kuj
    
          Review: [full review board URL with trailing slash]
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@287760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 00:00:23 +00:00
Brett Bryant
69e4f34914 Merged revisions 285532 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r285532 | bbryant | 2010-09-08 16:56:12 -0400 (Wed, 08 Sep 2010) | 8 lines
  
  Fixes a bug with MeetMe where after announcing the amount of time left in a conference, if music on hold was playing, it doesn't restart.
  
  (closes issue #17408)
  Reported by: sysreq
  Patches: 
        asterisk-issue-17408_fixed.patch uploaded by sysreq (license 1009)
  Tested by: sysreq
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@285533 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-08 20:58:43 +00:00