|
|
@ -263,6 +263,8 @@ namespace stream |
|
|
|
|
|
|
|
|
|
|
|
if (flags & PACKET_FLAG_FROM_INCLUDED) |
|
|
|
if (flags & PACKET_FLAG_FROM_INCLUDED) |
|
|
|
{ |
|
|
|
{ |
|
|
|
|
|
|
|
if (m_RemoteLeaseSet) m_RemoteIdentity = m_RemoteLeaseSet->GetIdentity (); |
|
|
|
|
|
|
|
if (!m_RemoteIdentity) |
|
|
|
m_RemoteIdentity = std::make_shared<i2p::data::IdentityEx>(optionData, optionSize); |
|
|
|
m_RemoteIdentity = std::make_shared<i2p::data::IdentityEx>(optionData, optionSize); |
|
|
|
if (m_RemoteIdentity->IsRSA ()) |
|
|
|
if (m_RemoteIdentity->IsRSA ()) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -891,6 +893,12 @@ namespace stream |
|
|
|
LogPrint (eLogWarning, "Streaming: LeaseSet ", m_RemoteIdentity->GetIdentHash ().ToBase64 (), " not found"); |
|
|
|
LogPrint (eLogWarning, "Streaming: LeaseSet ", m_RemoteIdentity->GetIdentHash ().ToBase64 (), " not found"); |
|
|
|
m_LocalDestination.GetOwner ()->RequestDestination (m_RemoteIdentity->GetIdentHash ()); // try to request for a next attempt
|
|
|
|
m_LocalDestination.GetOwner ()->RequestDestination (m_RemoteIdentity->GetIdentHash ()); // try to request for a next attempt
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
// LeaseSet updated
|
|
|
|
|
|
|
|
m_RemoteIdentity = m_RemoteLeaseSet->GetIdentity (); |
|
|
|
|
|
|
|
m_TransientVerifier = m_RemoteLeaseSet->GetTransientVerifier (); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (m_RemoteLeaseSet) |
|
|
|
if (m_RemoteLeaseSet) |
|
|
|
{ |
|
|
|
{ |
|
|
|