So we need to keep track of external surface per reporter, since some NATs assign different external IPs for each external destination. Keeping just one known surface could create a race condition.
This commit is contained in:
parent
625ddf41a7
commit
b4b067bf12
5 changed files with 92 additions and 45 deletions
|
@ -273,7 +273,7 @@ bool IncomingPacket::_doHELLO(const RuntimeEnvironment *RR)
|
|||
trusted = true;
|
||||
}
|
||||
if (destAddr)
|
||||
RR->sa->iam(id.address(),_remoteAddress,destAddr,trusted);
|
||||
RR->sa->iam(id.address(),_remoteAddress,destAddr,trusted,RR->node->now());
|
||||
|
||||
Packet outp(id.address(),RR->identity.address(),Packet::VERB_OK);
|
||||
|
||||
|
@ -358,7 +358,7 @@ bool IncomingPacket::_doOK(const RuntimeEnvironment *RR,const SharedPtr<Peer> &p
|
|||
trusted = true;
|
||||
}
|
||||
if (destAddr)
|
||||
RR->sa->iam(peer->address(),_remoteAddress,destAddr,trusted);
|
||||
RR->sa->iam(peer->address(),_remoteAddress,destAddr,trusted,RR->node->now());
|
||||
} break;
|
||||
|
||||
case Packet::VERB_WHOIS: {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue