Browse Source

limit tunnel length to 8 hops

pull/1622/head
orignal 3 years ago
parent
commit
8f25b66760
  1. 4
      libi2pd/Tunnel.cpp
  2. 3
      libi2pd/Tunnel.h

4
libi2pd/Tunnel.cpp

@ -42,8 +42,8 @@ namespace tunnel @@ -42,8 +42,8 @@ namespace tunnel
void Tunnel::Build (uint32_t replyMsgID, std::shared_ptr<OutboundTunnel> outboundTunnel)
{
auto numHops = m_Config->GetNumHops ();
int numRecords = numHops <= STANDARD_NUM_RECORDS ? STANDARD_NUM_RECORDS : numHops;
auto msg = NewI2NPShortMessage ();
int numRecords = numHops <= STANDARD_NUM_RECORDS ? STANDARD_NUM_RECORDS : MAX_NUM_RECORDS;
auto msg = numRecords <= STANDARD_NUM_RECORDS ? NewI2NPShortMessage () : NewI2NPMessage ();
*msg->GetPayload () = numRecords;
msg->len += numRecords*TUNNEL_BUILD_RECORD_SIZE + 1;
// shuffle records

3
libi2pd/Tunnel.h

@ -37,7 +37,8 @@ namespace tunnel @@ -37,7 +37,8 @@ namespace tunnel
const int TUNNEL_RECREATION_THRESHOLD = 90; // 1.5 minutes
const int TUNNEL_CREATION_TIMEOUT = 30; // 30 seconds
const int STANDARD_NUM_RECORDS = 4; // in VariableTunnelBuild message
const int MAX_NUM_RECORDS = 8;
enum TunnelState
{
eTunnelStatePending,

Loading…
Cancel
Save