From fac7dc9c913a94550692c31ca6c24fa4db5b5b52 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 25 Oct 2017 16:01:36 -0700 Subject: Stop duplciate IPv6 addresses due to privacy mode IPs. --- node/Peer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'node/Peer.cpp') diff --git a/node/Peer.cpp b/node/Peer.cpp index d68e0df3..a3682a97 100644 --- a/node/Peer.cpp +++ b/node/Peer.cpp @@ -171,7 +171,7 @@ void Peer::received( bool redundant = false; for(unsigned int i=0;ialive(now)) && ( ((_paths[i].p->localSocket() == path->localSocket())&&(_paths[i].p->address().ss_family == path->address().ss_family)) || (_paths[i].p->address().ipsEqual(path->address())) ) ) { + if ( (_paths[i].p->alive(now)) && ( ((_paths[i].p->localSocket() == path->localSocket())&&(_paths[i].p->address().ss_family == path->address().ss_family)) || (_paths[i].p->address().ipsEqual2(path->address())) ) ) { redundant = true; break; } @@ -560,7 +560,7 @@ void Peer::clusterRedirect(void *tPtr,const SharedPtr &originatingPath,con unsigned int j = 0; for(unsigned int i=0;i= newPriority)&&(!_paths[i].p->address().ipsEqual(remoteAddress))) { + if ((_paths[i].priority >= newPriority)&&(!_paths[i].p->address().ipsEqual2(remoteAddress))) { if (i != j) _paths[j] = _paths[i]; ++j; -- cgit v1.2.3