Browse Source

encrypt inbound tunnel build message for short tunnel build only

pull/1677/head
orignal 3 years ago
parent
commit
15c3d46492
  1. 12
      libi2pd/Tunnel.cpp

12
libi2pd/Tunnel.cpp

@ -93,9 +93,15 @@ namespace tunnel @@ -93,9 +93,15 @@ namespace tunnel
// send message
if (outboundTunnel)
{
auto ident = m_Config->GetFirstHop () ? m_Config->GetFirstHop ()->ident : nullptr;
if (ident && ident->GetCryptoKeyType () == i2p::data::CRYPTO_KEY_TYPE_ECIES_X25519_AEAD)
msg = i2p::garlic::WrapECIESX25519MessageForRouter (msg, ident->GetEncryptionPublicKey ());
if (m_Config->IsShort ())
{
auto ident = m_Config->GetFirstHop () ? m_Config->GetFirstHop ()->ident : nullptr;
if (ident)
{
auto msg1 = i2p::garlic::WrapECIESX25519MessageForRouter (msg, ident->GetEncryptionPublicKey ());
if (msg1) msg = msg;
}
}
outboundTunnel->SendTunnelDataMsg (GetNextIdentHash (), 0, msg);
}
else

Loading…
Cancel
Save