Browse Source

don't handle PeerTest 1 with same nonce twice

pull/2117/head
orignal 5 days ago
parent
commit
79e8ccbb5b
  1. 6
      libi2pd/SSU2Session.cpp

6
libi2pd/SSU2Session.cpp

@ -2162,7 +2162,8 @@ namespace transport @@ -2162,7 +2162,8 @@ namespace transport
GetRemoteIdentity ()->GetIdentHash ());
if (session) // session with Charlie
{
m_Server.AddPeerTest (nonce, shared_from_this (), ts/1000);
if (m_Server.AddPeerTest (nonce, shared_from_this (), ts/1000))
{
auto packet = m_Server.GetSentPacketsPool ().AcquireShared ();
// Alice's RouterInfo
auto r = i2p::data::netdb.FindRouter (GetRemoteIdentity ()->GetIdentHash ());
@ -2186,6 +2187,9 @@ namespace transport @@ -2186,6 +2187,9 @@ namespace transport
packet->sendTime = ts;
session->m_SentPackets.emplace (packetNum, packet);
}
else
LogPrint (eLogInfo, "SSU2: Peer test 1 nonce ", nonce, " already exists. Ignored");
}
else
{
// Charlie not found, send error back to Alice

Loading…
Cancel
Save