mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 08:00:38 +03:00
Don't add SSU/NTCP addresses to RI if they are disabled in config (#1220)
This commit is contained in:
parent
6d46fc9f9f
commit
29b91075d2
@ -50,6 +50,8 @@ namespace i2p
|
|||||||
port = rand () % (30777 - 9111) + 9111; // I2P network ports range
|
port = rand () % (30777 - 9111) + 9111; // I2P network ports range
|
||||||
bool ipv4; i2p::config::GetOption("ipv4", ipv4);
|
bool ipv4; i2p::config::GetOption("ipv4", ipv4);
|
||||||
bool ipv6; i2p::config::GetOption("ipv6", ipv6);
|
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 ntcp2; i2p::config::GetOption("ntcp2.enabled", ntcp2);
|
||||||
bool nat; i2p::config::GetOption("nat", nat);
|
bool nat; i2p::config::GetOption("nat", nat);
|
||||||
std::string ifname; i2p::config::GetOption("ifname", ifname);
|
std::string ifname; i2p::config::GetOption("ifname", ifname);
|
||||||
@ -67,8 +69,10 @@ namespace i2p
|
|||||||
if(ifname4.size())
|
if(ifname4.size())
|
||||||
host = i2p::util::net::GetInterfaceAddress(ifname4, false).to_string();
|
host = i2p::util::net::GetInterfaceAddress(ifname4, false).to_string();
|
||||||
|
|
||||||
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ());
|
if (ssu)
|
||||||
routerInfo.AddNTCPAddress (host.c_str(), port);
|
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ());
|
||||||
|
if (ntcp)
|
||||||
|
routerInfo.AddNTCPAddress (host.c_str(), port);
|
||||||
}
|
}
|
||||||
if (ipv6)
|
if (ipv6)
|
||||||
{
|
{
|
||||||
@ -81,8 +85,10 @@ namespace i2p
|
|||||||
if(ifname6.size())
|
if(ifname6.size())
|
||||||
host = i2p::util::net::GetInterfaceAddress(ifname6, true).to_string();
|
host = i2p::util::net::GetInterfaceAddress(ifname6, true).to_string();
|
||||||
|
|
||||||
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ());
|
if (ssu)
|
||||||
routerInfo.AddNTCPAddress (host.c_str(), port);
|
routerInfo.AddSSUAddress (host.c_str(), port, routerInfo.GetIdentHash ());
|
||||||
|
if (ntcp)
|
||||||
|
routerInfo.AddNTCPAddress (host.c_str(), port);
|
||||||
}
|
}
|
||||||
|
|
||||||
routerInfo.SetCaps (i2p::data::RouterInfo::eReachable |
|
routerInfo.SetCaps (i2p::data::RouterInfo::eReachable |
|
||||||
@ -363,16 +369,19 @@ namespace i2p
|
|||||||
caps |= i2p::data::RouterInfo::eFloodfill;
|
caps |= i2p::data::RouterInfo::eFloodfill;
|
||||||
m_RouterInfo.SetCaps (caps);
|
m_RouterInfo.SetCaps (caps);
|
||||||
|
|
||||||
// insert NTCP back
|
|
||||||
auto& addresses = m_RouterInfo.GetAddresses ();
|
auto& addresses = m_RouterInfo.GetAddresses ();
|
||||||
for (const auto& addr : addresses)
|
// insert NTCP back
|
||||||
{
|
bool ntcp; i2p::config::GetOption("ntcp", ntcp);
|
||||||
if (addr->transportStyle == i2p::data::RouterInfo::eTransportSSU &&
|
if (ntcp) {
|
||||||
addr->host.is_v4 ())
|
for (const auto& addr : addresses)
|
||||||
{
|
{
|
||||||
// insert NTCP address with host/port from SSU
|
if (addr->transportStyle == i2p::data::RouterInfo::eTransportSSU &&
|
||||||
m_RouterInfo.AddNTCPAddress (addr->host.to_string ().c_str (), addr->port);
|
addr->host.is_v4 ())
|
||||||
break;
|
{
|
||||||
|
// insert NTCP address with host/port from SSU
|
||||||
|
m_RouterInfo.AddNTCPAddress (addr->host.to_string ().c_str (), addr->port);
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// delete previous introducers
|
// delete previous introducers
|
||||||
|
Loading…
Reference in New Issue
Block a user