summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Bryant <russell@russellbryant.com>2005-11-21 13:04:36 +0000
committerRussell Bryant <russell@russellbryant.com>2005-11-21 13:04:36 +0000
commitf367620dd981fee4b720261f176cec73b273957b (patch)
treec74aaf9386cf74afb48cde4f8eae5b165f816046
parentb39076b985b77e23968e6e2dfbd71417a6ee4f98 (diff)
issue #5815
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rwxr-xr-xChangeLog6
-rwxr-xr-xchannels/chan_iax2.c5
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 <russell@digium.com>
+2005-11-21 Russell Bryant <russell@digium.com>
+
+ * 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 <russell@digium.com>
* 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;
}