aboutsummaryrefslogtreecommitdiff
path: root/src/daemon
diff options
context:
space:
mode:
authorAlexander Blair <snipa@jagtech.io>2020-12-26 13:42:37 -0800
committerAlexander Blair <snipa@jagtech.io>2020-12-26 13:42:37 -0800
commit5402121323ef115498a4852f11906872eb65bb95 (patch)
treec840cf49b98f46996921ce9ca96fb720883b864c /src/daemon
parentMerge pull request #7173 (diff)
parentban lists may now include subnets (diff)
downloadmonero-5402121323ef115498a4852f11906872eb65bb95.tar.xz
Merge pull request #7180
56748e1d7 ban lists may now include subnets (moneromooo-monero)
Diffstat (limited to 'src/daemon')
-rw-r--r--src/daemon/command_parser_executor.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/daemon/command_parser_executor.cpp b/src/daemon/command_parser_executor.cpp
index 767ce7bc6..5a7560874 100644
--- a/src/daemon/command_parser_executor.cpp
+++ b/src/daemon/command_parser_executor.cpp
@@ -694,13 +694,19 @@ bool t_command_parser_executor::ban(const std::vector<std::string>& args)
std::ifstream ifs(ban_list_path.string());
for (std::string line; std::getline(ifs, line); )
{
+ auto subnet = net::get_ipv4_subnet_address(line);
+ if (subnet)
+ {
+ ret &= m_executor.ban(subnet->str(), seconds);
+ continue;
+ }
const expect<epee::net_utils::network_address> parsed_addr = net::get_network_address(line, 0);
- if (!parsed_addr)
+ if (parsed_addr)
{
- std::cout << "Invalid IP address: " << line << " - " << parsed_addr.error() << std::endl;
+ ret &= m_executor.ban(parsed_addr->host_str(), seconds);
continue;
}
- ret &= m_executor.ban(parsed_addr->host_str(), seconds);
+ std::cout << "Invalid IP address or IPv4 subnet: " << line << std::endl;
}
return ret;
}