In addrs_in_same_network_family(), choose IP subnet size based on IP type

This commit is contained in:
Neel Chauhan
2018-08-16 08:19:52 -04:00
committed by teor
parent c8aecd14fe
commit 64d9ea1413
3 changed files with 48 additions and 1 deletions
+9 -1
View File
@@ -1792,7 +1792,15 @@ int
addrs_in_same_network_family(const tor_addr_t *a1,
const tor_addr_t *a2)
{
return 0 == tor_addr_compare_masked(a1, a2, 16, CMP_SEMANTIC);
switch (tor_addr_family(a1)) {
case AF_INET:
return 0 == tor_addr_compare_masked(a1, a2, 16, CMP_SEMANTIC);
case AF_INET6:
return 0 == tor_addr_compare_masked(a1, a2, 32, CMP_SEMANTIC);
default:
/* If not IPv4 or IPv6, return 0. */
return 0;
}
}
/** Return true if <b>node</b>'s nickname matches <b>nickname</b>