Browse Source

http server tunnel added

pull/197/head
orignal 10 years ago
parent
commit
019af7bd3a
  1. 4
      ClientContext.cpp
  2. 1
      ClientContext.h
  3. 5
      I2PTunnel.cpp
  4. 8
      I2PTunnel.h

4
ClientContext.cpp

@ -295,7 +295,7 @@ namespace client @@ -295,7 +295,7 @@ namespace client
LogPrint (eLogError, "I2P client tunnel with port ", port, " already exists");
numClientTunnels++;
}
else if (type == I2P_TUNNELS_SECTION_TYPE_SERVER)
else if (type == I2P_TUNNELS_SECTION_TYPE_SERVER || type == I2P_TUNNELS_SECTION_TYPE_HTTP)
{
// mandatory params
std::string host = section.second.get<std::string> (I2P_SERVER_TUNNEL_HOST);
@ -306,7 +306,7 @@ namespace client @@ -306,7 +306,7 @@ namespace client
std::string accessList = section.second.get (I2P_SERVER_TUNNEL_ACCESS_LIST, "");
auto localDestination = LoadLocalDestination (keys, true);
auto serverTunnel = new I2PServerTunnel (host, port, localDestination, inPort);
I2PServerTunnel * serverTunnel = (type == I2P_TUNNELS_SECTION_TYPE_HTTP) ? new I2PServerTunnelHTTP (host, port, localDestination, inPort) : new I2PServerTunnel (host, port, localDestination, inPort);
if (accessList.length () > 0)
{
std::set<i2p::data::IdentHash> idents;

1
ClientContext.h

@ -20,6 +20,7 @@ namespace client @@ -20,6 +20,7 @@ namespace client
const char I2P_TUNNELS_SECTION_TYPE[] = "type";
const char I2P_TUNNELS_SECTION_TYPE_CLIENT[] = "client";
const char I2P_TUNNELS_SECTION_TYPE_SERVER[] = "server";
const char I2P_TUNNELS_SECTION_TYPE_HTTP[] = "http";
const char I2P_CLIENT_TUNNEL_PORT[] = "port";
const char I2P_CLIENT_TUNNEL_DESTINATION[] = "destination";
const char I2P_CLIENT_TUNNEL_KEYS[] = "keys";

5
I2PTunnel.cpp

@ -309,5 +309,10 @@ namespace client @@ -309,5 +309,10 @@ namespace client
conn->Connect ();
}
}
I2PServerTunnelHTTP::I2PServerTunnelHTTP (const std::string& host, int port, std::shared_ptr<ClientDestination> localDestination, int inport):
I2PServerTunnel (host, port, localDestination, inport)
{
}
}
}

8
I2PTunnel.h

@ -104,6 +104,14 @@ namespace client @@ -104,6 +104,14 @@ namespace client
std::set<i2p::data::IdentHash> m_AccessList;
bool m_IsAccessList;
};
class I2PServerTunnelHTTP: public I2PServerTunnel
{
public:
I2PServerTunnelHTTP (const std::string& host, int port,
std::shared_ptr<ClientDestination> localDestination, int inport = 0);
};
}
}

Loading…
Cancel
Save