mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 00:00:29 +03:00
create I2NP depending on type in I2NP block
This commit is contained in:
parent
d310efcb5c
commit
197882a4c9
@ -875,13 +875,16 @@ namespace transport
|
|||||||
LogPrint (eLogError, "NTCP2: I2NP block is too long ", size);
|
LogPrint (eLogError, "NTCP2: I2NP block is too long ", size);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
auto nextMsg = NewI2NPMessage (size);
|
auto nextMsg = (frame[offset] == eI2NPTunnelData) ? NewI2NPTunnelMessage (true) : NewI2NPMessage (size);
|
||||||
nextMsg->Align (6); // for possible tunnel msg
|
|
||||||
nextMsg->offset += TUNNEL_GATEWAY_HEADER_SIZE; // reserve room for TunnelGateway header
|
|
||||||
nextMsg->len = nextMsg->offset + size + 7; // 7 more bytes for full I2NP header
|
nextMsg->len = nextMsg->offset + size + 7; // 7 more bytes for full I2NP header
|
||||||
memcpy (nextMsg->GetNTCP2Header (), frame + offset, size);
|
if (nextMsg->len <= nextMsg->maxLen)
|
||||||
nextMsg->FromNTCP2 ();
|
{
|
||||||
m_Handler.PutNextMessage (std::move (nextMsg));
|
memcpy (nextMsg->GetNTCP2Header (), frame + offset, size);
|
||||||
|
nextMsg->FromNTCP2 ();
|
||||||
|
m_Handler.PutNextMessage (std::move (nextMsg));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
LogPrint (eLogError, "NTCP2: I2NP block is too long for I2NP message");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case eNTCP2BlkTermination:
|
case eNTCP2BlkTermination:
|
||||||
|
Loading…
Reference in New Issue
Block a user