aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2013-08-30 21:52:59 +0100
committerMachiavelli <machiavelli.trinity@gmail.com>2013-08-30 21:52:59 +0100
commit4b5c4ab12adc91860b59302ed84d9ab977743d8a (patch)
tree1a4bbbbf8873abdc2d799dc771b45f01a6702c54 /src
parentbe7d82ba8de464d0d0a817bb4adbfa81930e68d0 (diff)
Core/CharacterHandler: Some more rules for CMSG_CHAR_ENUM allowance
Thanks to @TakenBacon for heads up
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Handlers/CharacterHandler.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp
index 79d5c22e6a2..6a7e6c5dedd 100644
--- a/src/server/game/Handlers/CharacterHandler.cpp
+++ b/src/server/game/Handlers/CharacterHandler.cpp
@@ -1165,6 +1165,7 @@ void WorldSession::HandleCharRenameOpcode(WorldPacket& recvData)
void WorldSession::HandleChangePlayerNameOpcodeCallBack(PreparedQueryResult result, std::string const& newName)
{
+ AntiDOS.AllowOpcode(CMSG_CHAR_ENUM, true);
if (!result)
{
WorldPacket data(SMSG_CHAR_RENAME, 1);
@@ -1422,6 +1423,8 @@ void WorldSession::HandleCharCustomize(WorldPacket& recvData)
stmt->setUInt32(0, GUID_LOPART(guid));
// TODO: Make async with callback
+ // TODO 2: Allow opcode at end of callback
+ AntiDOS.AllowOpcode(CMSG_CHAR_ENUM, true);
PreparedQueryResult result = CharacterDatabase.Query(stmt);
if (!result)
@@ -1675,6 +1678,8 @@ void WorldSession::HandleCharFactionOrRaceChange(WorldPacket& recvData)
uint8 playerClass = nameData->m_class;
uint8 level = nameData->m_level;
+ // TO Do: Make async and allow opcode on callback
+ AntiDOS.AllowOpcode(CMSG_CHAR_ENUM, true);
PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_SEL_CHAR_AT_LOGIN_TITLES);
stmt->setUInt32(0, lowGuid);
PreparedQueryResult result = CharacterDatabase.Query(stmt);