Little fix to NAT-t alg
This commit is contained in:
@@ -490,10 +490,10 @@ unsigned long Switch::doTimerTasks(uint64_t now)
|
|||||||
// Strategies 1-3: try escalating ports for symmetric NATs that remap sequentially
|
// Strategies 1-3: try escalating ports for symmetric NATs that remap sequentially
|
||||||
InetAddress tmpaddr(qi->inaddr);
|
InetAddress tmpaddr(qi->inaddr);
|
||||||
int p = (int)qi->inaddr.port() + qi->strategyIteration;
|
int p = (int)qi->inaddr.port() + qi->strategyIteration;
|
||||||
if (p < 0xffff) {
|
if (p > 65535)
|
||||||
|
p -= 64511;
|
||||||
tmpaddr.setPort((unsigned int)p);
|
tmpaddr.setPort((unsigned int)p);
|
||||||
qi->peer->sendHELLO(qi->localAddr,tmpaddr,now);
|
qi->peer->sendHELLO(qi->localAddr,tmpaddr,now);
|
||||||
} else qi->strategyIteration = 5;
|
|
||||||
} else {
|
} else {
|
||||||
// All strategies tried, expire entry
|
// All strategies tried, expire entry
|
||||||
_contactQueue.erase(qi++);
|
_contactQueue.erase(qi++);
|
||||||
|
|||||||
Reference in New Issue
Block a user