Merge tilghman's meetme fix for reentering pin (bug #2143)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3520 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
5b52d9261d
commit
95e8895aed
|
@ -1324,8 +1324,11 @@ static int conf_exec(struct ast_channel *chan, void *data)
|
|||
confno[0] = '\0';
|
||||
} else {
|
||||
if (!ast_strlen_zero(cnf->pin)) {
|
||||
char pin[AST_MAX_EXTENSION];
|
||||
char pin[AST_MAX_EXTENSION]="";
|
||||
int j;
|
||||
|
||||
/* Allow the pin to be retried up to 3 times */
|
||||
for (j=0; j<3; j++) {
|
||||
if (*the_pin) {
|
||||
strncpy(pin, the_pin, sizeof(pin) - 1);
|
||||
res = 0;
|
||||
|
@ -1339,6 +1342,7 @@ static int conf_exec(struct ast_channel *chan, void *data)
|
|||
allowretry = 0;
|
||||
/* Run the conference */
|
||||
res = conf_run(chan, cnf, confflags);
|
||||
break;
|
||||
} else {
|
||||
/* Pin invalid */
|
||||
res = ast_streamfile(chan, "conf-invalidpin", chan->language);
|
||||
|
@ -1351,6 +1355,13 @@ static int conf_exec(struct ast_channel *chan, void *data)
|
|||
} else {
|
||||
res = -1;
|
||||
allowretry = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Don't retry pin with a static pin */
|
||||
if (*the_pin) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
/* No pin required */
|
||||
|
|
Reference in New Issue