PeerTest from Charlie to Alice

This commit is contained in:
orignal 2014-09-22 19:03:46 -04:00
parent 4fc3b8026a
commit 71168389ab

31
SSU.cpp
View File

@ -791,22 +791,27 @@ namespace ssu
} }
else else
{ {
// new test if (m_State == eSessionStateEstablished)
m_PeerTestNonces.insert (nonce);
if (port)
{ {
LogPrint ("SSU peer test from Bob. We are Charlie"); // new test
Send (PAYLOAD_TYPE_PEER_TEST, buf1, len); // back to Bob m_PeerTestNonces.insert (nonce);
SendPeerTest (nonce, be32toh (address), be16toh (port), introKey); // to Alice if (port)
{
LogPrint ("SSU peer test from Bob. We are Charlie");
Send (PAYLOAD_TYPE_PEER_TEST, buf1, len); // back to Bob
SendPeerTest (nonce, be32toh (address), be16toh (port), introKey); // to Alice
}
else
{
LogPrint ("SSU peer test from Alice. We are Bob");
auto session = m_Server.GetRandomEstablishedSession (this); // charlie
if (session)
session->SendPeerTest (nonce, senderEndpoint.address ().to_v4 ().to_ulong (),
senderEndpoint.port (), introKey, false);
}
} }
else else
{ LogPrint ("SSU peer test from Charlie. We are Alice");
LogPrint ("SSU peer test from Alice. We are Bob");
auto session = m_Server.GetRandomEstablishedSession (this); // charlie
if (session)
session->SendPeerTest (nonce, senderEndpoint.address ().to_v4 ().to_ulong (),
senderEndpoint.port (), introKey, false);
}
} }
} }