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