mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2026-10-23 08:32:43 +00:00
don't include new nodes to routing table until until receive a message from them
This commit is contained in:
1 parent
dc3fe66596
commit
88491fbb45
1 file changed
+8
-7
@@ -800,12 +800,13 @@ namespace torrents
|
||||
if (m_RoutingTable)
|
||||
{
|
||||
const auto& [ident, port, query, info, time] = it->second;
|
||||
if (query != eKRPCQueryAnnouncePeer) // port is rport there
|
||||
UpdateNode (std::make_shared<Node> (nodeID, ident, port));
|
||||
switch (query)
|
||||
{
|
||||
case eKRPCQueryPing:
|
||||
{
|
||||
LogPrint (eLogDebug, "TorrentsDHT: Ping response received");
|
||||
UpdateNode (std::make_shared<Node> (nodeID, ident, port));
|
||||
break;
|
||||
}
|
||||
case eKRPCQueryGetPeers:
|
||||
@@ -846,9 +847,9 @@ namespace torrents
|
||||
while (nodes.size () >= nodeInfo.size ())
|
||||
{
|
||||
memcpy (nodeInfo.data (), nodes.data (), nodeInfo.size ());
|
||||
auto node = UpdateNode (std::make_shared<Node>(nodeInfo));
|
||||
if (info)
|
||||
info->AddNode (node);
|
||||
auto node = std::make_shared<Node>(nodeInfo);
|
||||
if (info && info->AddNode (node))
|
||||
SendPingQuery (node->peer, node->port);
|
||||
nodes = nodes.substr (nodeInfo.size ());
|
||||
}
|
||||
if (info)
|
||||
@@ -880,9 +881,9 @@ namespace torrents
|
||||
while (nodes.size () >= nodeInfo.size ())
|
||||
{
|
||||
memcpy (nodeInfo.data (), nodes.data (), nodeInfo.size ());
|
||||
auto node = UpdateNode (std::make_shared<Node>(nodeInfo));
|
||||
if (info && node)
|
||||
info->AddNode (node);
|
||||
auto node = std::make_shared<Node>(nodeInfo);
|
||||
if (info && info->AddNode (node))
|
||||
SendPingQuery (node->peer, node->port);
|
||||
nodes = nodes.substr (nodeInfo.size ());
|
||||
}
|
||||
if (info)
|
||||
|
||||
Reference in new issue
Block a user