aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared/Realm/Realm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/shared/Realm/Realm.cpp')
-rw-r--r--src/server/shared/Realm/Realm.cpp9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/server/shared/Realm/Realm.cpp b/src/server/shared/Realm/Realm.cpp
index 7b98f51bf35..6f9d216bcd4 100644
--- a/src/server/shared/Realm/Realm.cpp
+++ b/src/server/shared/Realm/Realm.cpp
@@ -16,8 +16,9 @@
*/
#include "Realm.h"
+#include "IpAddress.h"
+#include "IpNetwork.h"
#include "StringFormat.h"
-#include <boost/asio/ip/address.hpp>
#include <algorithm>
#include <cctype>
@@ -47,12 +48,8 @@ boost::asio::ip::address Realm::GetAddressForClient(boost::asio::ip::address con
}
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()))
- {
+ if (clientAddr.is_v4() && Trinity::Net::IsInNetwork(LocalAddress->to_v4(), LocalSubnetMask->to_v4(), clientAddr.to_v4()))
realmIp = *LocalAddress;
- }
else
realmIp = *ExternalAddress;
}