diff options
Diffstat (limited to 'src/server/shared/Realm/Realm.cpp')
-rw-r--r-- | src/server/shared/Realm/Realm.cpp | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/server/shared/Realm/Realm.cpp b/src/server/shared/Realm/Realm.cpp index 2768e17848b..571e798cc76 100644 --- a/src/server/shared/Realm/Realm.cpp +++ b/src/server/shared/Realm/Realm.cpp @@ -16,8 +16,9 @@ */ #include "Realm.h" +#include <boost/asio/ip/basic_endpoint.hpp> -boost::asio::ip::tcp::endpoint Realm::GetAddressForClient(boost::asio::ip::address const& clientAddr) const +boost::asio::ip::tcp_endpoint Realm::GetAddressForClient(boost::asio::ip::address const& clientAddr) const { boost::asio::ip::address realmIp; @@ -25,29 +26,27 @@ boost::asio::ip::tcp::endpoint Realm::GetAddressForClient(boost::asio::ip::addre if (clientAddr.is_loopback()) { // Try guessing if realm is also connected locally - if (LocalAddress.is_loopback() || ExternalAddress.is_loopback()) + if (LocalAddress->is_loopback() || ExternalAddress->is_loopback()) realmIp = clientAddr; else { // Assume that user connecting from the machine that bnetserver is located on // has all realms available in his local network - realmIp = LocalAddress; + realmIp = *LocalAddress; } } else { if (clientAddr.is_v4() && - (clientAddr.to_v4().to_ulong() & LocalSubnetMask.to_v4().to_ulong()) == - (LocalAddress.to_v4().to_ulong() & LocalSubnetMask.to_v4().to_ulong())) + (clientAddr.to_v4().to_ulong() & LocalSubnetMask->to_v4().to_ulong()) == + (LocalAddress->to_v4().to_ulong() & LocalSubnetMask->to_v4().to_ulong())) { - realmIp = LocalAddress; + realmIp = *LocalAddress; } else - realmIp = ExternalAddress; + realmIp = *ExternalAddress; } - boost::asio::ip::tcp::endpoint endpoint(realmIp, Port); - // Return external IP - return endpoint; + return boost::asio::ip::tcp_endpoint(realmIp, Port); } |