From 50d4be17cfa52932ccfb5c1498ea21427d435b35 Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Fri, 25 Mar 2022 01:07:44 +0000 Subject: [PATCH] Start with an empty banlist if -reindex is set. fixes #5739 Signed-off-by: Daira Hopwood --- src/net.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/net.cpp b/src/net.cpp index cbb967017..6f0ab4577 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1912,17 +1912,23 @@ void StartNode(boost::thread_group& threadGroup, CScheduler& scheduler) uiInterface.InitMessage(_("Loading banlist...")); // Load addresses from banlist.dat nStart = GetTimeMillis(); - CBanDB bandb; - banmap_t banmap; - if (bandb.Read(banmap)) { - CNode::SetBanned(banmap); // thread save setter - CNode::SetBannedSetDirty(false); // no need to write down, just read data - CNode::SweepBanned(); // sweep out unused entries + if (!GetBoolArg("-reindex", false)) { + CBanDB bandb; + banmap_t banmap; + if (bandb.Read(banmap)) { + CNode::SetBanned(banmap); // thread save setter + CNode::SetBannedSetDirty(false); // no need to write down, just read data + CNode::SweepBanned(); // sweep out unused entries - LogPrint("net", "Loaded %d banned node ips/subnets from banlist.dat %dms\n", - banmap.size(), GetTimeMillis() - nStart); + LogPrint("net", "Loaded %d banned node ips/subnets from banlist.dat %dms\n", + banmap.size(), GetTimeMillis() - nStart); + } else { + LogPrintf("Invalid or missing banlist.dat; recreating\n"); + CNode::SetBannedSetDirty(true); // force write + DumpBanlist(); + } } else { - LogPrintf("Invalid or missing banlist.dat; recreating\n"); + LogPrintf("Clearing banlist.dat for reindex\n"); CNode::SetBannedSetDirty(true); // force write DumpBanlist(); }