check yggdrasil ipv6 range

This commit is contained in:
orignal 2021-01-24 21:21:35 -05:00
parent 07282ec39f
commit ed4c00e4f4
2 changed files with 5 additions and 2 deletions

View File

@ -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;
}

View File

@ -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);
}
}
}