[net] listbanned RPC and QT should show correct banned subnets

Github-Pull: #10234
Rebased-From: 77c54b270d
This commit is contained in:
John Newbery 2017-04-19 12:49:11 -04:00 committed by Luke Dashjr
parent 04226938a3
commit d289b564e3

View file

@ -413,10 +413,10 @@ void CConnman::DumpBanlist()
CBanDB bandb;
banmap_t banmap;
SetBannedSetDirty(false);
GetBanned(banmap);
if (!bandb.Write(banmap))
SetBannedSetDirty(true);
if (bandb.Write(banmap)) {
SetBannedSetDirty(false);
}
LogPrint("net", "Flushed %d banned node ips/subnets to banlist.dat %dms\n",
banmap.size(), GetTimeMillis() - nStart);
@ -536,6 +536,8 @@ bool CConnman::Unban(const CSubNet &subNet) {
void CConnman::GetBanned(banmap_t &banMap)
{
LOCK(cs_setBanned);
// Sweep the banlist so expired bans are not returned
SweepBanned();
banMap = setBanned; //create a thread safe copy
}