diff --git a/I2PTunnel.cpp b/I2PTunnel.cpp index ac372112..d083ba6a 100644 --- a/I2PTunnel.cpp +++ b/I2PTunnel.cpp @@ -139,6 +139,11 @@ namespace client } } + I2PTunnel::I2PTunnel (ClientDestination * localDestination) : + m_LocalDestination (localDestination ? localDestination : + i2p::client::context.CreateNewLocalDestination (false, I2P_TUNNEL_DEFAULT_KEY_TYPE)) + { + } void I2PTunnel::AddConnection (std::shared_ptr conn) { m_Connections.insert (conn); @@ -155,8 +160,7 @@ namespace client } I2PClientTunnel::I2PClientTunnel (const std::string& destination, int port, ClientDestination * localDestination): - I2PTunnel (localDestination ? localDestination : - i2p::client::context.CreateNewLocalDestination (false, i2p::data::SIGNING_KEY_TYPE_ECDSA_SHA256_P256)), + I2PTunnel (localDestination), m_Acceptor (GetService (), boost::asio::ip::tcp::endpoint (boost::asio::ip::tcp::v4(), port)), m_Timer (GetService ()), m_Destination (destination), m_DestinationIdentHash (nullptr), m_RemoteLeaseSet (nullptr) diff --git a/I2PTunnel.h b/I2PTunnel.h index 5df769b6..5b00cec7 100644 --- a/I2PTunnel.h +++ b/I2PTunnel.h @@ -17,6 +17,7 @@ namespace client const size_t I2P_TUNNEL_CONNECTION_BUFFER_SIZE = 8192; const int I2P_TUNNEL_CONNECTION_MAX_IDLE = 3600; // in seconds const int I2P_TUNNEL_DESTINATION_REQUEST_TIMEOUT = 10; // in seconds + const uint16_t I2P_TUNNEL_DEFAULT_KEY_TYPE = i2p::data::SIGNING_KEY_TYPE_ECDSA_SHA256_P256; class I2PTunnel; class I2PTunnelConnection: public std::enable_shared_from_this @@ -58,8 +59,7 @@ namespace client { public: - I2PTunnel (ClientDestination * localDestination): - m_LocalDestination (localDestination) {}; + I2PTunnel (ClientDestination * localDestination = nullptr); virtual ~I2PTunnel () { ClearConnections (); }; void AddConnection (std::shared_ptr conn);