From 4ea4b7e1ab142ad8f1335ffc018b096cb7fd77f0 Mon Sep 17 00:00:00 2001 From: Kinsey Moore <kmoore@digium.com> Date: Tue, 19 Jul 2011 15:49:55 +0000 Subject: [PATCH] Merged revisions 328771 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.10 ................ r328771 | kmoore | 2011-07-19 10:46:54 -0500 (Tue, 19 Jul 2011) | 18 lines Merged revisions 328770 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328770 | kmoore | 2011-07-19 10:43:32 -0500 (Tue, 19 Jul 2011) | 11 lines 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/trunk@328772 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- apps/app_meetme.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/apps/app_meetme.c b/apps/app_meetme.c index 73aaefc0e6..f0ab25903b 100644 --- a/apps/app_meetme.c +++ b/apps/app_meetme.c @@ -4419,15 +4419,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; -- GitLab