mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-02-07 03:34:15 +00:00
router with expired introducer is still valid
This commit is contained in:
parent
f4902e6642
commit
a37cf058cd
@ -473,14 +473,15 @@ namespace data
|
|||||||
bool NetDb::LoadRouterInfo (const std::string & path)
|
bool NetDb::LoadRouterInfo (const std::string & path)
|
||||||
{
|
{
|
||||||
auto r = std::make_shared<RouterInfo>(path);
|
auto r = std::make_shared<RouterInfo>(path);
|
||||||
if (r->GetRouterIdentity () && !r->IsUnreachable () &&
|
if (r->GetRouterIdentity () && !r->IsUnreachable () && r->HasValidAddresses ())
|
||||||
(r->IsReachable () || !r->IsSSU (false) || m_LastLoad < r->GetTimestamp () + NETDB_INTRODUCEE_EXPIRATION_TIMEOUT*1000LL)) // 1 hour
|
{
|
||||||
{
|
|
||||||
r->DeleteBuffer ();
|
r->DeleteBuffer ();
|
||||||
r->ClearProperties (); // properties are not used for regular routers
|
r->ClearProperties (); // properties are not used for regular routers
|
||||||
m_RouterInfos[r->GetIdentHash ()] = r;
|
if (m_RouterInfos.emplace (r->GetIdentHash (), r).second)
|
||||||
if (r->IsFloodfill () && r->IsReachable ()) // floodfill must be reachable
|
{
|
||||||
m_Floodfills.push_back (r);
|
if (r->IsFloodfill () && r->IsEligibleFloodfill ())
|
||||||
|
m_Floodfills.push_back (r);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -343,7 +343,8 @@ namespace data
|
|||||||
int numValid = 0;
|
int numValid = 0;
|
||||||
for (auto& it: address->ssu->introducers)
|
for (auto& it: address->ssu->introducers)
|
||||||
{
|
{
|
||||||
if ((!it.iExp || ts <= it.iExp) && it.iPort > 0 &&
|
if (!it.iExp) it.iExp = m_Timestamp/1000 + NETDB_INTRODUCEE_EXPIRATION_TIMEOUT;
|
||||||
|
if (ts <= it.iExp && it.iPort > 0 &&
|
||||||
((it.iHost.is_v4 () && address->IsV4 ()) || (it.iHost.is_v6 () && address->IsV6 ())))
|
((it.iHost.is_v4 () && address->IsV4 ()) || (it.iHost.is_v6 () && address->IsV6 ())))
|
||||||
numValid++;
|
numValid++;
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user