From ccb68088a86408c44900e6a295af57935bb4c5d8 Mon Sep 17 00:00:00 2001 From: "Francisco Blas (klondike) Izquierdo Riera" Date: Fri, 2 Jan 2015 00:56:21 +0100 Subject: [PATCH] Allow for I2PTunnels without LocalDestination --- I2PTunnel.cpp | 8 ++++++-- I2PTunnel.h | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) 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);