summaryrefslogtreecommitdiff
path: root/node/Network.cpp
diff options
context:
space:
mode:
authorAdam Ierymenko <adam.ierymenko@gmail.com>2016-09-09 09:32:00 -0700
committerAdam Ierymenko <adam.ierymenko@gmail.com>2016-09-09 09:32:00 -0700
commitef8706995786f26df7bcb9f69b2a332419841964 (patch)
treed540d09e14a78a7066e6407e176d65f29716f00e /node/Network.cpp
parent0d4109a9f1f119e336d73039251ad17c0e2a56f4 (diff)
downloadinfinitytier-ef8706995786f26df7bcb9f69b2a332419841964.tar.gz
infinitytier-ef8706995786f26df7bcb9f69b2a332419841964.zip
Fix gating of multicast GATHER replies since these can come from upstream, etc., and fix an issue with sending ECHO to recheck marginal paths.
Diffstat (limited to 'node/Network.cpp')
-rw-r--r--node/Network.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/node/Network.cpp b/node/Network.cpp
index 710e70dd..a9b14942 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -1093,6 +1093,11 @@ bool Network::gate(const SharedPtr<Peer> &peer,const Packet::Verb verb,const uin
return false;
}
+bool Network::gateMulticastGather(const SharedPtr<Peer> &peer,const Packet::Verb verb,const uint64_t packetId)
+{
+ return ( (peer->address() == controller()) || RR->topology->isUpstream(peer->identity()) || gate(peer,verb,packetId) || _config.isAnchor(peer->address()) );
+}
+
bool Network::recentlyAllowedOnNetwork(const SharedPtr<Peer> &peer) const
{
Mutex::Lock _l(_lock);