diff options
author | Shauren <shauren.trinity@gmail.com> | 2025-04-09 21:02:31 +0200 |
---|---|---|
committer | Ovahlord <dreadkiller@gmx.de> | 2025-04-09 21:09:48 +0200 |
commit | 48c8c93ec4791002e473e4ea7af2bea9d693be0a (patch) | |
tree | 55c8c295698f9d2542ede02d0c237e582908749d /src/server/scripts | |
parent | 00482e96553ad578dc32591c1b207f769f1d4eb9 (diff) |
Core/Network: Move to separate project
(cherry picked from commit 71b681bbf0f5189cd87a6cea66ef51667223f54a)
Diffstat (limited to 'src/server/scripts')
-rw-r--r-- | src/server/scripts/Commands/cs_ban.cpp | 29 |
1 files changed, 14 insertions, 15 deletions
diff --git a/src/server/scripts/Commands/cs_ban.cpp b/src/server/scripts/Commands/cs_ban.cpp index 5e717b379db..7af5a820ccc 100644 --- a/src/server/scripts/Commands/cs_ban.cpp +++ b/src/server/scripts/Commands/cs_ban.cpp @@ -29,6 +29,7 @@ EndScriptData */ #include "ChatCommand.h" #include "DatabaseEnv.h" #include "GameTime.h" +#include "IpAddress.h" #include "Language.h" #include "ObjectAccessor.h" #include "ObjectMgr.h" @@ -161,6 +162,13 @@ public: return HandleBanHelper(BAN_IP, args, handler); } + static bool IsIPAddress(std::string const& text) + { + boost::system::error_code error; + Trinity::Net::make_address(text, error); + return !error; + } + static bool HandleBanHelper(BanMode mode, char const* args, ChatHandler* handler) { if (!*args) @@ -199,7 +207,7 @@ public: } break; case BAN_IP: - if (!IsIPAddress(nameOrIP.c_str())) + if (!IsIPAddress(nameOrIP)) return false; break; } @@ -360,22 +368,13 @@ public: return true; } - static bool HandleBanInfoIPCommand(ChatHandler* handler, char const* args) + static bool HandleBanInfoIPCommand(ChatHandler* handler, std::string&& ip) { - if (!*args) + if (!IsIPAddress(ip)) return false; - char* ipStr = strtok((char*)args, ""); - if (!ipStr) - return false; - - if (!IsIPAddress(ipStr)) - return false; - - std::string IP = ipStr; - - LoginDatabase.EscapeString(IP); - QueryResult result = LoginDatabase.PQuery("SELECT ip, FROM_UNIXTIME(bandate), FROM_UNIXTIME(unbandate), unbandate-UNIX_TIMESTAMP(), banreason, bannedby, unbandate-bandate FROM ip_banned WHERE ip = '{}'", IP); + LoginDatabase.EscapeString(ip); + QueryResult result = LoginDatabase.PQuery("SELECT ip, FROM_UNIXTIME(bandate), FROM_UNIXTIME(unbandate), unbandate-UNIX_TIMESTAMP(), banreason, bannedby, unbandate-bandate FROM ip_banned WHERE ip = '{}'", ip); if (!result) { handler->PSendSysMessage(LANG_BANINFO_NOIP); @@ -745,7 +744,7 @@ public: } break; case BAN_IP: - if (!IsIPAddress(nameOrIP.c_str())) + if (!IsIPAddress(nameOrIP)) return false; break; } |