mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 00:00:29 +03:00
don't reply to DatabaseStore messages extracted from transit
This commit is contained in:
parent
5769a41208
commit
c34df2090c
@ -586,10 +586,16 @@ namespace tunnel
|
||||
auto typeID = msg->GetTypeID ();
|
||||
LogPrint (eLogDebug, "Tunnel: Gateway of ", (int) len, " bytes for tunnel ", tunnel->GetTunnelID (), ", msg type ", (int)typeID);
|
||||
|
||||
if (IsRouterInfoMsg (msg) || typeID == eI2NPDatabaseSearchReply)
|
||||
// transit DatabaseStore my contain new/updated RI
|
||||
// or DatabaseSearchReply with new routers
|
||||
if (typeID == eI2NPDatabaseSearchReply)
|
||||
// DatabaseSearchReply with new routers
|
||||
i2p::data::netdb.PostI2NPMsg (CopyI2NPMessage (msg));
|
||||
else if (IsRouterInfoMsg (msg))
|
||||
{
|
||||
// transit DatabaseStore might contain new/updated RI
|
||||
auto m = CopyI2NPMessage (msg);
|
||||
memset (m->GetPayload () + DATABASE_STORE_REPLY_TOKEN_OFFSET, 0, 4); // no reply
|
||||
i2p::data::netdb.PostI2NPMsg (m);
|
||||
}
|
||||
tunnel->SendTunnelDataMsg (msg);
|
||||
}
|
||||
|
||||
|
@ -324,9 +324,17 @@ namespace tunnel
|
||||
uint8_t typeID = msg.data->GetTypeID ();
|
||||
LogPrint (eLogDebug, "TunnelMessage: Handle fragment of ", msg.data->GetLength (), " bytes, msg type ", (int)typeID);
|
||||
// catch RI or reply with new list of routers
|
||||
if ((IsRouterInfoMsg (msg.data) || typeID == eI2NPDatabaseSearchReply) &&
|
||||
!m_IsInbound && msg.deliveryType != eDeliveryTypeLocal)
|
||||
i2p::data::netdb.PostI2NPMsg (CopyI2NPMessage (msg.data));
|
||||
if (!m_IsInbound && msg.deliveryType != eDeliveryTypeLocal)
|
||||
{
|
||||
if (typeID == eI2NPDatabaseSearchReply)
|
||||
i2p::data::netdb.PostI2NPMsg (CopyI2NPMessage (msg.data));
|
||||
else if (IsRouterInfoMsg (msg.data))
|
||||
{
|
||||
auto m = CopyI2NPMessage (msg.data);
|
||||
memset (m->GetPayload () + DATABASE_STORE_REPLY_TOKEN_OFFSET, 0, 4); // no reply
|
||||
i2p::data::netdb.PostI2NPMsg (m);
|
||||
}
|
||||
}
|
||||
|
||||
switch (msg.deliveryType)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user