don't store multiple secrets delimited with semicolons for peers because this

is only valid for users. Instead, only keep the last specified secret for a
peer entry. Also, document how multiple secrets are handled in the sample
config. (Reported by PCadach on #asterisk-bugs)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@34627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Russell Bryant 19 years ago
parent 7807373222
commit 4893f1917f

@ -8191,11 +8191,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, in
peer->peercontext[0] = '\0';
while(v) {
if (!strcasecmp(v->name, "secret")) {
if (!ast_strlen_zero(peer->secret)) {
strncpy(peer->secret + strlen(peer->secret), ";", sizeof(peer->secret)-strlen(peer->secret) - 1);
strncpy(peer->secret + strlen(peer->secret), v->value, sizeof(peer->secret)-strlen(peer->secret) - 1);
} else
ast_copy_string(peer->secret, v->value, sizeof(peer->secret));
ast_copy_string(peer->secret, v->value, sizeof(peer->secret));
} else if (!strcasecmp(v->name, "mailbox")) {
ast_copy_string(peer->mailbox, v->value, sizeof(peer->mailbox));
} else if (!strcasecmp(v->name, "dbsecret")) {

@ -412,7 +412,9 @@ host=216.207.245.47
;type=friend
;host=dynamic
;regexten=1234
;secret=moofoo
;secret=moofoo ; Multiple secrets may be specified. For a "user", all
;secret=foomoo ; specified entries will be accepted as valid. For a "peer",
;secret=shazbot ; only the last specified secret will be used.
;context=default
;permit=0.0.0.0/0.0.0.0

Loading…
Cancel
Save