Changeset View
Changeset View
Standalone View
Standalone View
src/banman.cpp
Show First 20 Lines • Show All 193 Lines • ▼ Show 20 Lines | void BanMan::SweepBanned() { | ||||
int64_t now = GetTime(); | int64_t now = GetTime(); | ||||
bool notify_ui = false; | bool notify_ui = false; | ||||
{ | { | ||||
LOCK(m_cs_banned); | LOCK(m_cs_banned); | ||||
banmap_t::iterator it = m_banned.begin(); | banmap_t::iterator it = m_banned.begin(); | ||||
while (it != m_banned.end()) { | while (it != m_banned.end()) { | ||||
CSubNet sub_net = (*it).first; | CSubNet sub_net = (*it).first; | ||||
CBanEntry ban_entry = (*it).second; | CBanEntry ban_entry = (*it).second; | ||||
if (now > ban_entry.nBanUntil) { | if (!sub_net.IsValid() || now > ban_entry.nBanUntil) { | ||||
m_banned.erase(it++); | m_banned.erase(it++); | ||||
m_is_dirty = true; | m_is_dirty = true; | ||||
notify_ui = true; | notify_ui = true; | ||||
LogPrint( | LogPrint( | ||||
BCLog::NET, | BCLog::NET, | ||||
"%s: Removed banned node ip/subnet from banlist.dat: %s\n", | "%s: Removed banned node ip/subnet from banlist.dat: %s\n", | ||||
__func__, sub_net.ToString()); | __func__, sub_net.ToString()); | ||||
} else { | } else { | ||||
Show All 20 Lines |