From 83c5131b672df82142b7b7d86689fce2a4aab0e1 Mon Sep 17 00:00:00 2001 From: orignal <i2porignal@yandex.ru> Date: Wed, 7 Jun 2017 10:53:50 -0400 Subject: [PATCH] skip expired introducer --- libi2pd/SSU.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libi2pd/SSU.cpp b/libi2pd/SSU.cpp index 1edeb3bd..eabdd8c4 100644 --- a/libi2pd/SSU.cpp +++ b/libi2pd/SSU.cpp @@ -445,12 +445,14 @@ namespace transport int numIntroducers = address->ssu->introducers.size (); if (numIntroducers > 0) { + uint32_t ts = i2p::util::GetSecondsSinceEpoch (); std::shared_ptr<SSUSession> introducerSession; const i2p::data::RouterInfo::Introducer * introducer = nullptr; // we might have a session to introducer already for (int i = 0; i < numIntroducers; i++) { auto intr = &(address->ssu->introducers[i]); + if (intr->iExp > 0 && ts > intr->iExp) continue; // skip expired introducer boost::asio::ip::udp::endpoint ep (intr->iHost, intr->iPort); if (ep.address ().is_v4 ()) // ipv4 only { @@ -465,7 +467,7 @@ namespace transport } if (!introducer) { - LogPrint (eLogWarning, "SSU: Can't connect to unreachable router and no ipv4 introducers present"); + LogPrint (eLogWarning, "SSU: Can't connect to unreachable router and no ipv4 non-expired introducers presented"); return; }