Core/Commands: Prevent creating accounts containing '@' character with .account create command

This commit is contained in:
Aokromes
2016-07-19 12:27:06 +02:00
parent 3f0c7f6b2f
commit 4e7dabc09d
2 changed files with 10 additions and 2 deletions

View File

@@ -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,

View File

@@ -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: