Browse Source

NetDB: ignore LeaseSet store request if not floodfill

Signed-off-by: r4sas <r4sas@i2pmail.org>
pull/1928/merge
R4SAS 2 years ago
parent
commit
09f233dbfb
Signed by: r4sas
GPG Key ID: 66F6C87B98EBCFE2
  1. 19
      libi2pd/NetDb.cpp

19
libi2pd/NetDb.cpp

@ -267,12 +267,12 @@ namespace data @@ -267,12 +267,12 @@ namespace data
if (wasFloodfill)
m_Floodfills.Remove (r->GetIdentHash ());
else if (r->IsEligibleFloodfill ())
{
if (m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD || r->GetProfile ()->IsReal ())
{
if (m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD || r->GetProfile ()->IsReal ())
m_Floodfills.Insert (r);
else
r->ResetFlooldFill ();
}
}
}
}
else
@ -296,10 +296,10 @@ namespace data @@ -296,10 +296,10 @@ namespace data
{
LogPrint (eLogInfo, "NetDb: RouterInfo added: ", ident.ToBase64());
if (r->IsFloodfill () && r->IsEligibleFloodfill ())
{
{
if (m_Floodfills.GetSize () < NETDB_NUM_FLOODFILLS_THRESHOLD ||
r->GetProfile ()->IsReal ()) // don't insert floodfill until it's known real if we have enough
{
r->GetProfile ()->IsReal ()) // don't insert floodfill until it's known real if we have enough
{
std::unique_lock<std::mutex> l(m_FloodfillsMutex);
m_Floodfills.Insert (r);
}
@ -840,7 +840,12 @@ namespace data @@ -840,7 +840,12 @@ namespace data
LogPrint (eLogError, "NetDb: Database store message is too long ", len);
return;
}
if (!m->from) // unsolicited LS must be received directly
if (!context.IsFloodfill ())
{
LogPrint (eLogInfo, "NetDb: Not Floodfill, LeaseSet store request ignored for ", ident.ToBase32());
return;
}
else if (!m->from) // unsolicited LS must be received directly
{
if (storeType == NETDB_STORE_TYPE_LEASESET) // 1
{

Loading…
Cancel
Save