summaryrefslogtreecommitdiff
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
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
-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 */