mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 11:04:00 +01:00
limit mininal received packet size to 40 bytes
This commit is contained in:
parent
b4484c8e8f
commit
140146e433
|
@ -283,8 +283,15 @@ namespace transport
|
||||||
// but better to find out which host were sent it and mark that router as unreachable
|
// but better to find out which host were sent it and mark that router as unreachable
|
||||||
{
|
{
|
||||||
i2p::transport::transports.UpdateReceivedBytes (bytes_transferred);
|
i2p::transport::transports.UpdateReceivedBytes (bytes_transferred);
|
||||||
|
if (bytes_transferred < SSU2_MIN_RECEIVED_PACKET_SIZE)
|
||||||
|
{
|
||||||
|
// drop too short packets
|
||||||
|
m_PacketsPool.ReleaseMt (packet);
|
||||||
|
Receive (socket);
|
||||||
|
return;
|
||||||
|
}
|
||||||
packet->len = bytes_transferred;
|
packet->len = bytes_transferred;
|
||||||
|
|
||||||
boost::system::error_code ec;
|
boost::system::error_code ec;
|
||||||
size_t moreBytes = socket.available (ec);
|
size_t moreBytes = socket.available (ec);
|
||||||
if (!ec && moreBytes)
|
if (!ec && moreBytes)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2022-2023, The PurpleI2P Project
|
* Copyright (c) 2022-2024, The PurpleI2P Project
|
||||||
*
|
*
|
||||||
* This file is part of Purple i2pd project and licensed under BSD3
|
* This file is part of Purple i2pd project and licensed under BSD3
|
||||||
*
|
*
|
||||||
|
@ -27,6 +27,7 @@ namespace transport
|
||||||
const size_t SSU2_SOCKET_RECEIVE_BUFFER_SIZE = 0x1FFFF; // 128K
|
const size_t SSU2_SOCKET_RECEIVE_BUFFER_SIZE = 0x1FFFF; // 128K
|
||||||
const size_t SSU2_SOCKET_SEND_BUFFER_SIZE = 0x1FFFF; // 128K
|
const size_t SSU2_SOCKET_SEND_BUFFER_SIZE = 0x1FFFF; // 128K
|
||||||
const size_t SSU2_MAX_NUM_INTRODUCERS = 3;
|
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 = 3600; // 1 hour
|
||||||
const int SSU2_TO_INTRODUCER_SESSION_EXPIRATION = 4800; // 80 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 = 15; // in seconds
|
||||||
|
|
Loading…
Reference in a new issue