From 5c616c27af95d73eb275a20d9aecdd82b0bdced0 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Thu, 12 Dec 2013 05:36:18 -0500 Subject: [PATCH] fix erroneous double lookup detection --- daemon/call.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/daemon/call.c b/daemon/call.c index 673d7e716..0389b2074 100644 --- a/daemon/call.c +++ b/daemon/call.c @@ -1660,7 +1660,10 @@ got_cs: p = &cs->peers[1]; p2 = &cs->peers[0]; - if (c->lookup_done && matched_relay) { + if (c->lookup_done && matched_relay + && t->stream.port == matched_relay->peer_advertised.port + && IN6_ARE_ADDR_EQUAL(&t->stream.ip46, &matched_relay->peer_advertised.ip46)) + { /* duplicate/stray lookup. don't do anything except replying with something we already have. check whether the direction is reversed or not and return the appropriate details. if no matching stream was found, results are