Browse Source

don't resend RelayReponse if Alice is older version

pull/2094/merge
orignal 3 weeks ago
parent
commit
76190ea365
  1. 8
      libi2pd/SSU2Session.cpp

8
libi2pd/SSU2Session.cpp

@ -1959,8 +1959,12 @@ namespace transport
eSSU2RelayResponseCodeBobRelayTagNotFound, nonce, 0, false); eSSU2RelayResponseCodeBobRelayTagNotFound, nonce, 0, false);
packet->payloadSize += CreatePaddingBlock (packet->payload + packet->payloadSize, m_MaxPayloadSize - packet->payloadSize); packet->payloadSize += CreatePaddingBlock (packet->payload + packet->payloadSize, m_MaxPayloadSize - packet->payloadSize);
uint32_t packetNum = SendData (packet->payload, packet->payloadSize); uint32_t packetNum = SendData (packet->payload, packet->payloadSize);
packet->sendTime = mts; if (m_RemoteVersion >= SSU2_MIN_RELAY_RESPONSE_RESEND_VERSION)
session->m_SentPackets.emplace (packetNum, packet); {
// sometimes Alice doesn't ack this RelayResponse in older versions
packet->sendTime = mts;
m_SentPackets.emplace (packetNum, packet);
}
return; return;
} }
if (session->m_RelaySessions.emplace (nonce, std::make_pair (shared_from_this (), mts/1000)).second) if (session->m_RelaySessions.emplace (nonce, std::make_pair (shared_from_this (), mts/1000)).second)

Loading…
Cancel
Save