summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJeff Peeler <jpeeler@digium.com>2009-09-28 19:10:10 +0000
committerJeff Peeler <jpeeler@digium.com>2009-09-28 19:10:10 +0000
commit05f94a05c222943cc7c54c930a345e97bfe408d2 (patch)
tree71c52088a546f6ece0b2c89bc2c4dea4f13f717a /channels
parent307bf124d2858d36aec1bc4239d777114746e52b (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.c2
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(&reg_string, "%s?%s:%s@%s/%s", peer->name, peer->username, peer->remotesecret ? peer->remotesecret : peer->secret, peer->tohost, callback) < 0) {
+ if (asprintf(&reg_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 */