check Charlie's address for PeerTest msg 4

This commit is contained in:
orignal 2022-06-23 08:18:35 -04:00
parent c3c5c7ae63
commit 38e43bc9c8

View File

@ -358,7 +358,7 @@ namespace transport
}
default:
{
LogPrint (eLogWarning, "SSU2: Unexpected message type ", (int)header.h.type);
LogPrint (eLogWarning, "SSU2: Unexpected message type ", (int)header.h.type, " from ", m_RemoteEndpoint);
return false;
}
}
@ -1604,17 +1604,24 @@ namespace transport
it->second.first->SetRemoteIdentity (r->GetIdentity ());
auto addr = r->GetSSU2Address (m_Address->IsV4 ());
if (addr)
{
it->second.first->m_Address = addr;
if (it->second.first->m_State == eSSU2SessionStatePeerTestReceived)
{
// msg 5 already received. send msg 6
it->second.first->m_State = eSSU2SessionStatePeerTest;
it->second.first->SendPeerTest (6, buf + offset, len - offset, addr->i);
if (it->second.first->m_State == eSSU2SessionStatePeerTestReceived)
{
// msg 5 already received. send msg 6
it->second.first->m_State = eSSU2SessionStatePeerTest;
it->second.first->SendPeerTest (6, buf + offset, len - offset, addr->i);
}
}
else
{
LogPrint (eLogWarning, "SSU2: Peer test 4 address not found");
it->second.first->Terminate ();
}
}
else
{
LogPrint (eLogInfo, "SSU2: Peer test 4 signature verification failed");
LogPrint (eLogWarning, "SSU2: Peer test 4 signature verification failed");
it->second.first->Terminate ();
}
}