1
0
mirror of https://github.com/PurpleI2P/i2pd.git synced 2025-01-22 08:14:15 +00:00

encypt tunnel test messages

This commit is contained in:
orignal 2014-11-28 16:19:56 -05:00
parent d794dfb7e5
commit 49173da84d

View File

@ -189,7 +189,8 @@ namespace tunnel
it.second.second->SetState (eTunnelStateTestFailed); it.second.second->SetState (eTunnelStateTestFailed);
} }
} }
m_Tests.clear (); m_Tests.clear ();
// new tests
auto it1 = m_OutboundTunnels.begin (); auto it1 = m_OutboundTunnels.begin ();
auto it2 = m_InboundTunnels.begin (); auto it2 = m_InboundTunnels.begin ();
while (it1 != m_OutboundTunnels.end () && it2 != m_InboundTunnels.end ()) while (it1 != m_OutboundTunnels.end () && it2 != m_InboundTunnels.end ())
@ -207,10 +208,16 @@ namespace tunnel
} }
if (!failed) if (!failed)
{ {
uint8_t key[32], tag[32];
rnd.GenerateBlock (key, 32); // random session key
rnd.GenerateBlock (tag, 32); // random session tag
m_LocalDestination.AddSessionKey (key, tag);
i2p::garlic::GarlicRoutingSession garlic (key, tag);
uint32_t msgID = rnd.GenerateWord32 (); uint32_t msgID = rnd.GenerateWord32 ();
m_Tests[msgID] = std::make_pair (*it1, *it2); m_Tests[msgID] = std::make_pair (*it1, *it2);
(*it1)->SendTunnelDataMsg ((*it2)->GetNextIdentHash (), (*it2)->GetNextTunnelID (), (*it1)->SendTunnelDataMsg ((*it2)->GetNextIdentHash (), (*it2)->GetNextTunnelID (),
CreateDeliveryStatusMsg (msgID)); garlic.WrapSingleMessage (CreateDeliveryStatusMsg (msgID)));
it1++; it2++; it1++; it2++;
} }
} }