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
This commit is contained in:
Kinsey Moore
2011-07-19 15:43:32 +00:00
parent d72bfe9db3
commit 9769bb7d34

View File

@@ -4333,15 +4333,13 @@ static int conf_exec(struct ast_channel *chan, const char *data)
res = -1;
}
} else {
if (((!ast_strlen_zero(cnf->pin) &&
!ast_test_flag64(&confflags, CONFFLAG_ADMIN)) ||
(!ast_strlen_zero(cnf->pinadmin) &&
ast_test_flag64(&confflags, CONFFLAG_ADMIN)) ||
(!ast_strlen_zero(cnf->pin) &&
ast_strlen_zero(cnf->pinadmin) &&
ast_test_flag64(&confflags, CONFFLAG_ADMIN))) &&
((!(cnf->users == 0 && cnf->isdynamic)) ||
ast_test_flag64(&confflags, CONFFLAG_ALWAYSPROMPT))) {
/* Check to see if the conference requires a pin
* and we ALWAYS prompt or no pin was provided */
if ((!ast_strlen_zero(cnf->pin) ||
(!ast_strlen_zero(cnf->pinadmin) &&
ast_test_flag64(&confflags, CONFFLAG_ADMIN))) &&
(ast_test_flag64(&confflags, CONFFLAG_ALWAYSPROMPT) ||
ast_strlen_zero(args.pin))) {
char pin[MAX_PIN] = "";
int j;