mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 08:14:15 +00:00
rounded to seconds timestamps
This commit is contained in:
parent
0e0cd555eb
commit
eeea02d834
@ -139,7 +139,7 @@ namespace transport
|
|||||||
m3p2[3] = 0; // flag
|
m3p2[3] = 0; // flag
|
||||||
memcpy (m3p2 + 4, i2p::context.GetRouterInfo ().GetBuffer (), bufLen); // TODO: own RI should be protected by mutex
|
memcpy (m3p2 + 4, i2p::context.GetRouterInfo ().GetBuffer (), bufLen); // TODO: own RI should be protected by mutex
|
||||||
// 2 bytes reserved
|
// 2 bytes reserved
|
||||||
htobe32buf (options + 8, i2p::util::GetSecondsSinceEpoch ()); // tsA
|
htobe32buf (options + 8, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000); // tsA, rounded to seconds
|
||||||
// 4 bytes reserved
|
// 4 bytes reserved
|
||||||
// sign and encrypt options, use m_H as AD
|
// sign and encrypt options, use m_H as AD
|
||||||
uint8_t nonce[12];
|
uint8_t nonce[12];
|
||||||
@ -162,7 +162,7 @@ namespace transport
|
|||||||
uint8_t options[16];
|
uint8_t options[16];
|
||||||
memset (options, 0, 16);
|
memset (options, 0, 16);
|
||||||
htobe16buf (options + 2, paddingLen); // padLen
|
htobe16buf (options + 2, paddingLen); // padLen
|
||||||
htobe32buf (options + 8, i2p::util::GetSecondsSinceEpoch ()); // tsB
|
htobe32buf (options + 8, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000); // tsB, rounded to seconds
|
||||||
// sign and encrypt options, use m_H as AD
|
// sign and encrypt options, use m_H as AD
|
||||||
uint8_t nonce[12];
|
uint8_t nonce[12];
|
||||||
memset (nonce, 0, 12); // set nonce to zero
|
memset (nonce, 0, 12); // set nonce to zero
|
||||||
|
@ -570,7 +570,7 @@ namespace transport
|
|||||||
// payload
|
// payload
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, ts/1000);
|
htobe32buf (payload + 3, (ts + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
if (GetRouterStatus () == eRouterStatusFirewalled && m_Address->IsIntroducer ())
|
if (GetRouterStatus () == eRouterStatusFirewalled && m_Address->IsIntroducer ())
|
||||||
{
|
{
|
||||||
@ -684,7 +684,7 @@ namespace transport
|
|||||||
size_t maxPayloadSize = m_MaxPayloadSize - 48;
|
size_t maxPayloadSize = m_MaxPayloadSize - 48;
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, ts/1000);
|
htobe32buf (payload + 3, (ts + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
payloadSize += CreateAddressBlock (payload + payloadSize, maxPayloadSize - payloadSize, m_RemoteEndpoint);
|
payloadSize += CreateAddressBlock (payload + payloadSize, maxPayloadSize - payloadSize, m_RemoteEndpoint);
|
||||||
if (m_RelayTag)
|
if (m_RelayTag)
|
||||||
@ -1046,7 +1046,7 @@ namespace transport
|
|||||||
// payload
|
// payload
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, i2p::util::GetSecondsSinceEpoch ());
|
htobe32buf (payload + 3, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
payloadSize += CreatePaddingBlock (payload + payloadSize, 25 - payloadSize, 1);
|
payloadSize += CreatePaddingBlock (payload + payloadSize, 25 - payloadSize, 1);
|
||||||
// encrypt
|
// encrypt
|
||||||
@ -1117,7 +1117,7 @@ namespace transport
|
|||||||
// payload
|
// payload
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, i2p::util::GetSecondsSinceEpoch ());
|
htobe32buf (payload + 3, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
payloadSize += CreateAddressBlock (payload + payloadSize, 56 - payloadSize, m_RemoteEndpoint);
|
payloadSize += CreateAddressBlock (payload + payloadSize, 56 - payloadSize, m_RemoteEndpoint);
|
||||||
if (m_TerminationReason != eSSU2TerminationReasonNormalClose)
|
if (m_TerminationReason != eSSU2TerminationReasonNormalClose)
|
||||||
@ -1205,7 +1205,7 @@ namespace transport
|
|||||||
// payload
|
// payload
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, i2p::util::GetSecondsSinceEpoch ());
|
htobe32buf (payload + 3, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
payloadSize += CreateAddressBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize, ep);
|
payloadSize += CreateAddressBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize, ep);
|
||||||
payloadSize += CreateRelayResponseBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize,
|
payloadSize += CreateRelayResponseBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize,
|
||||||
@ -1281,7 +1281,7 @@ namespace transport
|
|||||||
// payload
|
// payload
|
||||||
payload[0] = eSSU2BlkDateTime;
|
payload[0] = eSSU2BlkDateTime;
|
||||||
htobe16buf (payload + 1, 4);
|
htobe16buf (payload + 1, 4);
|
||||||
htobe32buf (payload + 3, i2p::util::GetSecondsSinceEpoch ());
|
htobe32buf (payload + 3, (i2p::util::GetMillisecondsSinceEpoch () + 500)/1000);
|
||||||
size_t payloadSize = 7;
|
size_t payloadSize = 7;
|
||||||
if (msg == 6 || msg == 7)
|
if (msg == 6 || msg == 7)
|
||||||
payloadSize += CreateAddressBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize, m_RemoteEndpoint);
|
payloadSize += CreateAddressBlock (payload + payloadSize, m_MaxPayloadSize - payloadSize, m_RemoteEndpoint);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user