Little fix to NAT-t alg

This commit is contained in:
Adam Ierymenko 2016-02-10 17:51:42 -08:00
parent f9230eb970
commit eadafd8de7

View File

@ -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++);