mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-03-10 11:28:27 +01:00
check m2p3len
This commit is contained in:
parent
e190a005db
commit
1dd003d26a
1 changed files with 6 additions and 1 deletions
|
@ -276,6 +276,11 @@ namespace transport
|
||||||
paddingLen = bufbe16toh (options + 2);
|
paddingLen = bufbe16toh (options + 2);
|
||||||
m_SessionRequestBufferLen = paddingLen + 64;
|
m_SessionRequestBufferLen = paddingLen + 64;
|
||||||
m3p2Len = bufbe16toh (options + 4);
|
m3p2Len = bufbe16toh (options + 4);
|
||||||
|
if (m3p2Len < 16)
|
||||||
|
{
|
||||||
|
LogPrint (eLogWarning, "NTCP2: SessionRequest m3p2len=", m3p2Len, " is too short");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
// check timestamp
|
// check timestamp
|
||||||
auto ts = i2p::util::GetSecondsSinceEpoch ();
|
auto ts = i2p::util::GetSecondsSinceEpoch ();
|
||||||
uint32_t tsA = bufbe32toh (options + 8);
|
uint32_t tsA = bufbe32toh (options + 8);
|
||||||
|
@ -944,7 +949,7 @@ namespace transport
|
||||||
payload[s] = eNTCP2BlkPadding; // blk
|
payload[s] = eNTCP2BlkPadding; // blk
|
||||||
htobe16buf (payload + s + 1, paddingSize); // size
|
htobe16buf (payload + s + 1, paddingSize); // size
|
||||||
s += 3;
|
s += 3;
|
||||||
RAND_bytes (payload + s, paddingSize);
|
memset (payload + s, 0, paddingSize);
|
||||||
s += paddingSize;
|
s += paddingSize;
|
||||||
// send
|
// send
|
||||||
SendNextFrame (payload, s);
|
SendNextFrame (payload, s);
|
||||||
|
|
Loading…
Add table
Reference in a new issue