aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorluigi1111 <luigi1111w@gmail.com>2021-03-30 12:03:56 -0400
committerluigi1111 <luigi1111w@gmail.com>2021-03-30 12:03:56 -0400
commit39ce27b5d5f29698f5f22f4e30a53961b7dc4a71 (patch)
tree8c95cdd666db10f66daec6fb35284e3b61115057
parentMerge pull request #7476 (diff)
parentp2p: allow CIDR notation in DNS blocklist (diff)
downloadmonero-39ce27b5d5f29698f5f22f4e30a53961b7dc4a71.tar.xz
Merge pull request #7332
57edfd7 p2p: allow CIDR notation in DNS blocklist (moneromooo-monero)
-rw-r--r--src/p2p/net_node.inl17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl
index cf0b1db10..4571743a2 100644
--- a/src/p2p/net_node.inl
+++ b/src/p2p/net_node.inl
@@ -2002,15 +2002,22 @@ namespace nodetool
{
if (ip.empty())
continue;
+ auto subnet = net::get_ipv4_subnet_address(ip);
+ if (subnet)
+ {
+ block_subnet(*subnet, DNS_BLOCKLIST_LIFETIME);
+ ++good;
+ continue;
+ }
const expect<epee::net_utils::network_address> parsed_addr = net::get_network_address(ip, 0);
- if (!parsed_addr)
+ if (parsed_addr)
{
- MWARNING("Invalid IP address from DNS blocklist: " << ip << " - " << parsed_addr.error());
- ++bad;
+ block_host(*parsed_addr, DNS_BLOCKLIST_LIFETIME, true);
+ ++good;
continue;
}
- block_host(*parsed_addr, DNS_BLOCKLIST_LIFETIME, true);
- ++good;
+ MWARNING("Invalid IP address or subnet from DNS blocklist: " << ip << " - " << parsed_addr.error());
+ ++bad;
}
}
if (good > 0)