mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-02 11:04:00 +01:00
add options to not use ntcp or ssu
This commit is contained in:
parent
fa68e392c8
commit
e868d427dd
|
@ -124,6 +124,8 @@ namespace config {
|
||||||
("notransit", value<bool>()->zero_tokens()->default_value(false), "Router will not accept transit tunnels at startup")
|
("notransit", value<bool>()->zero_tokens()->default_value(false), "Router will not accept transit tunnels at startup")
|
||||||
("floodfill", value<bool>()->zero_tokens()->default_value(false), "Router will be floodfill")
|
("floodfill", value<bool>()->zero_tokens()->default_value(false), "Router will be floodfill")
|
||||||
("bandwidth", value<std::string>()->default_value(""), "Bandwidth limit: integer in kbps or letters: L (32), O (256), P (2048), X (>9000)")
|
("bandwidth", value<std::string>()->default_value(""), "Bandwidth limit: integer in kbps or letters: L (32), O (256), P (2048), X (>9000)")
|
||||||
|
("ntcp", value<bool>()->zero_tokens()->default_value(true), "enable ntcp transport")
|
||||||
|
("ssu", value<bool>()->zero_tokens()->default_value(true), "enable ssu transport")
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
("svcctl", value<std::string>()->default_value(""), "Windows service management ('install' or 'remove')")
|
("svcctl", value<std::string>()->default_value(""), "Windows service management ('install' or 'remove')")
|
||||||
("insomnia", value<bool>()->zero_tokens()->default_value(false), "Prevent system from sleeping")
|
("insomnia", value<bool>()->zero_tokens()->default_value(false), "Prevent system from sleeping")
|
||||||
|
|
|
@ -205,8 +205,10 @@ namespace i2p
|
||||||
LogPrint(eLogInfo, "Daemon: starting UPnP");
|
LogPrint(eLogInfo, "Daemon: starting UPnP");
|
||||||
d.m_UPnP.Start ();
|
d.m_UPnP.Start ();
|
||||||
#endif
|
#endif
|
||||||
|
bool ntcp; i2p::config::GetOption("ntcp", ntcp);
|
||||||
|
bool ssu; i2p::config::GetOption("ssu", ssu);
|
||||||
LogPrint(eLogInfo, "Daemon: starting Transports");
|
LogPrint(eLogInfo, "Daemon: starting Transports");
|
||||||
i2p::transport::transports.Start();
|
i2p::transport::transports.Start(ntcp, ssu);
|
||||||
if (i2p::transport::transports.IsBoundNTCP() || i2p::transport::transports.IsBoundSSU()) {
|
if (i2p::transport::transports.IsBoundNTCP() || i2p::transport::transports.IsBoundSSU()) {
|
||||||
LogPrint(eLogInfo, "Daemon: Transports started");
|
LogPrint(eLogInfo, "Daemon: Transports started");
|
||||||
} else {
|
} else {
|
||||||
|
|
5
I2CP.cpp
5
I2CP.cpp
|
@ -474,12 +474,17 @@ namespace client
|
||||||
{
|
{
|
||||||
offset += identsize;
|
offset += identsize;
|
||||||
uint32_t payloadLen = bufbe32toh (buf + offset);
|
uint32_t payloadLen = bufbe32toh (buf + offset);
|
||||||
|
if (payloadLen + offset <= len)
|
||||||
|
{
|
||||||
offset += 4;
|
offset += 4;
|
||||||
uint32_t nonce = bufbe32toh (buf + offset + payloadLen);
|
uint32_t nonce = bufbe32toh (buf + offset + payloadLen);
|
||||||
if (m_IsSendAccepted)
|
if (m_IsSendAccepted)
|
||||||
SendMessageStatusMessage (nonce, eI2CPMessageStatusAccepted); // accepted
|
SendMessageStatusMessage (nonce, eI2CPMessageStatusAccepted); // accepted
|
||||||
m_Destination->SendMsgTo (buf + offset, payloadLen, identity.GetIdentHash (), nonce);
|
m_Destination->SendMsgTo (buf + offset, payloadLen, identity.GetIdentHash (), nonce);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
LogPrint(eLogError, "I2CP: cannot send message, too big");
|
||||||
|
}
|
||||||
else
|
else
|
||||||
LogPrint(eLogError, "I2CP: invalid identity");
|
LogPrint(eLogError, "I2CP: invalid identity");
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,15 +28,15 @@ endif
|
||||||
NEEDED_CXXFLAGS += -fPIC
|
NEEDED_CXXFLAGS += -fPIC
|
||||||
|
|
||||||
ifeq ($(USE_STATIC),yes)
|
ifeq ($(USE_STATIC),yes)
|
||||||
LIBDIR := /usr/lib
|
#LIBDIR = /usr/lib
|
||||||
LDLIBS = $(LIBDIR)/libboost_system.a
|
LDLIBS = $(LIBDIR)/libboost_system.a
|
||||||
LDLIBS += $(LIBDIR)/libboost_date_time.a
|
LDLIBS += $(LIBDIR)/libboost_date_time.a
|
||||||
LDLIBS += $(LIBDIR)/libboost_filesystem.a
|
LDLIBS += $(LIBDIR)/libboost_filesystem.a
|
||||||
LDLIBS += $(LIBDIR)/libboost_program_options.a
|
LDLIBS += $(LIBDIR)/libboost_program_options.a
|
||||||
LDLIBS += $(LIBDIR)/libcrypto.a
|
|
||||||
LDLIBS += $(LIBDIR)/libssl.a
|
LDLIBS += $(LIBDIR)/libssl.a
|
||||||
|
LDLIBS += $(LIBDIR)/libcrypto.a
|
||||||
LDLIBS += $(LIBDIR)/libz.a
|
LDLIBS += $(LIBDIR)/libz.a
|
||||||
LDLIBS += -lpthread -static-libstdc++ -static-libgcc
|
LDLIBS += -lpthread -static-libstdc++ -static-libgcc -lrt
|
||||||
USE_AESNI := no
|
USE_AESNI := no
|
||||||
else
|
else
|
||||||
LDLIBS = -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread
|
LDLIBS = -lcrypto -lssl -lz -lboost_system -lboost_date_time -lboost_filesystem -lboost_program_options -lpthread
|
||||||
|
|
|
@ -105,7 +105,7 @@ namespace transport
|
||||||
Stop ();
|
Stop ();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Transports::Start ()
|
void Transports::Start (bool enableNTCP, bool enableSSU)
|
||||||
{
|
{
|
||||||
m_DHKeysPairSupplier.Start ();
|
m_DHKeysPairSupplier.Start ();
|
||||||
m_IsRunning = true;
|
m_IsRunning = true;
|
||||||
|
@ -114,7 +114,7 @@ namespace transport
|
||||||
auto& addresses = context.GetRouterInfo ().GetAddresses ();
|
auto& addresses = context.GetRouterInfo ().GetAddresses ();
|
||||||
for (auto address : addresses)
|
for (auto address : addresses)
|
||||||
{
|
{
|
||||||
if (!m_NTCPServer)
|
if (!m_NTCPServer && enableNTCP)
|
||||||
{
|
{
|
||||||
m_NTCPServer = new NTCPServer ();
|
m_NTCPServer = new NTCPServer ();
|
||||||
m_NTCPServer->Start ();
|
m_NTCPServer->Start ();
|
||||||
|
@ -129,7 +129,7 @@ namespace transport
|
||||||
|
|
||||||
if (address->transportStyle == RouterInfo::eTransportSSU && address->host.is_v4 ())
|
if (address->transportStyle == RouterInfo::eTransportSSU && address->host.is_v4 ())
|
||||||
{
|
{
|
||||||
if (!m_SSUServer)
|
if (!m_SSUServer && enableSSU)
|
||||||
{
|
{
|
||||||
m_SSUServer = new SSUServer (address->port);
|
m_SSUServer = new SSUServer (address->port);
|
||||||
LogPrint (eLogInfo, "Transports: Start listening UDP port ", address->port);
|
LogPrint (eLogInfo, "Transports: Start listening UDP port ", address->port);
|
||||||
|
|
|
@ -73,7 +73,7 @@ namespace transport
|
||||||
Transports ();
|
Transports ();
|
||||||
~Transports ();
|
~Transports ();
|
||||||
|
|
||||||
void Start ();
|
void Start (bool enableNTCP=true, bool enableSSU=true);
|
||||||
void Stop ();
|
void Stop ();
|
||||||
|
|
||||||
bool IsBoundNTCP() const { return m_NTCPServer != nullptr; }
|
bool IsBoundNTCP() const { return m_NTCPServer != nullptr; }
|
||||||
|
|
Loading…
Reference in a new issue