|
|
|
@ -117,9 +117,8 @@ namespace client
@@ -117,9 +117,8 @@ namespace client
|
|
|
|
|
I2CPSession::I2CPSession (I2CPServer& owner, std::shared_ptr<boost::asio::ip::tcp::socket> socket): |
|
|
|
|
m_Owner (owner), m_Socket (socket), |
|
|
|
|
m_NextMessage (nullptr), m_NextMessageLen (0), m_NextMessageOffset (0), |
|
|
|
|
m_MessageID (0), m_IsSendAccepted (true) |
|
|
|
|
m_SessionID (0), m_MessageID (0), m_IsSendAccepted (true) |
|
|
|
|
{ |
|
|
|
|
RAND_bytes ((uint8_t *)&m_SessionID, 2); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
I2CPSession::~I2CPSession () |
|
|
|
@ -315,6 +314,7 @@ namespace client
@@ -315,6 +314,7 @@ namespace client
|
|
|
|
|
|
|
|
|
|
void I2CPSession::CreateSessionMessageHandler (const uint8_t * buf, size_t len) |
|
|
|
|
{ |
|
|
|
|
RAND_bytes ((uint8_t *)&m_SessionID, 2); |
|
|
|
|
auto identity = std::make_shared<i2p::data::IdentityEx>(); |
|
|
|
|
size_t offset = identity->FromBuffer (buf, len); |
|
|
|
|
if (!offset) |
|
|
|
@ -365,7 +365,11 @@ namespace client
@@ -365,7 +365,11 @@ namespace client
|
|
|
|
|
{ |
|
|
|
|
SendSessionStatusMessage (0); // destroy
|
|
|
|
|
LogPrint (eLogDebug, "I2CP: session ", m_SessionID, " destroyed"); |
|
|
|
|
Terminate (); |
|
|
|
|
if (m_Destination) |
|
|
|
|
{ |
|
|
|
|
m_Destination->Stop (); |
|
|
|
|
m_Destination = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void I2CPSession::ReconfigureSessionMessageHandler (const uint8_t * buf, size_t len) |
|
|
|
|