aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-01 23:55:17 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-02-01 23:55:17 +0000
commit153c95a7a6de779e9655396fa8f69b44144f5ecd (patch)
treef483c33b4da130c74e570e0f32fabf321ae7b24d
parentafbbafd633c43b7f9bb1ed349dc5d2c911a5923f (diff)
If unregistered, don't consider it valid (bug #956)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2105 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_sip.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 24906e2de..37bb0894e 100755
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -844,7 +844,8 @@ static int create_addr(struct sip_pvt *r, char *peer)
r->sa.sin_port = p->defaddr.sin_port;
}
memcpy(&r->recv, &r->sa, sizeof(r->recv));
- }
+ } else
+ p = NULL;
}
ast_mutex_unlock(&peerl.lock);
if (!p && !found) {
@@ -5663,7 +5664,7 @@ static int sip_send_mwi_to_peer(struct sip_peer *peer)
strncpy(name, peer->name, sizeof(name) - 1);
peer->lastmsgssent = ((newmsgs << 8) | (oldmsgs));
ast_mutex_unlock(&peerl.lock);
- if (create_addr(p, name) || !p->sa.sin_addr.s_addr || !p->sa.sin_port) {
+ if (create_addr(p, name)) {
/* Maybe they're not registered, etc. */
sip_destroy(p);
return 0;