Browse Source

check if remote RouterInfo is presented

pull/97/head
orignal 10 years ago
parent
commit
11a1201506
  1. 2
      RouterContext.cpp
  2. 8
      SSU.cpp

2
RouterContext.cpp

@ -98,7 +98,7 @@ namespace i2p @@ -98,7 +98,7 @@ namespace i2p
if (ret)
UpdateRouterInfo ();
}
return true;
return ret;
}
void RouterContext::RemoveIntroducer (const boost::asio::ip::udp::endpoint& e)

8
SSU.cpp

@ -1086,11 +1086,6 @@ namespace ssu @@ -1086,11 +1086,6 @@ namespace ssu
{
session->Close ();
m_Sessions.erase (session->GetRemoteEndpoint ());
if (session->GetRelayTag () && i2p::context.GetRouterInfo ().UsesIntroducer ())
{
m_Introducers.remove (session->GetRemoteEndpoint ());
i2p::context.RemoveIntroducer (session->GetRemoteEndpoint ());
}
delete session;
}
}
@ -1189,7 +1184,8 @@ namespace ssu @@ -1189,7 +1184,8 @@ namespace ssu
{
for (auto it1: introducers)
{
if (i2p::context.AddIntroducer (*it1->GetRemoteRouter (), it1->GetRelayTag ()))
auto router = it1->GetRemoteRouter ();
if (router && i2p::context.AddIntroducer (*router, it1->GetRelayTag ()))
{
newList.push_back (it1->GetRemoteEndpoint ());
if (newList.size () >= SSU_MAX_NUM_INTRODUCERS) break;

Loading…
Cancel
Save