Browse Source

introducer duration variance

gha
orignal 2 months ago
parent
commit
8c292727da
  1. 4
      libi2pd/SSU2.cpp
  2. 3
      libi2pd/SSU2.h

4
libi2pd/SSU2.cpp

@ -1267,7 +1267,9 @@ namespace transport @@ -1267,7 +1267,9 @@ namespace transport
ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_EXPIRATION)
{
session->SendKeepAlive ();
if (ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION)
if (ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION ||
ts < session->GetCreationTime () + SSU2_TO_INTRODUCER_SESSION_DURATION +
m_Rng () % SSU2_TO_INTRODUCER_SESSION_DURATION_VARIANCE)
{
newList.push_back ({ident, session->GetRelayTag ()});
if (tag != session->GetRelayTag ())

3
libi2pd/SSU2.h

@ -35,7 +35,8 @@ namespace transport @@ -35,7 +35,8 @@ namespace transport
const uint64_t SSU2_SOCKET_MAX_BUFFER_SIZE = 4 * 1024 * 1024;
const size_t SSU2_MAX_NUM_INTRODUCERS = 3;
const size_t SSU2_MIN_RECEIVED_PACKET_SIZE = 40; // 16 byte short header + 8 byte minimum payload + 16 byte MAC
const int SSU2_TO_INTRODUCER_SESSION_DURATION = 3600; // 1 hour
const int SSU2_TO_INTRODUCER_SESSION_DURATION = 3480; // 58 minutes
const int SSU2_TO_INTRODUCER_SESSION_DURATION_VARIANCE = 330; // 5 minutes
const int SSU2_TO_INTRODUCER_SESSION_EXPIRATION = 4800; // 80 minutes
const int SSU2_KEEP_ALIVE_INTERVAL = 15; // in seconds
const int SSU2_KEEP_ALIVE_INTERVAL_VARIANCE = 4; // in seconds

Loading…
Cancel
Save