[7503] Implement proper (not 2 level limited) help.security set for chat commands and subcommands. Update some commands data. Author: VladimirMangos

* Now `command` table loading set data for any use subcommand levels
    * Errors output for not existed in code commands at related data loading from table.
    * Detail log level report outout about overwrited security level for loaded chat command data.

    Using this functionality found and fixed/update data for `command` in mangos.sql

    NOTE: some command security levels changed.

    Thank you to benemorius for pointing to this security problem.

--HG--
branch : trunk
This commit is contained in:
megamage
2009-03-21 14:21:19 -06:00
parent 1ae90f3e9f
commit 3fd85fa5cd
5 changed files with 121 additions and 63 deletions
+2 -1
View File
@@ -85,6 +85,7 @@ class ChatHandler
void SendGlobalSysMessage(const char *str);
void SendGlobalGMSysMessage(const char *str);
bool SetDataForCommandInTable(ChatCommand *table, const char* text, uint32 security, std::string const& help, std::string const& fullcommand );
bool ExecuteCommandInTable(ChatCommand *table, const char* text, const std::string& fullcommand);
bool ShowHelpForCommand(ChatCommand *table, const char* cmd);
bool ShowHelpForSubCommands(ChatCommand *table, char const* cmd, char const* subcmd);
@@ -368,7 +369,7 @@ class ChatHandler
bool HandleGoXYZCommand(const char* args);
bool HandleGoZoneXYCommand(const char* args);
bool HandleGoGridCommand(const char* args);
bool HandleAllowMovementCommand(const char* args);
bool HandleNpcAllowMovementCommand(const char* args);
bool HandleGoCommand(const char* args);
bool HandleCooldownCommand(const char* args);