diff --git a/NTCPSession.cpp b/NTCPSession.cpp index 8311e5f7..c64cfe8c 100644 --- a/NTCPSession.cpp +++ b/NTCPSession.cpp @@ -98,7 +98,6 @@ namespace transport void NTCPSession::Connected () { - LogPrint ("NTCP session connected"); m_IsEstablished = true; delete m_Establisher; @@ -357,8 +356,8 @@ namespace transport boost::bind(&NTCPSession::HandlePhase3ExtraReceived, this, boost::asio::placeholders::error, boost::asio::placeholders::bytes_transferred, tsB, paddingLen)); } - - HandlePhase3 (tsB, paddingLen); + else + HandlePhase3 (tsB, paddingLen); } } @@ -431,6 +430,9 @@ namespace transport else { LogPrint (eLogDebug, "Phase 4 sent: ", bytes_transferred); + LogPrint ("NTCP server session connected"); + transports.AddNTCPSession (this); + Connected (); m_ReceiveBufferOffset = 0; m_NextMessage = nullptr; @@ -469,6 +471,7 @@ namespace transport Terminate (); return; } + LogPrint ("NTCP session connected"); Connected (); m_ReceiveBufferOffset = 0; @@ -690,12 +693,5 @@ namespace transport ClientLogin (); } } - - void NTCPServerConnection::Connected () - { - LogPrint ("NTCP server session connected"); - transports.AddNTCPSession (this); - NTCPSession::Connected (); - } } } diff --git a/NTCPSession.h b/NTCPSession.h index b1fa7c05..6780c89c 100644 --- a/NTCPSession.h +++ b/NTCPSession.h @@ -41,7 +41,7 @@ namespace transport const size_t NTCP_MAX_MESSAGE_SIZE = 16384; const size_t NTCP_BUFFER_SIZE = 1040; // fits one tunnel message (1028) const int NTCP_TERMINATION_TIMEOUT = 120; // 2 minutes - const size_t NTCP_DEFAULT_PHASE3_SIZE = 2/*size*/ + i2p::data::DEFAULT_IDENTITY_SIZE/*387*/ + 4/*ts*/ + 15/*padding*/ + 40/*signature*/; // 428 + const size_t NTCP_DEFAULT_PHASE3_SIZE = 2/*size*/ + i2p::data::DEFAULT_IDENTITY_SIZE/*387*/ + 4/*ts*/ + 15/*padding*/ + 40/*signature*/; // 448 class NTCPSession: public TransportSession { @@ -142,19 +142,7 @@ namespace transport private: boost::asio::ip::tcp::endpoint m_Endpoint; - }; - - class NTCPServerConnection: public NTCPSession - { - public: - - NTCPServerConnection (boost::asio::io_service& service): - NTCPSession (service) {}; - - protected: - - virtual void Connected (); - }; + }; } } diff --git a/Transports.cpp b/Transports.cpp index 29200711..b0143b5b 100644 --- a/Transports.cpp +++ b/Transports.cpp @@ -121,7 +121,7 @@ namespace transport boost::asio::ip::tcp::endpoint(boost::asio::ip::tcp::v4(), address.port)); LogPrint ("Start listening TCP port ", address.port); - auto conn = new NTCPServerConnection (m_Service); + auto conn = new NTCPSession (m_Service); m_NTCPAcceptor->async_accept(conn->GetSocket (), boost::bind (&Transports::HandleAccept, this, conn, boost::asio::placeholders::error)); @@ -134,7 +134,7 @@ namespace transport m_NTCPV6Acceptor->listen (); LogPrint ("Start listening V6 TCP port ", address.port); - auto conn = new NTCPServerConnection (m_Service); + auto conn = new NTCPSession (m_Service); m_NTCPV6Acceptor->async_accept(conn->GetSocket (), boost::bind (&Transports::HandleAcceptV6, this, conn, boost::asio::placeholders::error)); } @@ -209,7 +209,7 @@ namespace transport m_NTCPSessions.erase (session->GetRemoteIdentity ().GetIdentHash ()); } - void Transports::HandleAccept (NTCPServerConnection * conn, const boost::system::error_code& error) + void Transports::HandleAccept (NTCPSession * conn, const boost::system::error_code& error) { if (!error) { @@ -221,13 +221,13 @@ namespace transport if (error != boost::asio::error::operation_aborted) { - conn = new NTCPServerConnection (m_Service); + conn = new NTCPSession (m_Service); m_NTCPAcceptor->async_accept(conn->GetSocket (), boost::bind (&Transports::HandleAccept, this, conn, boost::asio::placeholders::error)); } } - void Transports::HandleAcceptV6 (NTCPServerConnection * conn, const boost::system::error_code& error) + void Transports::HandleAcceptV6 (NTCPSession * conn, const boost::system::error_code& error) { if (!error) { @@ -239,7 +239,7 @@ namespace transport if (error != boost::asio::error::operation_aborted) { - conn = new NTCPServerConnection (m_Service); + conn = new NTCPSession (m_Service); m_NTCPV6Acceptor->async_accept(conn->GetSocket (), boost::bind (&Transports::HandleAcceptV6, this, conn, boost::asio::placeholders::error)); } diff --git a/Transports.h b/Transports.h index 752ecb8f..012e4836 100644 --- a/Transports.h +++ b/Transports.h @@ -75,8 +75,8 @@ namespace transport private: void Run (); - void HandleAccept (NTCPServerConnection * conn, const boost::system::error_code& error); - void HandleAcceptV6 (NTCPServerConnection * conn, const boost::system::error_code& error); + void HandleAccept (NTCPSession * conn, const boost::system::error_code& error); + void HandleAcceptV6 (NTCPSession * conn, const boost::system::error_code& error); void HandleResendTimer (const boost::system::error_code& ecode, boost::asio::deadline_timer * timer, const i2p::data::IdentHash& ident, i2p::I2NPMessage * msg); void PostMessage (const i2p::data::IdentHash& ident, i2p::I2NPMessage * msg);