mirror of
https://github.com/dashpay/dash.git
synced 2024-12-29 05:49:11 +01:00
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
This commit is contained in:
parent
2977c243ef
commit
e8600c924d
14
src/net.cpp
14
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()
|
||||||
@ -2474,22 +2472,26 @@ bool CBanDB::Read(banmap_t& banSet)
|
|||||||
// ... verify the network matches ours
|
// ... verify the network matches ours
|
||||||
if (memcmp(pchMsgTmp, Params().MessageStart(), sizeof(pchMsgTmp)))
|
if (memcmp(pchMsgTmp, Params().MessageStart(), sizeof(pchMsgTmp)))
|
||||||
return error("%s: Invalid network magic number", __func__);
|
return error("%s: Invalid network magic number", __func__);
|
||||||
|
|
||||||
// de-serialize address data into one CAddrMan object
|
// de-serialize address data into one CAddrMan object
|
||||||
ssBanlist >> banSet;
|
ssBanlist >> banSet;
|
||||||
}
|
}
|
||||||
catch (const std::exception& e) {
|
catch (const std::exception& e) {
|
||||||
return error("%s: Deserialize or I/O error - %s", __func__, e.what());
|
return error("%s: Deserialize or I/O error - %s", __func__, e.what());
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
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…
Reference in New Issue
Block a user