aboutsummaryrefslogtreecommitdiff
path: root/src/p2p
diff options
context:
space:
mode:
authorAlexander Blair <snipa@jagtech.io>2020-12-26 13:59:51 -0800
committerAlexander Blair <snipa@jagtech.io>2020-12-26 13:59:51 -0800
commit0873f3193a345bee85fa56ce10d9d3387453741f (patch)
treef9f8000156fa94ee603c993ea73a72145bd55e7b /src/p2p
parentMerge pull request #7174 (diff)
parentban lists may now include subnets (diff)
downloadmonero-0873f3193a345bee85fa56ce10d9d3387453741f.tar.xz
Merge pull request #7181
e35bbb1e8 ban lists may now include subnets (moneromooo-monero)
Diffstat (limited to 'src/p2p')
-rw-r--r--src/p2p/net_node.inl12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
index 03ab04b21..b8b937de4 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
@@ -489,13 +489,19 @@ namespace nodetool
std::istringstream iss(banned_ips);
for (std::string line; std::getline(iss, line); )
{
+ auto subnet = net::get_ipv4_subnet_address(line);
+ if (subnet)
+ {
+ block_subnet(*subnet, std::numeric_limits<time_t>::max());
+ continue;
+ }
const expect<epee::net_utils::network_address> parsed_addr = net::get_network_address(line, 0);
- if (!parsed_addr)
+ if (parsed_addr)
{
- MERROR("Invalid IP address: " << line << " - " << parsed_addr.error());
+ block_host(*parsed_addr, std::numeric_limits<time_t>::max());
continue;
}
- block_host(*parsed_addr, std::numeric_limits<time_t>::max());
+ MERROR("Invalid IP address or IPv4 subnet: " << line);
}
}