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)
........
Merged revisions 344102 from http://svn.asterisk.org/svn/asterisk/branches/1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@344103
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
res = -1;
}
} else {
- /* Check to see if the conference requires a pin
- * and we ALWAYS prompt or no pin was provided */
+ /* Check to see if the conference requires pin
+ * validation and check for exemptions to that
+ * requirement. */
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))) {
+ ast_strlen_zero(args.pin) || !cnf->isdynamic)) {
char pin[MAX_PIN] = "";
int j;