|
|
@ -104,6 +104,7 @@ namespace client |
|
|
|
auto path = remoteSession->GetSharedRoutingPath (); |
|
|
|
auto path = remoteSession->GetSharedRoutingPath (); |
|
|
|
std::shared_ptr<i2p::tunnel::OutboundTunnel> outboundTunnel; |
|
|
|
std::shared_ptr<i2p::tunnel::OutboundTunnel> outboundTunnel; |
|
|
|
std::shared_ptr<const i2p::data::Lease> remoteLease; |
|
|
|
std::shared_ptr<const i2p::data::Lease> remoteLease; |
|
|
|
|
|
|
|
bool unconfirmedTags=false; |
|
|
|
if (path) |
|
|
|
if (path) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (!remoteSession->CleanupUnconfirmedTags ()) // no stuck tags
|
|
|
|
if (!remoteSession->CleanupUnconfirmedTags ()) // no stuck tags
|
|
|
@ -112,9 +113,12 @@ namespace client |
|
|
|
remoteLease = path->remoteLease; |
|
|
|
remoteLease = path->remoteLease; |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
remoteSession->SetSharedRoutingPath (nullptr); |
|
|
|
remoteSession->SetSharedRoutingPath (nullptr); |
|
|
|
|
|
|
|
unconfirmedTags=true; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else |
|
|
|
if (!path || unconfirmedTags) |
|
|
|
{ |
|
|
|
{ |
|
|
|
outboundTunnel = GetTunnelPool ()->GetNextOutboundTunnel (); |
|
|
|
outboundTunnel = GetTunnelPool ()->GetNextOutboundTunnel (); |
|
|
|
auto leases = remote->GetNonExpiredLeases (); |
|
|
|
auto leases = remote->GetNonExpiredLeases (); |
|
|
|