Browse Source

reply with CANT_REACH_PEER if connect to outselves

pull/2006/head
orignal 11 months ago
parent
commit
cd087568b5
  1. 5
      libi2pd_client/SAM.cpp

5
libi2pd_client/SAM.cpp

@ -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,

Loading…
Cancel
Save