diff --git a/Garlic.cpp b/Garlic.cpp index 3253cbad..3d61b4ca 100644 --- a/Garlic.cpp +++ b/Garlic.cpp @@ -517,13 +517,17 @@ namespace garlic std::shared_ptr tunnel; if (from && from->GetTunnelPool ()) tunnel = from->GetTunnelPool ()->GetNextOutboundTunnel (); + if (!tunnel) + { + tunnel = i2p::context::GetExploratoryPool()->GetNextOutboundTunnel(); + } if (tunnel) // we have send it through an outbound tunnel { auto msg = CreateI2NPMessage (buf, GetI2NPMessageLength (buf), from); tunnel->SendTunnelDataMsg (gwHash, gwTunnel, msg); - } + } else - LogPrint (eLogWarning, "Garlic: No outbound tunnels available for garlic clove given tunnelID=", gwTunnel); + LogPrint (eLogWarning, "Garlic: No outbound tunnels available for garlic clove given tunnelID=", gwTunnel); break; } case eGarlicDeliveryTypeRouter: