mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2024-11-06 03:20:33 +00:00
try to send lookup reply directly to IBGW
This commit is contained in:
parent
e85e96bc35
commit
2dbf094433
@ -1114,12 +1114,24 @@ namespace data
|
||||
else
|
||||
LogPrint(eLogWarning, "NetDb: Encrypted reply requested but no tags provided");
|
||||
}
|
||||
auto exploratoryPool = i2p::tunnel::tunnels.GetExploratoryPool ();
|
||||
auto outbound = exploratoryPool ? exploratoryPool->GetNextOutboundTunnel () : nullptr;
|
||||
if (outbound)
|
||||
outbound->SendTunnelDataMsgTo (replyIdent, replyTunnelID, replyMsg);
|
||||
else
|
||||
bool direct = true;
|
||||
if (!i2p::transport::transports.IsConnected (ident))
|
||||
{
|
||||
auto r = FindRouter (replyIdent);
|
||||
if (r && !r->IsReachableFrom (i2p::context.GetRouterInfo ()))
|
||||
direct = false;
|
||||
}
|
||||
if (direct)
|
||||
transports.SendMessage (replyIdent, i2p::CreateTunnelGatewayMsg (replyTunnelID, replyMsg));
|
||||
else
|
||||
{
|
||||
auto exploratoryPool = i2p::tunnel::tunnels.GetExploratoryPool ();
|
||||
auto outbound = exploratoryPool ? exploratoryPool->GetNextOutboundTunnel () : nullptr;
|
||||
if (outbound)
|
||||
outbound->SendTunnelDataMsgTo (replyIdent, replyTunnelID, replyMsg);
|
||||
else
|
||||
LogPrint (eLogWarning, "NetDb: Can't send lookup reply to ", replyIdent.ToBase64 (), ". Non reachable and no outbound tunnels");
|
||||
}
|
||||
}
|
||||
else
|
||||
transports.SendMessage (replyIdent, replyMsg);
|
||||
|
Loading…
Reference in New Issue
Block a user