check yggdrasil ipv6 range

pull/1626/head
orignal 3 years ago
parent 07282ec39f
commit ed4c00e4f4

@ -446,7 +446,8 @@ namespace net
#endif
}
bool IsInReservedRange (const boost::asio::ip::address& host) {
bool IsInReservedRange (const boost::asio::ip::address& host, bool checkYggdrasil)
{
// https://en.wikipedia.org/wiki/Reserved_IP_addresses
if(host.is_v4())
{
@ -486,6 +487,8 @@ namespace net
if (ipv6_address >= it.first && ipv6_address <= it.second)
return true;
}
if (checkYggdrasil && (ipv6_address[0] == 0x02 || ipv6_address[0] == 0x03)) // yggdrasil?
return true;
}
return false;
}

@ -189,7 +189,7 @@ namespace util
int GetMTU (const boost::asio::ip::address& localAddress);
const boost::asio::ip::address GetInterfaceAddress (const std::string & ifname, bool ipv6=false);
boost::asio::ip::address_v6 GetYggdrasilAddress ();
bool IsInReservedRange (const boost::asio::ip::address& host);
bool IsInReservedRange (const boost::asio::ip::address& host, bool checkYggdrasil = true);
}
}
}

Loading…
Cancel
Save