Browse Source

check yggdrasil ipv6 range

pull/1626/head
orignal 3 years ago
parent
commit
ed4c00e4f4
  1. 5
      libi2pd/util.cpp
  2. 2
      libi2pd/util.h

5
libi2pd/util.cpp

@ -446,7 +446,8 @@ namespace net @@ -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 @@ -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;
}

2
libi2pd/util.h

@ -189,7 +189,7 @@ namespace util @@ -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