aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/app_meetme.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/apps/app_meetme.c b/apps/app_meetme.c
index 4ef16189d..59ba74355 100644
--- a/apps/app_meetme.c
+++ b/apps/app_meetme.c
@@ -3983,9 +3983,13 @@ static int conf_exec(struct ast_channel *chan, void *data)
res = -1;
}
} else {
- if (((!ast_strlen_zero(cnf->pin) &&
- !ast_test_flag(&confflags, CONFFLAG_ADMIN)) ||
- !ast_strlen_zero(cnf->pinadmin)) &&
+ if (((!ast_strlen_zero(cnf->pin) &&
+ !ast_test_flag(&confflags, CONFFLAG_ADMIN)) ||
+ (!ast_strlen_zero(cnf->pinadmin) &&
+ ast_test_flag(&confflags, CONFFLAG_ADMIN)) ||
+ (!ast_strlen_zero(cnf->pin) &&
+ ast_strlen_zero(cnf->pinadmin) &&
+ ast_test_flag(&confflags, CONFFLAG_ADMIN))) &&
(!(cnf->users == 0 && cnf->isdynamic))) {
char pin[MAX_PIN] = "";
int j;
@@ -4000,9 +4004,11 @@ static int conf_exec(struct ast_channel *chan, void *data)
res = ast_app_getdata(chan, "conf-getpin", pin + strlen(pin), sizeof(pin) - 1 - strlen(pin), 0);
}
if (res >= 0) {
- if (!strcasecmp(pin, cnf->pin) ||
- (!ast_strlen_zero(cnf->pinadmin) &&
- !strcasecmp(pin, cnf->pinadmin))) {
+ if ((!strcasecmp(pin, cnf->pin) &&
+ (ast_strlen_zero(cnf->pinadmin) ||
+ !ast_test_flag(&confflags, CONFFLAG_ADMIN))) ||
+ (!ast_strlen_zero(cnf->pinadmin) &&
+ !strcasecmp(pin, cnf->pinadmin))) {
/* Pin correct */
allowretry = 0;
if (!ast_strlen_zero(cnf->pinadmin) && !strcasecmp(pin, cnf->pinadmin)) {