check for duplicates
This commit is contained in:
18
SSU.h
18
SSU.h
@@ -2,6 +2,7 @@
|
||||
#define SSU_H__
|
||||
|
||||
#include <inttypes.h>
|
||||
#include <string.h>
|
||||
#include <map>
|
||||
#include <list>
|
||||
#include <set>
|
||||
@@ -112,7 +113,21 @@ namespace ssu
|
||||
void HandleTerminationTimer (const boost::system::error_code& ecode);
|
||||
|
||||
private:
|
||||
|
||||
|
||||
union IV
|
||||
{
|
||||
uint8_t buf[16];
|
||||
uint64_t ll[2];
|
||||
|
||||
IV (const IV&) = default;
|
||||
IV (const uint8_t * iv) { memcpy (buf, iv, 16); };
|
||||
bool operator< (const IV& other) const
|
||||
{
|
||||
if (ll[0] != other.ll[0]) return ll[0] < other.ll[0];
|
||||
return ll[1] < other.ll[1];
|
||||
};
|
||||
};
|
||||
|
||||
friend class SSUData; // TODO: change in later
|
||||
SSUServer& m_Server;
|
||||
boost::asio::ip::udp::endpoint m_RemoteEndpoint;
|
||||
@@ -128,6 +143,7 @@ namespace ssu
|
||||
i2p::crypto::CBCDecryption m_SessionKeyDecryption;
|
||||
uint8_t m_SessionKey[32], m_MacKey[32];
|
||||
std::list<i2p::I2NPMessage *> m_DelayedMessages;
|
||||
std::set<IV> m_ReceivedIVs;
|
||||
SSUData m_Data;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user