rpc: do not return bans if they're effectively spent
The blocked ip list will still hold them till next time a connection attempt is made with that IP, so the effective length of the ban may be negative.
This commit is contained in:
parent
474e4c00f0
commit
789e2755f7
|
@ -950,13 +950,16 @@ namespace cryptonote
|
|||
return false;
|
||||
}
|
||||
|
||||
auto now = time(nullptr);
|
||||
std::map<uint32_t, time_t> blocked_ips = m_p2p.get_blocked_ips();
|
||||
for (std::map<uint32_t, time_t>::const_iterator i = blocked_ips.begin(); i != blocked_ips.end(); ++i)
|
||||
{
|
||||
COMMAND_RPC_GETBANS::ban b;
|
||||
b.ip = i->first;
|
||||
b.seconds = i->second;
|
||||
res.bans.push_back(b);
|
||||
if (i->second > now) {
|
||||
COMMAND_RPC_GETBANS::ban b;
|
||||
b.ip = i->first;
|
||||
b.seconds = i->second - now;
|
||||
res.bans.push_back(b);
|
||||
}
|
||||
}
|
||||
|
||||
res.status = CORE_RPC_STATUS_OK;
|
||||
|
|
Loading…
Reference in New Issue