diff --git a/libi2pd/SSU2.cpp b/libi2pd/SSU2.cpp index 9310a172..9ad1244d 100644 --- a/libi2pd/SSU2.cpp +++ b/libi2pd/SSU2.cpp @@ -52,7 +52,6 @@ namespace transport SSU2Session::~SSU2Session () { - Terminate (); } void SSU2Session::Connect () @@ -260,7 +259,7 @@ namespace transport SendQueue (); } - void SSU2Session::ProcessFirstIncomingMessage (uint64_t connID, uint8_t * buf, size_t len) + bool SSU2Session::ProcessFirstIncomingMessage (uint64_t connID, uint8_t * buf, size_t len) { // we are Bob m_SourceConnID = connID; @@ -277,8 +276,12 @@ namespace transport ProcessTokenRequest (header, buf, len); break; default: + { LogPrint (eLogWarning, "SSU2: Unexpected message type ", (int)header.h.type); - } + return false; + } + } + return true; } void SSU2Session::SendSessionRequest (uint64_t token) diff --git a/libi2pd/SSU2.h b/libi2pd/SSU2.h index a7988054..e0b2e4c0 100644 --- a/libi2pd/SSU2.h +++ b/libi2pd/SSU2.h @@ -158,7 +158,7 @@ namespace transport SSU2SessionState GetState () const { return m_State; }; void SetState (SSU2SessionState state) { m_State = state; }; - void ProcessFirstIncomingMessage (uint64_t connID, uint8_t * buf, size_t len); + bool ProcessFirstIncomingMessage (uint64_t connID, uint8_t * buf, size_t len); bool ProcessSessionCreated (uint8_t * buf, size_t len); bool ProcessSessionConfirmed (uint8_t * buf, size_t len); bool ProcessRetry (uint8_t * buf, size_t len);