|
|
|
@ -50,6 +50,8 @@ namespace i2p
@@ -50,6 +50,8 @@ namespace i2p
|
|
|
|
|
port = rand () % (30777 - 9111) + 9111; // I2P network ports range
|
|
|
|
|
bool ipv4; i2p::config::GetOption("ipv4", ipv4); |
|
|
|
|
bool ipv6; i2p::config::GetOption("ipv6", ipv6); |
|
|
|
|
bool ssu; i2p::config::GetOption("ssu", ssu); |
|
|
|
|
bool ntcp; i2p::config::GetOption("ntcp", ntcp); |
|
|
|
|
bool ntcp2; i2p::config::GetOption("ntcp2.enabled", ntcp2); |
|
|
|
|
bool nat; i2p::config::GetOption("nat", nat); |
|
|
|
|
std::string ifname; i2p::config::GetOption("ifname", ifname); |
|
|
|
@ -67,7 +69,9 @@ namespace i2p
@@ -67,7 +69,9 @@ namespace i2p
|
|
|
|
|
if(ifname4.size()) |
|
|
|
|
host = i2p::util::net::GetInterfaceAddress(ifname4, false).to_string(); |
|
|
|
|
|
|
|
|
|
if (ssu) |
|
|
|
|
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ()); |
|
|
|
|
if (ntcp) |
|
|
|
|
routerInfo.AddNTCPAddress (host.c_str(), port); |
|
|
|
|
} |
|
|
|
|
if (ipv6) |
|
|
|
@ -81,7 +85,9 @@ namespace i2p
@@ -81,7 +85,9 @@ namespace i2p
|
|
|
|
|
if(ifname6.size()) |
|
|
|
|
host = i2p::util::net::GetInterfaceAddress(ifname6, true).to_string(); |
|
|
|
|
|
|
|
|
|
if (ssu) |
|
|
|
|
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ()); |
|
|
|
|
if (ntcp) |
|
|
|
|
routerInfo.AddNTCPAddress (host.c_str(), port); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -363,8 +369,10 @@ namespace i2p
@@ -363,8 +369,10 @@ namespace i2p
|
|
|
|
|
caps |= i2p::data::RouterInfo::eFloodfill; |
|
|
|
|
m_RouterInfo.SetCaps (caps); |
|
|
|
|
|
|
|
|
|
// insert NTCP back
|
|
|
|
|
auto& addresses = m_RouterInfo.GetAddresses (); |
|
|
|
|
// insert NTCP back
|
|
|
|
|
bool ntcp; i2p::config::GetOption("ntcp", ntcp); |
|
|
|
|
if (ntcp) { |
|
|
|
|
for (const auto& addr : addresses) |
|
|
|
|
{ |
|
|
|
|
if (addr->transportStyle == i2p::data::RouterInfo::eTransportSSU && |
|
|
|
@ -375,6 +383,7 @@ namespace i2p
@@ -375,6 +383,7 @@ namespace i2p
|
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
// delete previous introducers
|
|
|
|
|
for (auto& addr : addresses) |
|
|
|
|
if (addr->ssu) |
|
|
|
|