From eadafd8de754336f8c06302305a26669762a365d Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Wed, 10 Feb 2016 17:51:42 -0800 Subject: Little fix to NAT-t alg --- node/Switch.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/node/Switch.cpp b/node/Switch.cpp index 4c91a855..1ed1dfe6 100644 --- a/node/Switch.cpp +++ b/node/Switch.cpp @@ -490,10 +490,10 @@ unsigned long Switch::doTimerTasks(uint64_t now) // Strategies 1-3: try escalating ports for symmetric NATs that remap sequentially InetAddress tmpaddr(qi->inaddr); int p = (int)qi->inaddr.port() + qi->strategyIteration; - if (p < 0xffff) { - tmpaddr.setPort((unsigned int)p); - qi->peer->sendHELLO(qi->localAddr,tmpaddr,now); - } else qi->strategyIteration = 5; + if (p > 65535) + p -= 64511; + tmpaddr.setPort((unsigned int)p); + qi->peer->sendHELLO(qi->localAddr,tmpaddr,now); } else { // All strategies tried, expire entry _contactQueue.erase(qi++); -- cgit v1.2.3