From 880157695a708671b44cccd3e32df09f9cd0079a Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Mon, 12 Jun 2017 16:18:15 -0700 Subject: [PATCH] do not attempt to hole punch an upstream node --- libraries/networking/src/NodeList.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libraries/networking/src/NodeList.cpp b/libraries/networking/src/NodeList.cpp index 38d8c79251..06548499e8 100644 --- a/libraries/networking/src/NodeList.cpp +++ b/libraries/networking/src/NodeList.cpp @@ -713,8 +713,10 @@ void NodeList::pingPunchForInactiveNode(const SharedNodePointer& node) { void NodeList::startNodeHolePunch(const SharedNodePointer& node) { - // we don't hole punch to replicants, since it is assumed that we have a direct line to them - if (!NodeType::isDownstream(node->getType())) { + // we don't hole punch to downstream servers, since it is assumed that we have a direct line to them + // we also don't hole punch to relayed upstream nodes, since we do not communicate directly with them + + if (!NodeType::isDownstream(node->getType()) && !node->isUpstream()) { // connect to the correct signal on this node so we know when to ping it connect(node.data(), &Node::pingTimerTimeout, this, &NodeList::handleNodePingTimeout);