From a262b338017182c407dc913732b0c48a7e34d017 Mon Sep 17 00:00:00 2001 From: russell Date: Mon, 21 Nov 2005 13:04:36 +0000 Subject: issue #5815 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7166 f38db490-d61c-443f-a65b-d21fe96a405b --- ChangeLog | 6 +++++- channels/chan_iax2.c | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 05f6817f0..18e023df8 100755 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ -2005-11-20 Russell Bryant +2005-11-21 Russell Bryant + + * channels/chan_iax2.c (iax2_getpeername): Return non-zero to indicate that a peer was found when using realtime (issue #5815) + +2005-11-20 Russell Bryant * Makefile apps/Makefile: Fix 'make install' for Solaris. (issue #5775) diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 1c3c0b390..3046c610b 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -859,10 +859,11 @@ static int iax2_getpeername(struct sockaddr_in sin, char *host, int len, int loc { struct iax2_peer *peer; int res = 0; + if (lockpeer) ast_mutex_lock(&peerl.lock); peer = peerl.peers; - while(peer) { + while (peer) { if ((peer->addr.sin_addr.s_addr == sin.sin_addr.s_addr) && (peer->addr.sin_port == sin.sin_port)) { ast_copy_string(host, peer->name, len); @@ -879,8 +880,10 @@ static int iax2_getpeername(struct sockaddr_in sin, char *host, int len, int loc ast_copy_string(host, peer->name, len); if (ast_test_flag(peer, IAX_TEMPONLY)) destroy_peer(peer); + res = 1; } } + return res; } -- cgit v1.2.3