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.
release-v0.4.0.1
moneromooo-monero 8 years ago
parent 474e4c00f0
commit 789e2755f7
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -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…
Cancel
Save