Browse Source

create new published SSU2 addresses

pull/1752/head
orignal 3 years ago
parent
commit
6e532c494c
  1. 13
      libi2pd/RouterContext.cpp

13
libi2pd/RouterContext.cpp

@ -87,6 +87,9 @@ namespace i2p @@ -87,6 +87,9 @@ namespace i2p
if (!ntcp2proxy.empty ()) ntcp2Published = false;
}
}
bool ssu2Published = false;
if (ssu2)
i2p::config::GetOption("ssu2.published", ssu2Published);
uint8_t caps = 0, addressCaps = 0;
if (ipv4)
{
@ -116,11 +119,16 @@ namespace i2p @@ -116,11 +119,16 @@ namespace i2p
caps |= i2p::data::RouterInfo::eReachable; // R
}
if (ssu2)
{
if (ssu2Published)
routerInfo.AddSSU2Address (m_SSU2Keys->staticPublicKey, m_SSU2Keys->intro, boost::asio::ip::address_v4::from_string (host), port);
else
{
addressCaps |= i2p::data::RouterInfo::AddressCaps::eV4;
routerInfo.AddSSU2Address (m_SSU2Keys->staticPublicKey, m_SSU2Keys->intro);
}
}
}
if (ipv6)
{
std::string host = "::1";
@ -156,12 +164,17 @@ namespace i2p @@ -156,12 +164,17 @@ namespace i2p
caps |= i2p::data::RouterInfo::eReachable; // R
}
if (ssu2)
{
if (ssu2Published)
routerInfo.AddSSU2Address (m_SSU2Keys->staticPublicKey, m_SSU2Keys->intro, boost::asio::ip::address_v4::from_string (host), port);
else
{
if (!ipv4) // no other ssu2 addresses yet
routerInfo.AddSSU2Address (m_SSU2Keys->staticPublicKey, m_SSU2Keys->intro);
addressCaps |= i2p::data::RouterInfo::AddressCaps::eV6;
}
}
}
if (ygg)
{
auto yggaddr = i2p::util::net::GetYggdrasilAddress ();

Loading…
Cancel
Save