Core/RBAC: Move commands security to RBAC (using generic RBAC Permissions)
- Warning: This will break commands for any custom security level
This commit is contained in:
1 parent
e375c6075b
commit
3232b69ff3
41 files changed
+681
-691
No files matched your search
@@ -46,82 +46,82 @@ public:
|
||||
{
|
||||
static ChatCommand groupCommandTable[] =
|
||||
{
|
||||
{ "leader", SEC_ADMINISTRATOR, false, &HandleGroupLeaderCommand, "", NULL },
|
||||
{ "disband", SEC_ADMINISTRATOR, false, &HandleGroupDisbandCommand, "", NULL },
|
||||
{ "remove", SEC_ADMINISTRATOR, false, &HandleGroupRemoveCommand, "", NULL },
|
||||
{ "join", SEC_ADMINISTRATOR, false, &HandleGroupJoinCommand, "", NULL },
|
||||
{ "list", SEC_ADMINISTRATOR, false, &HandleGroupListCommand, "", NULL },
|
||||
{ "leader", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupLeaderCommand, "", NULL },
|
||||
{ "disband", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupDisbandCommand, "", NULL },
|
||||
{ "remove", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupRemoveCommand, "", NULL },
|
||||
{ "join", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupJoinCommand, "", NULL },
|
||||
{ "list", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGroupListCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand petCommandTable[] =
|
||||
{
|
||||
{ "create", SEC_GAMEMASTER, false, &HandleCreatePetCommand, "", NULL },
|
||||
{ "learn", SEC_GAMEMASTER, false, &HandlePetLearnCommand, "", NULL },
|
||||
{ "unlearn", SEC_GAMEMASTER, false, &HandlePetUnlearnCommand, "", NULL },
|
||||
{ "create", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleCreatePetCommand, "", NULL },
|
||||
{ "learn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetLearnCommand, "", NULL },
|
||||
{ "unlearn", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandlePetUnlearnCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand sendCommandTable[] =
|
||||
{
|
||||
{ "items", SEC_ADMINISTRATOR, true, &HandleSendItemsCommand, "", NULL },
|
||||
{ "mail", SEC_MODERATOR, true, &HandleSendMailCommand, "", NULL },
|
||||
{ "message", SEC_ADMINISTRATOR, true, &HandleSendMessageCommand, "", NULL },
|
||||
{ "money", SEC_ADMINISTRATOR, true, &HandleSendMoneyCommand, "", NULL },
|
||||
{ "items", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendItemsCommand, "", NULL },
|
||||
{ "mail", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSendMailCommand, "", NULL },
|
||||
{ "message", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMessageCommand, "", NULL },
|
||||
{ "money", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleSendMoneyCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
static ChatCommand commandTable[] =
|
||||
{
|
||||
{ "dev", SEC_ADMINISTRATOR, false, &HandleDevCommand, "", NULL },
|
||||
{ "gps", SEC_ADMINISTRATOR, false, &HandleGPSCommand, "", NULL },
|
||||
{ "aura", SEC_ADMINISTRATOR, false, &HandleAuraCommand, "", NULL },
|
||||
{ "unaura", SEC_ADMINISTRATOR, false, &HandleUnAuraCommand, "", NULL },
|
||||
{ "appear", SEC_MODERATOR, false, &HandleAppearCommand, "", NULL },
|
||||
{ "summon", SEC_MODERATOR, false, &HandleSummonCommand, "", NULL },
|
||||
{ "groupsummon", SEC_MODERATOR, false, &HandleGroupSummonCommand, "", NULL },
|
||||
{ "commands", SEC_PLAYER, true, &HandleCommandsCommand, "", NULL },
|
||||
{ "die", SEC_ADMINISTRATOR, false, &HandleDieCommand, "", NULL },
|
||||
{ "revive", SEC_ADMINISTRATOR, true, &HandleReviveCommand, "", NULL },
|
||||
{ "dismount", SEC_PLAYER, false, &HandleDismountCommand, "", NULL },
|
||||
{ "guid", SEC_GAMEMASTER, false, &HandleGUIDCommand, "", NULL },
|
||||
{ "help", SEC_PLAYER, true, &HandleHelpCommand, "", NULL },
|
||||
{ "itemmove", SEC_GAMEMASTER, false, &HandleItemMoveCommand, "", NULL },
|
||||
{ "cooldown", SEC_ADMINISTRATOR, false, &HandleCooldownCommand, "", NULL },
|
||||
{ "distance", SEC_ADMINISTRATOR, false, &HandleGetDistanceCommand, "", NULL },
|
||||
{ "recall", SEC_MODERATOR, false, &HandleRecallCommand, "", NULL },
|
||||
{ "save", SEC_PLAYER, false, &HandleSaveCommand, "", NULL },
|
||||
{ "saveall", SEC_MODERATOR, true, &HandleSaveAllCommand, "", NULL },
|
||||
{ "kick", SEC_GAMEMASTER, true, &HandleKickPlayerCommand, "", NULL },
|
||||
{ "unstuck", SEC_PLAYER, true, &HandleUnstuckCommand, "", NULL },
|
||||
{ "linkgrave", SEC_ADMINISTRATOR, false, &HandleLinkGraveCommand, "", NULL },
|
||||
{ "neargrave", SEC_ADMINISTRATOR, false, &HandleNearGraveCommand, "", NULL },
|
||||
{ "showarea", SEC_ADMINISTRATOR, false, &HandleShowAreaCommand, "", NULL },
|
||||
{ "hidearea", SEC_ADMINISTRATOR, false, &HandleHideAreaCommand, "", NULL },
|
||||
{ "additem", SEC_ADMINISTRATOR, false, &HandleAddItemCommand, "", NULL },
|
||||
{ "additemset", SEC_ADMINISTRATOR, false, &HandleAddItemSetCommand, "", NULL },
|
||||
{ "bank", SEC_ADMINISTRATOR, false, &HandleBankCommand, "", NULL },
|
||||
{ "wchange", SEC_ADMINISTRATOR, false, &HandleChangeWeather, "", NULL },
|
||||
{ "maxskill", SEC_ADMINISTRATOR, false, &HandleMaxSkillCommand, "", NULL },
|
||||
{ "setskill", SEC_ADMINISTRATOR, false, &HandleSetSkillCommand, "", NULL },
|
||||
{ "pinfo", SEC_GAMEMASTER, true, &HandlePInfoCommand, "", NULL },
|
||||
{ "respawn", SEC_ADMINISTRATOR, false, &HandleRespawnCommand, "", NULL },
|
||||
{ "send", SEC_MODERATOR, true, NULL, "", sendCommandTable },
|
||||
{ "pet", SEC_GAMEMASTER, false, NULL, "", petCommandTable },
|
||||
{ "mute", SEC_MODERATOR, true, &HandleMuteCommand, "", NULL },
|
||||
{ "unmute", SEC_MODERATOR, true, &HandleUnmuteCommand, "", NULL },
|
||||
{ "movegens", SEC_ADMINISTRATOR, false, &HandleMovegensCommand, "", NULL },
|
||||
{ "cometome", SEC_ADMINISTRATOR, false, &HandleComeToMeCommand, "", NULL },
|
||||
{ "damage", SEC_ADMINISTRATOR, false, &HandleDamageCommand, "", NULL },
|
||||
{ "combatstop", SEC_GAMEMASTER, true, &HandleCombatStopCommand, "", NULL },
|
||||
{ "flusharenapoints", SEC_ADMINISTRATOR, false, &HandleFlushArenaPointsCommand, "", NULL },
|
||||
{ "repairitems", SEC_GAMEMASTER, true, &HandleRepairitemsCommand, "", NULL },
|
||||
{ "freeze", SEC_MODERATOR, false, &HandleFreezeCommand, "", NULL },
|
||||
{ "unfreeze", SEC_MODERATOR, false, &HandleUnFreezeCommand, "", NULL },
|
||||
{ "listfreeze", SEC_MODERATOR, false, &HandleListFreezeCommand, "", NULL },
|
||||
{ "group", SEC_ADMINISTRATOR, false, NULL, "", groupCommandTable },
|
||||
{ "possess", SEC_ADMINISTRATOR, false, HandlePossessCommand, "", NULL },
|
||||
{ "unpossess", SEC_ADMINISTRATOR, false, HandleUnPossessCommand, "", NULL },
|
||||
{ "bindsight", SEC_ADMINISTRATOR, false, HandleBindSightCommand, "", NULL },
|
||||
{ "unbindsight", SEC_ADMINISTRATOR, false, HandleUnbindSightCommand, "", NULL },
|
||||
{ "playall", SEC_GAMEMASTER, false, HandlePlayAllCommand, "", NULL },
|
||||
{ "dev", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDevCommand, "", NULL },
|
||||
{ "gps", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGPSCommand, "", NULL },
|
||||
{ "aura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAuraCommand, "", NULL },
|
||||
{ "unaura", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleUnAuraCommand, "", NULL },
|
||||
{ "appear", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleAppearCommand, "", NULL },
|
||||
{ "summon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleSummonCommand, "", NULL },
|
||||
{ "groupsummon", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleGroupSummonCommand, "", NULL },
|
||||
{ "commands", RBAC_PERM_PLAYER_COMMANDS, true, &HandleCommandsCommand, "", NULL },
|
||||
{ "die", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDieCommand, "", NULL },
|
||||
{ "revive", RBAC_PERM_ADMINISTRATOR_COMMANDS, true, &HandleReviveCommand, "", NULL },
|
||||
{ "dismount", RBAC_PERM_PLAYER_COMMANDS, false, &HandleDismountCommand, "", NULL },
|
||||
{ "guid", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleGUIDCommand, "", NULL },
|
||||
{ "help", RBAC_PERM_PLAYER_COMMANDS, true, &HandleHelpCommand, "", NULL },
|
||||
{ "itemmove", RBAC_PERM_GAMEMASTER_COMMANDS, false, &HandleItemMoveCommand, "", NULL },
|
||||
{ "cooldown", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleCooldownCommand, "", NULL },
|
||||
{ "distance", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleGetDistanceCommand, "", NULL },
|
||||
{ "recall", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleRecallCommand, "", NULL },
|
||||
{ "save", RBAC_PERM_PLAYER_COMMANDS, false, &HandleSaveCommand, "", NULL },
|
||||
{ "saveall", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleSaveAllCommand, "", NULL },
|
||||
{ "kick", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleKickPlayerCommand, "", NULL },
|
||||
{ "unstuck", RBAC_PERM_PLAYER_COMMANDS, true, &HandleUnstuckCommand, "", NULL },
|
||||
{ "linkgrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleLinkGraveCommand, "", NULL },
|
||||
{ "neargrave", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleNearGraveCommand, "", NULL },
|
||||
{ "showarea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleShowAreaCommand, "", NULL },
|
||||
{ "hidearea", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleHideAreaCommand, "", NULL },
|
||||
{ "additem", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemCommand, "", NULL },
|
||||
{ "additemset", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleAddItemSetCommand, "", NULL },
|
||||
{ "bank", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBankCommand, "", NULL },
|
||||
{ "wchange", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleChangeWeather, "", NULL },
|
||||
{ "maxskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMaxSkillCommand, "", NULL },
|
||||
{ "setskill", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleSetSkillCommand, "", NULL },
|
||||
{ "pinfo", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandlePInfoCommand, "", NULL },
|
||||
{ "respawn", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleRespawnCommand, "", NULL },
|
||||
{ "send", RBAC_PERM_MODERATOR_COMMANDS, true, NULL, "", sendCommandTable },
|
||||
{ "pet", RBAC_PERM_GAMEMASTER_COMMANDS, false, NULL, "", petCommandTable },
|
||||
{ "mute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleMuteCommand, "", NULL },
|
||||
{ "unmute", RBAC_PERM_MODERATOR_COMMANDS, true, &HandleUnmuteCommand, "", NULL },
|
||||
{ "movegens", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleMovegensCommand, "", NULL },
|
||||
{ "cometome", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleComeToMeCommand, "", NULL },
|
||||
{ "damage", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleDamageCommand, "", NULL },
|
||||
{ "combatstop", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleCombatStopCommand, "", NULL },
|
||||
{ "flusharenapoints", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleFlushArenaPointsCommand, "", NULL },
|
||||
{ "repairitems", RBAC_PERM_GAMEMASTER_COMMANDS, true, &HandleRepairitemsCommand, "", NULL },
|
||||
{ "freeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleFreezeCommand, "", NULL },
|
||||
{ "unfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleUnFreezeCommand, "", NULL },
|
||||
{ "listfreeze", RBAC_PERM_MODERATOR_COMMANDS, false, &HandleListFreezeCommand, "", NULL },
|
||||
{ "group", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", groupCommandTable },
|
||||
{ "possess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandlePossessCommand, "", NULL },
|
||||
{ "unpossess", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnPossessCommand, "", NULL },
|
||||
{ "bindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleBindSightCommand, "", NULL },
|
||||
{ "unbindsight", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, HandleUnbindSightCommand, "", NULL },
|
||||
{ "playall", RBAC_PERM_GAMEMASTER_COMMANDS, false, HandlePlayAllCommand, "", NULL },
|
||||
{ NULL, 0, false, NULL, "", NULL }
|
||||
};
|
||||
return commandTable;
|
||||
|
||||
Reference in new issue
Block a user