mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-11 17:37:53 +00:00
16 bytes alignmen of AES block
This commit is contained in:
parent
f7d90648e3
commit
357a9a6a56
@ -83,6 +83,7 @@ namespace garlic
|
|||||||
I2NPMessage * GarlicRoutingSession::WrapSingleMessage (I2NPMessage * msg)
|
I2NPMessage * GarlicRoutingSession::WrapSingleMessage (I2NPMessage * msg)
|
||||||
{
|
{
|
||||||
I2NPMessage * m = NewI2NPMessage ();
|
I2NPMessage * m = NewI2NPMessage ();
|
||||||
|
m->Align (12); // in order to get buf aligned to 16 (12 + 4)
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
uint8_t * buf = m->GetPayload () + 4; // 4 bytes for length
|
uint8_t * buf = m->GetPayload () + 4; // 4 bytes for length
|
||||||
|
|
||||||
|
@ -118,6 +118,12 @@ namespace tunnel
|
|||||||
uint8_t * GetBuffer () { return buf + offset; };
|
uint8_t * GetBuffer () { return buf + offset; };
|
||||||
const uint8_t * GetBuffer () const { return buf + offset; };
|
const uint8_t * GetBuffer () const { return buf + offset; };
|
||||||
size_t GetLength () const { return len - offset; };
|
size_t GetLength () const { return len - offset; };
|
||||||
|
void Align (size_t alignment)
|
||||||
|
{
|
||||||
|
size_t rem = ((size_t)GetBuffer ()) % alignment;
|
||||||
|
if (rem)
|
||||||
|
offset += (alignment - rem);
|
||||||
|
}
|
||||||
|
|
||||||
I2NPMessage& operator=(const I2NPMessage& other)
|
I2NPMessage& operator=(const I2NPMessage& other)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user