Browse Source

pick compatible outbound tunnel for datagrams

pull/1705/head
orignal 3 years ago
parent
commit
4052b1ea6d
  1. 7
      libi2pd/Datagram.cpp

7
libi2pd/Datagram.cpp

@ -371,8 +371,6 @@ namespace datagram @@ -371,8 +371,6 @@ namespace datagram
{
// no current path, make one
path = std::make_shared<i2p::garlic::GarlicRoutingPath>();
path->outboundTunnel = m_LocalDestination->GetTunnelPool()->GetNextOutboundTunnel();
if (!path->outboundTunnel) return nullptr;
if (m_RemoteLeaseSet)
{
@ -386,6 +384,11 @@ namespace datagram @@ -386,6 +384,11 @@ namespace datagram
}
else
return nullptr;
auto leaseRouter = i2p::data::netdb.FindRouter (path->remoteLease->tunnelGateway);
path->outboundTunnel = m_LocalDestination->GetTunnelPool()->GetNextOutboundTunnel(nullptr,
leaseRouter ? leaseRouter->GetCompatibleTransports (false) : (i2p::data::RouterInfo::CompatibleTransports)i2p::data::RouterInfo::eAllTransports);
if (!path->outboundTunnel) return nullptr;
}
else
{

Loading…
Cancel
Save