Skip to content

Commit

Permalink
fixed misalignment
Browse files Browse the repository at this point in the history
  • Loading branch information
orignal committed Jan 12, 2016
1 parent 7a84daf commit 8d4fae2
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 9 deletions.
8 changes: 4 additions & 4 deletions NTCPSession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -187,8 +187,8 @@ namespace transport
memcpy (xy + 256, y, 256);
SHA256(xy, 512, m_Establisher->phase2.encrypted.hxy);
uint32_t tsB = htobe32 (i2p::util::GetSecondsSinceEpoch ());
m_Establisher->phase2.encrypted.timestamp = tsB;
// TODO: fill filler
memcpy (m_Establisher->phase2.encrypted.timestamp, &tsB, 4);
RAND_bytes (m_Establisher->phase2.encrypted.filler, 12);

i2p::crypto::AESKey aesKey;
CreateAESKey (m_Establisher->phase1.pubKey, aesKey);
Expand Down Expand Up @@ -287,7 +287,7 @@ namespace transport
s.Insert (m_Establisher->phase2.pubKey, 256); // y
s.Insert (m_RemoteIdentity->GetIdentHash (), 32); // ident
s.Insert (tsA); // tsA
s.Insert (m_Establisher->phase2.encrypted.timestamp); // tsB
s.Insert (m_Establisher->phase2.encrypted.timestamp, 4); // tsB
s.Sign (keys, buf);

m_Encryption.Encrypt(m_ReceiveBuffer, len, m_ReceiveBuffer);
Expand Down Expand Up @@ -449,7 +449,7 @@ namespace transport
s.Insert (m_Establisher->phase2.pubKey, 256); // y
s.Insert (i2p::context.GetIdentHash (), 32); // ident
s.Insert (tsA); // tsA
s.Insert (m_Establisher->phase2.encrypted.timestamp); // tsB
s.Insert (m_Establisher->phase2.encrypted.timestamp, 4); // tsB

if (!s.Verify (m_RemoteIdentity, m_ReceiveBuffer))
{
Expand Down
6 changes: 1 addition & 5 deletions NTCPSession.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ namespace i2p
{
namespace transport
{

#pragma pack(1)
struct NTCPPhase1
{
uint8_t pubKey[256];
Expand All @@ -31,12 +29,10 @@ namespace transport
struct
{
uint8_t hxy[32];
uint32_t timestamp;
uint8_t timestamp[4];
uint8_t filler[12];
} encrypted;
};

#pragma pack()

const size_t NTCP_MAX_MESSAGE_SIZE = 16384;
const size_t NTCP_BUFFER_SIZE = 4160; // fits 4 tunnel messages (4*1028)
Expand Down

0 comments on commit 8d4fae2

Please sign in to comment.