Browse Source

update keys for NTCP2 and SSU2 addreses

pull/1786/head
orignal 2 years ago
parent
commit
a94ae7d77d
  1. 28
      libi2pd/RouterContext.cpp

28
libi2pd/RouterContext.cpp

@ -338,18 +338,22 @@ namespace i2p
{ {
auto& addresses = m_RouterInfo.GetAddresses (); auto& addresses = m_RouterInfo.GetAddresses ();
bool found = false, updated = false; bool found = false, updated = false;
for (auto it = addresses.begin (); it != addresses.end (); ++it) for (auto it = addresses.begin (); it != addresses.end ();)
{ {
if ((*it)->IsNTCP2 ()) if ((*it)->IsNTCP2 ())
{ {
found = true; found = true;
if (!enable) if (enable)
{ {
addresses.erase (it); (*it)->s = m_NTCP2Keys->staticPublicKey;
updated= true; memcpy ((*it)->i, m_NTCP2Keys->iv, 16);
} }
break; else
it = addresses.erase (it);
updated = true;;
} }
else
it++;
} }
if (enable && !found) if (enable && !found)
{ {
@ -386,18 +390,22 @@ namespace i2p
{ {
auto& addresses = m_RouterInfo.GetAddresses (); auto& addresses = m_RouterInfo.GetAddresses ();
bool found = false, updated = false; bool found = false, updated = false;
for (auto it = addresses.begin (); it != addresses.end (); ++it) for (auto it = addresses.begin (); it != addresses.end ();)
{ {
if ((*it)->IsSSU2 ()) if ((*it)->IsSSU2 ())
{ {
found = true; found = true;
if (!enable) if (enable)
{ {
addresses.erase (it); (*it)->s = m_SSU2Keys->staticPublicKey;
updated= true; (*it)->i = m_SSU2Keys->intro;
} }
break; else
it = addresses.erase (it);
updated = true;
} }
else
it++;
} }
if (enable && !found) if (enable && !found)
{ {

Loading…
Cancel
Save