AzerothCore 3.3.5a
OpenSource WoW Emulator
Loading...
Searching...
No Matches
Acore::Net Namespace Reference

Functions

boost::asio::ip::address make_address (char const *str)
 
boost::asio::ip::address make_address (char const *str, boost::system::error_code &ec)
 
boost::asio::ip::address make_address (std::string const &str)
 
boost::asio::ip::address make_address (std::string const &str, boost::system::error_code &ec)
 
boost::asio::ip::address_v4 make_address_v4 (char const *str)
 
boost::asio::ip::address_v4 make_address_v4 (char const *str, boost::system::error_code &ec)
 
boost::asio::ip::address_v4 make_address_v4 (std::string const &str)
 
boost::asio::ip::address_v4 make_address_v4 (std::string const &str, boost::system::error_code &ec)
 
uint32 address_to_uint (boost::asio::ip::address_v4 const &address)
 
bool IsInNetwork (boost::asio::ip::address_v4 const &networkAddress, boost::asio::ip::address_v4 const &mask, boost::asio::ip::address_v4 const &clientAddress)
 
boost::asio::ip::address_v4 GetDefaultNetmaskV4 (boost::asio::ip::address_v4 const &networkAddress)
 
bool IsInNetwork (boost::asio::ip::address_v6 const &networkAddress, uint16 prefixLength, boost::asio::ip::address_v6 const &clientAddress)
 

Function Documentation

◆ address_to_uint()

uint32 Acore::Net::address_to_uint ( boost::asio::ip::address_v4 const &  address)
inline
39{ return address.to_ulong(); }

Referenced by GetDefaultNetmaskV4(), and IpLocationStore::GetLocationRecord().

◆ GetDefaultNetmaskV4()

boost::asio::ip::address_v4 Acore::Net::GetDefaultNetmaskV4 ( boost::asio::ip::address_v4 const &  networkAddress)
inline
44 {
45 if ((address_to_uint(networkAddress) & 0x80000000) == 0)
46 {
47 return boost::asio::ip::address_v4(0xFF000000);
48 }
49 if ((address_to_uint(networkAddress) & 0xC0000000) == 0x80000000)
50 {
51 return boost::asio::ip::address_v4(0xFFFF0000);
52 }
53 if ((address_to_uint(networkAddress) & 0xE0000000) == 0xC0000000)
54 {
55 return boost::asio::ip::address_v4(0xFFFFFF00);
56 }
57 return boost::asio::ip::address_v4(0xFFFFFFFF);
58 }
uint32 address_to_uint(boost::asio::ip::address_v4 const &address)
Definition: IpAddress.h:39

References address_to_uint().

◆ IsInNetwork() [1/2]

bool Acore::Net::IsInNetwork ( boost::asio::ip::address_v4 const &  networkAddress,
boost::asio::ip::address_v4 const &  mask,
boost::asio::ip::address_v4 const &  clientAddress 
)
inline
33 {
34#if BOOST_VERSION >= 106600
35 boost::asio::ip::network_v4 network = boost::asio::ip::make_network_v4(networkAddress, mask);
36 boost::asio::ip::address_v4_range hosts = network.hosts();
37 return hosts.find(clientAddress) != hosts.end();
38#else
39 return (clientAddress.to_ulong() & mask.to_ulong()) == (networkAddress.to_ulong() & mask.to_ulong());
40#endif
41 }

Referenced by Realm::GetAddressForClient().

◆ IsInNetwork() [2/2]

bool Acore::Net::IsInNetwork ( boost::asio::ip::address_v6 const &  networkAddress,
uint16  prefixLength,
boost::asio::ip::address_v6 const &  clientAddress 
)
inline
61 {
62#if BOOST_VERSION >= 106600
63 boost::asio::ip::network_v6 network = boost::asio::ip::make_network_v6(networkAddress, prefixLength);
64 boost::asio::ip::address_v6_range hosts = network.hosts();
65 return hosts.find(clientAddress) != hosts.end();
66#else
67 (void)networkAddress;
68 (void)prefixLength;
69 (void)clientAddress;
70 return false;
71#endif
72 }

◆ make_address() [1/4]

boost::asio::ip::address Acore::Net::make_address ( char const *  str)
inline
31{ return boost::asio::ip::address::from_string(str); }

Referenced by IsIPAddress().

◆ make_address() [2/4]

boost::asio::ip::address Acore::Net::make_address ( char const *  str,
boost::system::error_code &  ec 
)
inline
32{ return boost::asio::ip::address::from_string(str, ec); }

◆ make_address() [3/4]

boost::asio::ip::address Acore::Net::make_address ( std::string const &  str)
inline
33{ return boost::asio::ip::address::from_string(str); }

◆ make_address() [4/4]

boost::asio::ip::address Acore::Net::make_address ( std::string const &  str,
boost::system::error_code &  ec 
)
inline
34{ return boost::asio::ip::address::from_string(str, ec); }

◆ make_address_v4() [1/4]

boost::asio::ip::address_v4 Acore::Net::make_address_v4 ( char const *  str)
inline
35{ return boost::asio::ip::address_v4::from_string(str); }

Referenced by IpLocationStore::GetLocationRecord().

◆ make_address_v4() [2/4]

boost::asio::ip::address_v4 Acore::Net::make_address_v4 ( char const *  str,
boost::system::error_code &  ec 
)
inline
36{ return boost::asio::ip::address_v4::from_string(str, ec); }

◆ make_address_v4() [3/4]

boost::asio::ip::address_v4 Acore::Net::make_address_v4 ( std::string const &  str)
inline
37{ return boost::asio::ip::address_v4::from_string(str); }

◆ make_address_v4() [4/4]

boost::asio::ip::address_v4 Acore::Net::make_address_v4 ( std::string const &  str,
boost::system::error_code &  ec 
)
inline
38{ return boost::asio::ip::address_v4::from_string(str, ec); }