From ff89edf1272c0146e05f4381193ab53ecad7b75e Mon Sep 17 00:00:00 2001 From: orignal Date: Mon, 5 Apr 2021 18:22:48 -0400 Subject: [PATCH] pick random introducer --- libi2pd/SSU.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libi2pd/SSU.cpp b/libi2pd/SSU.cpp index b3118c96..bc036d51 100644 --- a/libi2pd/SSU.cpp +++ b/libi2pd/SSU.cpp @@ -513,9 +513,10 @@ namespace transport std::shared_ptr introducerSession; const i2p::data::RouterInfo::Introducer * introducer = nullptr; // we might have a session to introducer already + auto offset = rand (); for (int i = 0; i < numIntroducers; i++) { - auto intr = &(address->ssu->introducers[i]); + auto intr = &(address->ssu->introducers[(offset + i)%numIntroducers]); if (!intr->iPort) continue; // skip invalid introducer if (intr->iExp > 0 && ts > intr->iExp) continue; // skip expired introducer boost::asio::ip::udp::endpoint ep (intr->iHost, intr->iPort);