Browse Source

update router's transports when SSU or NTCP address was deleted

pull/1786/head
orignal 2 years ago
parent
commit
75611866eb
  1. 10
      libi2pd/RouterContext.cpp

10
libi2pd/RouterContext.cpp

@ -633,6 +633,7 @@ namespace i2p @@ -633,6 +633,7 @@ namespace i2p
void RouterContext::RemoveNTCPAddress (bool v4only)
{
bool updated = false;
auto& addresses = m_RouterInfo.GetAddresses ();
for (auto it = addresses.begin (); it != addresses.end ();)
{
@ -640,23 +641,32 @@ namespace i2p @@ -640,23 +641,32 @@ namespace i2p
(!v4only || (*it)->host.is_v4 ()))
{
it = addresses.erase (it);
updated = true;
if (v4only) break; // otherwise might be more than one address
}
else
++it;
}
if (updated)
m_RouterInfo.UpdateSupportedTransports ();
}
void RouterContext::RemoveSSUAddress ()
{
bool updated = false;
auto& addresses = m_RouterInfo.GetAddresses ();
for (auto it = addresses.begin (); it != addresses.end ();)
{
if ((*it)->transportStyle == i2p::data::RouterInfo::eTransportSSU)
{
it = addresses.erase (it);
updated = true;
}
else
++it;
}
if (updated)
m_RouterInfo.UpdateSupportedTransports ();
}
void RouterContext::SetUnreachableSSU2 (bool v4, bool v6)

Loading…
Cancel
Save