|
|
@ -522,6 +522,8 @@ namespace client |
|
|
|
if (addr && addr->IsValid ()) |
|
|
|
if (addr && addr->IsValid ()) |
|
|
|
{ |
|
|
|
{ |
|
|
|
if (addr->IsIdentHash ()) |
|
|
|
if (addr->IsIdentHash ()) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
if (session->GetLocalDestination ()->GetIdentHash () != addr->identHash) |
|
|
|
{ |
|
|
|
{ |
|
|
|
auto leaseSet = session->GetLocalDestination ()->FindLeaseSet(addr->identHash); |
|
|
|
auto leaseSet = session->GetLocalDestination ()->FindLeaseSet(addr->identHash); |
|
|
|
if (leaseSet) |
|
|
|
if (leaseSet) |
|
|
@ -533,6 +535,9 @@ namespace client |
|
|
|
shared_from_this(), std::placeholders::_1)); |
|
|
|
shared_from_this(), std::placeholders::_1)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
SendStreamCantReachPeer ("Can't connect to myself"); |
|
|
|
|
|
|
|
} |
|
|
|
else // B33
|
|
|
|
else // B33
|
|
|
|
session->GetLocalDestination ()->RequestDestinationWithEncryptedLeaseSet (addr->blindedPublicKey, |
|
|
|
session->GetLocalDestination ()->RequestDestinationWithEncryptedLeaseSet (addr->blindedPublicKey, |
|
|
|
std::bind(&SAMSocket::HandleConnectLeaseSetRequestComplete, |
|
|
|
std::bind(&SAMSocket::HandleConnectLeaseSetRequestComplete, |
|
|
|