From 4e7dabc09d7e400b7b63bd208a08aa58c89de856 Mon Sep 17 00:00:00 2001 From: Aokromes Date: Tue, 19 Jul 2016 12:27:06 +0200 Subject: [PATCH] Core/Commands: Prevent creating accounts containing '@' character with .account create command --- src/server/game/Miscellaneous/Language.h | 5 +++-- src/server/scripts/Commands/cs_account.cpp | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/server/game/Miscellaneous/Language.h b/src/server/game/Miscellaneous/Language.h index adfa4d9b783..d2641cd82ea 100644 --- a/src/server/game/Miscellaneous/Language.h +++ b/src/server/game/Miscellaneous/Language.h @@ -887,8 +887,9 @@ enum TrinityStrings LANG_CHARACTER_DELETED_LIST_LINE_CHAT = 1026, LANG_SQLDRIVER_QUERY_LOGGING_ENABLED = 1027, LANG_SQLDRIVER_QUERY_LOGGING_DISABLED = 1028, - LANG_ACCOUNT_INVALID_BNET_NAME = 1029, - // Room for more level 4 1030-1099 not used + LANG_ACCOUNT_INVALID_BNET_NAME = 1029, // 6.x ONLY + LANG_ACCOUNT_USE_BNET_COMMANDS = 1030, // 6.x enum value name but different text in DB + // Room for more level 4 1031-1099 not used // Level 3 (continue) LANG_ACCOUNT_SETADDON = 1100, diff --git a/src/server/scripts/Commands/cs_account.cpp b/src/server/scripts/Commands/cs_account.cpp index 076f6c47714..80a0a0d9967 100644 --- a/src/server/scripts/Commands/cs_account.cpp +++ b/src/server/scripts/Commands/cs_account.cpp @@ -121,6 +121,13 @@ public: if (!accountName || !password) return false; + if (strchr(accountName, '@')) + { + handler->PSendSysMessage(LANG_ACCOUNT_USE_BNET_COMMANDS); + handler->SetSentErrorMessage(true); + return false; + } + switch (sAccountMgr->CreateAccount(std::string(accountName), std::string(password), email)) { case AccountOpResult::AOR_OK: