diff options
author | Jeff Peeler <jpeeler@digium.com> | 2009-09-28 19:10:10 +0000 |
---|---|---|
committer | Jeff Peeler <jpeeler@digium.com> | 2009-09-28 19:10:10 +0000 |
commit | 05f94a05c222943cc7c54c930a345e97bfe408d2 (patch) | |
tree | 71c52088a546f6ece0b2c89bc2c4dea4f13f717a /channels | |
parent | 307bf124d2858d36aec1bc4239d777114746e52b (diff) |
Fix building of registration entry in build_peer when using callbackextension
Check for remotesecret option was unintentionally always true, which therefore
caused the secret option to never be used. Thanks to dvossel for pointing out
the exact fix.
(closes issue #15943)
Reported by: tpsast
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@220718 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 08f2128fc..731453fe8 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -24641,7 +24641,7 @@ static struct sip_peer *build_peer(const char *name, struct ast_variable *v, str ast_free_ha(oldha); if (!ast_strlen_zero(callback)) { /* build string from peer info */ char *reg_string; - if (asprintf(®_string, "%s?%s:%s@%s/%s", peer->name, peer->username, peer->remotesecret ? peer->remotesecret : peer->secret, peer->tohost, callback) < 0) { + if (asprintf(®_string, "%s?%s:%s@%s/%s", peer->name, peer->username, !ast_strlen_zero(peer->remotesecret) ? peer->remotesecret : peer->secret, peer->tohost, callback) < 0) { ast_log(LOG_WARNING, "asprintf() failed: %s\n", strerror(errno)); } else if (reg_string) { sip_register(reg_string, 0); /* XXX TODO: count in registry_count */ |