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