Browse Source

don't remove another NTCP2 session with same address

pull/2010/head
orignal 10 months ago
parent
commit
0b47f65b06
  1. 6
      libi2pd/NTCP2.cpp

6
libi2pd/NTCP2.cpp

@ -1415,7 +1415,11 @@ namespace transport
void NTCP2Server::RemoveNTCP2Session (std::shared_ptr<NTCP2Session> session) void NTCP2Server::RemoveNTCP2Session (std::shared_ptr<NTCP2Session> session)
{ {
if (session && session->GetRemoteIdentity ()) if (session && session->GetRemoteIdentity ())
m_NTCP2Sessions.erase (session->GetRemoteIdentity ()->GetIdentHash ()); {
auto it = m_NTCP2Sessions.find (session->GetRemoteIdentity ()->GetIdentHash ());
if (it != m_NTCP2Sessions.end () && it->second == session)
m_NTCP2Sessions.erase (it);
}
} }
std::shared_ptr<NTCP2Session> NTCP2Server::FindNTCP2Session (const i2p::data::IdentHash& ident) std::shared_ptr<NTCP2Session> NTCP2Server::FindNTCP2Session (const i2p::data::IdentHash& ident)

Loading…
Cancel
Save