Browse Source

banlist (bugfix): allow CNode::SweepBanned() to run on interval

- allows CNode::SweepBanned() to run, even if !CNode::BannedSetIsDirty(),
  because if nBanUntil is over we want the ban to be disabled for these
  nodes
0.13
Philip Kaufmann 9 years ago
parent
commit
e8600c924d
  1. 10
      src/net.cpp

10
src/net.cpp

@ -1455,9 +1455,7 @@ void DumpAddresses()
void DumpData() void DumpData()
{ {
DumpAddresses(); DumpAddresses();
DumpBanlist();
if (CNode::BannedSetIsDirty())
DumpBanlist();
} }
void static ProcessOneShot() void static ProcessOneShot()
@ -2487,9 +2485,13 @@ bool CBanDB::Read(banmap_t& banSet)
void DumpBanlist() void DumpBanlist()
{ {
int64_t nStart = GetTimeMillis();
CNode::SweepBanned(); // clean unused entries (if bantime has expired) CNode::SweepBanned(); // clean unused entries (if bantime has expired)
if (!CNode::BannedSetIsDirty())
return;
int64_t nStart = GetTimeMillis();
CBanDB bandb; CBanDB bandb;
banmap_t banmap; banmap_t banmap;
CNode::GetBanned(banmap); CNode::GetBanned(banmap);

Loading…
Cancel
Save