From 88e1b344cbd11609dcd2a4a3845dd88d69a1e02b Mon Sep 17 00:00:00 2001 From: Aokromes Date: Sun, 9 Sep 2018 13:19:23 +0200 Subject: [PATCH] =?UTF-8?q?Core/RBAC:=20Simplification=20part=201.=20Nobod?= =?UTF-8?q?y=20needs=20different=20permissions=20=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …for each type of .go command. --- sql/base/auth_database.sql | 25 +++---------------- sql/updates/auth/3.3.5/2018_09_06_00_auth.sql | 3 +++ .../world/3.3.5/2018_09_06_00_world.sql | 2 ++ src/server/game/Accounts/RBAC.h | 20 +++++++-------- src/server/scripts/Commands/cs_go.cpp | 22 ++++++++-------- 5 files changed, 28 insertions(+), 44 deletions(-) create mode 100644 sql/updates/auth/3.3.5/2018_09_06_00_auth.sql create mode 100644 sql/updates/world/3.3.5/2018_09_06_00_world.sql diff --git a/sql/base/auth_database.sql b/sql/base/auth_database.sql index 10634fc978e..e563aa648eb 100644 --- a/sql/base/auth_database.sql +++ b/sql/base/auth_database.sql @@ -1036,7 +1036,6 @@ INSERT INTO `rbac_linked_permissions` VALUES (198,317), (198,318), (198,855), -(198,874), (198,367), (198,368), (198,369), @@ -1046,15 +1045,6 @@ INSERT INTO `rbac_linked_permissions` VALUES (198,374), (198,376), (198,377), -(198,378), -(198,379), -(198,380), -(198,381), -(198,382), -(198,383), -(198,384), -(198,385), -(198,386), (198,408), (198,409), (198,410), @@ -1395,15 +1385,6 @@ INSERT INTO `rbac_permissions` VALUES (375,'Command: gm list'), (376,'Command: gm visible'), (377,'Command: go'), -(378,'Command: go creature'), -(379,'Command: go graveyard'), -(380,'Command: go grid'), -(381,'Command: go object'), -(382,'Command: go taxinode'), -(383,'Command: go ticket'), -(384,'Command: go trigger'), -(385,'Command: go xyz'), -(386,'Command: go zonexy'), (387,'Command: gobject'), (388,'Command: gobject activate'), (389,'Command: gobject add'), @@ -1832,8 +1813,7 @@ INSERT INTO `rbac_permissions` VALUES (865,'Command: npc showloot'), (866,'Command: list spawnpoints'), (867,'Command: reload quest_greeting_locale'), -(872,'Command: server debug'), -(874,'Command: go instance'); +(872,'Command: server debug'); /*!40000 ALTER TABLE `rbac_permissions` ENABLE KEYS */; UNLOCK TABLES; @@ -1979,7 +1959,8 @@ INSERT INTO `updates` VALUES ('2018_08_15_00_auth.sql','22DC7AA7A1D2B04C62B2EEBFF4562DDDC412B456','ARCHIVED','2018-08-15 01:40:04',0), ('2018_08_16_00_auth.sql','FF00C2A63E8F1E43442C083F2682E100FB39AA5C','ARCHIVED','2018-08-16 01:40:04',0), ('2018_08_17_00_auth.sql','0C9921DCEF92D0C66524299A2F0B86EBB1B7020E','ARCHIVED','2018-08-17 01:40:04',0), -('2018_09_02_00_auth_from_335_was_2018_08_30_00_auth.sql','7E6ABD3FF59FC6CC82B227CE074E8E91DE4D1DB2','ARCHIVED','2018-08-17 01:40:04',0); +('2018_09_02_00_auth_from_335_was_2018_08_30_00_auth.sql','7E6ABD3FF59FC6CC82B227CE074E8E91DE4D1DB2','ARCHIVED','2018-08-17 01:40:04',0), +('2018_09_09_00_auth_from_335_was_2018_09_06_00_auth.sql','309D21E0DF82ED8921F77EAFDE741F38AC32BB13','ARCHIVED','2018-09-06 00:00:00',0); /*!40000 ALTER TABLE `updates` ENABLE KEYS */; UNLOCK TABLES; diff --git a/sql/updates/auth/3.3.5/2018_09_06_00_auth.sql b/sql/updates/auth/3.3.5/2018_09_06_00_auth.sql new file mode 100644 index 00000000000..5a9718edcfb --- /dev/null +++ b/sql/updates/auth/3.3.5/2018_09_06_00_auth.sql @@ -0,0 +1,3 @@ +-- rbac simplify +DELETE FROM `rbac_linked_permissions` WHERE `linkedid` IN (378,379,380,381,382,383,384,385,386,852,874); +DELETE FROM `rbac_permissions` WHERE `id` IN (378,379,380,381,382,383,384,385,386,852,874); diff --git a/sql/updates/world/3.3.5/2018_09_06_00_world.sql b/sql/updates/world/3.3.5/2018_09_06_00_world.sql new file mode 100644 index 00000000000..6986b42a7cd --- /dev/null +++ b/sql/updates/world/3.3.5/2018_09_06_00_world.sql @@ -0,0 +1,2 @@ +-- +UPDATE `command` SET `permission`=377 WHERE (`permission` BETWEEN 378 AND 386) OR `permission` IN (852,874); diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 01066b92dbd..e91ddb22705 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -283,15 +283,7 @@ enum RBACPermissions RBAC_PERM_COMMAND_GM_LIST = 375, RBAC_PERM_COMMAND_GM_VISIBLE = 376, RBAC_PERM_COMMAND_GO = 377, - RBAC_PERM_COMMAND_GO_CREATURE = 378, - RBAC_PERM_COMMAND_GO_GRAVEYARD = 379, - RBAC_PERM_COMMAND_GO_GRID = 380, - RBAC_PERM_COMMAND_GO_OBJECT = 381, - RBAC_PERM_COMMAND_GO_TAXINODE = 382, - RBAC_PERM_COMMAND_GO_TICKET = 383, - RBAC_PERM_COMMAND_GO_TRIGGER = 384, - RBAC_PERM_COMMAND_GO_XYZ = 385, - RBAC_PERM_COMMAND_GO_ZONEXY = 386, + // unused 378-386 RBAC_PERM_COMMAND_GOBJECT = 387, RBAC_PERM_COMMAND_GOBJECT_ACTIVATE = 388, RBAC_PERM_COMMAND_GOBJECT_ADD = 389, @@ -750,7 +742,14 @@ enum RBACPermissions RBAC_PERM_COMMAND_RELOAD_CHARACTER_TEMPLATE = 842, // not on 3.3.5a or 4.3.4 RBAC_PERM_COMMAND_RELOAD_QUEST_GREETING = 843, RBAC_PERM_COMMAND_DEBUG_SEND_PLAYSCENE = 844, // not on 3.3.5a or 4.3.4 - RBAC_PERM_COMMAND_GO_OFFSET = 845, + RBAC_PERM_COMMAND_SCENE_DEBUG = 845, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_SCENE_PLAY = 846, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_SCENE_PLAY_PACKAGE = 847, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_SCENE_CANCEL = 848, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_LIST_SCENES = 849, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_RELOAD_SCENE_TEMPLATE = 850, // not on 3.3.5a or 4.3.4 + RBAC_PERM_COMMAND_RELOAD_AREATRIGGER_TEMPLATE = 851, // not on 3.3.5a or 4.3.4 + // unused 852 RBAC_PERM_COMMAND_RELOAD_CONVERSATION_TEMPLATE = 853, // not on 3.3.5a or 4.3.4 RBAC_PERM_COMMAND_DEBUG_CONVERSATION = 854, // not on 3.3.5a or 4.3.4 RBAC_PERM_COMMAND_DEBUG_PLAY_MUSIC = 855, @@ -772,7 +771,6 @@ enum RBACPermissions RBAC_PERM_COMMAND_DEBUG_INSTANCESPAWN = 871, RBAC_PERM_COMMAND_SERVER_DEBUG = 872, RBAC_PERM_COMMAND_RELOAD_CREATURE_MOVEMENT_OVERRIDE = 873, - RBAC_PERM_COMMAND_GO_INSTANCE = 874, // // IF YOU ADD NEW PERMISSIONS, ADD THEM IN MASTER BRANCH AS WELL! // diff --git a/src/server/scripts/Commands/cs_go.cpp b/src/server/scripts/Commands/cs_go.cpp index b96dafb90f1..7194a1e0585 100644 --- a/src/server/scripts/Commands/cs_go.cpp +++ b/src/server/scripts/Commands/cs_go.cpp @@ -45,17 +45,17 @@ public: { static std::vector goCommandTable = { - { "creature", rbac::RBAC_PERM_COMMAND_GO_CREATURE, false, &HandleGoCreatureCommand, "" }, - { "graveyard", rbac::RBAC_PERM_COMMAND_GO_GRAVEYARD, false, &HandleGoGraveyardCommand, "" }, - { "grid", rbac::RBAC_PERM_COMMAND_GO_GRID, false, &HandleGoGridCommand, "" }, - { "object", rbac::RBAC_PERM_COMMAND_GO_OBJECT, false, &HandleGoObjectCommand, "" }, - { "taxinode", rbac::RBAC_PERM_COMMAND_GO_TAXINODE, false, &HandleGoTaxinodeCommand, "" }, - { "trigger", rbac::RBAC_PERM_COMMAND_GO_TRIGGER, false, &HandleGoTriggerCommand, "" }, - { "zonexy", rbac::RBAC_PERM_COMMAND_GO_ZONEXY, false, &HandleGoZoneXYCommand, "" }, - { "xyz", rbac::RBAC_PERM_COMMAND_GO_XYZ, false, &HandleGoXYZCommand, "" }, - { "ticket", rbac::RBAC_PERM_COMMAND_GO_TICKET, false, &HandleGoTicketCommand, "" }, - { "offset", rbac::RBAC_PERM_COMMAND_GO_OFFSET, false, &HandleGoOffsetCommand, "" }, - { "instance", rbac::RBAC_PERM_COMMAND_GO_INSTANCE, false, &HandleGoInstanceCommand, "" } + { "creature", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoCreatureCommand, "" }, + { "graveyard", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoGraveyardCommand, "" }, + { "grid", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoGridCommand, "" }, + { "object", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoObjectCommand, "" }, + { "taxinode", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoTaxinodeCommand, "" }, + { "trigger", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoTriggerCommand, "" }, + { "zonexy", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoZoneXYCommand, "" }, + { "xyz", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoXYZCommand, "" }, + { "ticket", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoTicketCommand, "" }, + { "offset", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoOffsetCommand, "" }, + { "instance", rbac::RBAC_PERM_COMMAND_GO, false, &HandleGoInstanceCommand, "" } }; static std::vector commandTable =