From 22b71244a0e9caccf7d9ab9ed770f27f6486d904 Mon Sep 17 00:00:00 2001 From: Vincent-Michael Date: Sat, 31 Aug 2013 19:33:14 +0200 Subject: DB/Creature: Fix cords for quest "Death Comes From On High" --- src/server/game/Scripting/ScriptLoader.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/server/game') diff --git a/src/server/game/Scripting/ScriptLoader.cpp b/src/server/game/Scripting/ScriptLoader.cpp index 426d83ef837..3456041ddb2 100644 --- a/src/server/game/Scripting/ScriptLoader.cpp +++ b/src/server/game/Scripting/ScriptLoader.cpp @@ -654,6 +654,7 @@ void AddSC_event_childrens_week(); // Pets void AddSC_deathknight_pet_scripts(); +void AddSC_generic_pet_scripts(); void AddSC_hunter_pet_scripts(); void AddSC_mage_pet_scripts(); void AddSC_priest_pet_scripts(); @@ -1359,6 +1360,7 @@ void AddPetScripts() { #ifdef SCRIPTS AddSC_deathknight_pet_scripts(); + AddSC_generic_pet_scripts(); AddSC_hunter_pet_scripts(); AddSC_mage_pet_scripts(); AddSC_priest_pet_scripts(); -- cgit v1.2.3 From e6761ea2aa7897eda7dafa0b11f17c26eb60e334 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sat, 31 Aug 2013 18:56:58 +0100 Subject: Core/NetworkIO: Fix memory leak Packet headers not being correctly deallocated. --- src/server/game/Server/WorldSocket.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/server/game') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 625ebff8471..27bb17962ce 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -512,6 +512,7 @@ int WorldSocket::handle_input_payload (void) m_RecvPct.base (NULL, 0); m_RecvPct.reset(); + delete m_RecvWPct; m_RecvWPct = NULL; m_Header.reset(); -- cgit v1.2.3 From 16fcac19912122b134cc9b953b1de0741e3347d6 Mon Sep 17 00:00:00 2001 From: Nay Date: Sat, 31 Aug 2013 21:02:14 +0100 Subject: Core/RBAC: Move bf commands to RBAC (using individual permissions) --- sql/updates/auth/2013_08_30_04_auth_misc.sql | 24 +++++++++++++++++++++++ sql/updates/world/2013_08_31_08_world_command.sql | 12 ++++++++++++ src/server/game/Accounts/RBAC.h | 6 ++++++ src/server/scripts/Commands/cs_bf.cpp | 16 +++++++-------- 4 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 sql/updates/auth/2013_08_30_04_auth_misc.sql create mode 100644 sql/updates/world/2013_08_31_08_world_command.sql (limited to 'src/server/game') diff --git a/sql/updates/auth/2013_08_30_04_auth_misc.sql b/sql/updates/auth/2013_08_30_04_auth_misc.sql new file mode 100644 index 00000000000..422f0f38c50 --- /dev/null +++ b/sql/updates/auth/2013_08_30_04_auth_misc.sql @@ -0,0 +1,24 @@ +/* cs_bf.cpp */ + +SET @id = 257; + +-- Add new permissions +DELETE FROM `rbac_permissions` WHERE `id` BETWEEN @id AND @id+5; +INSERT INTO `rbac_permissions` (`id`, `name`) VALUES +(@id+0, 'bf'), +(@id+1, 'bf start'), +(@id+2, 'bf stop'), +(@id+3, 'bf switch'), +(@id+4, 'bf timer'), +(@id+5, 'bf enabled'); + +-- Add permissions to "corresponding Commands Role" +DELETE FROM `rbac_role_permissions` WHERE `permissionId` BETWEEN @id AND @id+5; +INSERT INTO `rbac_role_permissions` (`roleId`, `permissionId`) VALUES +(4, @id+0), +(4, @id+1), +(4, @id+2), +(4, @id+3), +(4, @id+4), +(4, @id+5); + diff --git a/sql/updates/world/2013_08_31_08_world_command.sql b/sql/updates/world/2013_08_31_08_world_command.sql new file mode 100644 index 00000000000..c48180f36b5 --- /dev/null +++ b/sql/updates/world/2013_08_31_08_world_command.sql @@ -0,0 +1,12 @@ +/* cs_bf.cpp */ + +SET @id = 257; + +-- Update command table with new RBAC permissions +UPDATE `command` SET `permission` = @id+0 WHERE `name` = 'bf'; +UPDATE `command` SET `permission` = @id+1 WHERE `name` = 'bf start'; +UPDATE `command` SET `permission` = @id+2 WHERE `name` = 'bf stop'; +UPDATE `command` SET `permission` = @id+3 WHERE `name` = 'bf switch'; +UPDATE `command` SET `permission` = @id+4 WHERE `name` = 'bf timer'; +UPDATE `command` SET `permission` = @id+5 WHERE `name` = 'bf enabled'; + diff --git a/src/server/game/Accounts/RBAC.h b/src/server/game/Accounts/RBAC.h index 55f8527a125..be4356f6b54 100644 --- a/src/server/game/Accounts/RBAC.h +++ b/src/server/game/Accounts/RBAC.h @@ -154,6 +154,12 @@ enum RBACPermissions RBAC_PERM_COMMAND_UNBAN_CHARACTER = 254, RBAC_PERM_COMMAND_UNBAN_IP = 255, RBAC_PERM_COMMAND_UNBAN_PLAYERACCOUNT = 256, + RBAC_PERM_COMMAND_BF = 257, + RBAC_PERM_COMMAND_BF_START = 258, + RBAC_PERM_COMMAND_BF_STOP = 259, + RBAC_PERM_COMMAND_BF_SWITCH = 260, + RBAC_PERM_COMMAND_BF_TIMER = 261, + RBAC_PERM_COMMAND_BF_ENABLE = 262, // custom permissions 1000+ RBAC_PERM_MAX diff --git a/src/server/scripts/Commands/cs_bf.cpp b/src/server/scripts/Commands/cs_bf.cpp index 5ab94062a85..0b239219ddd 100644 --- a/src/server/scripts/Commands/cs_bf.cpp +++ b/src/server/scripts/Commands/cs_bf.cpp @@ -35,17 +35,17 @@ public: { static ChatCommand battlefieldcommandTable[] = { - { "start", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldStart, "", NULL }, - { "stop", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldEnd, "", NULL }, - { "switch", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldSwitch, "", NULL }, - { "timer", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldTimer, "", NULL }, - { "enable", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, &HandleBattlefieldEnable, "", NULL }, - { NULL, 0, false, NULL, "", NULL } + { "start", RBAC_PERM_COMMAND_BF_START, false, &HandleBattlefieldStart, "", NULL }, + { "stop", RBAC_PERM_COMMAND_BF_STOP, false, &HandleBattlefieldEnd, "", NULL }, + { "switch", RBAC_PERM_COMMAND_BF_SWITCH, false, &HandleBattlefieldSwitch, "", NULL }, + { "timer", RBAC_PERM_COMMAND_BF_TIMER, false, &HandleBattlefieldTimer, "", NULL }, + { "enable", RBAC_PERM_COMMAND_BF_ENABLE, false, &HandleBattlefieldEnable, "", NULL }, + { NULL, 0, false, NULL, "", NULL } }; static ChatCommand commandTable[] = { - { "bf", RBAC_PERM_ADMINISTRATOR_COMMANDS, false, NULL, "", battlefieldcommandTable }, - { NULL, 0, false, NULL, "", NULL } + { "bf", RBAC_PERM_COMMAND_BF, false, NULL, "", battlefieldcommandTable }, + { NULL, 0, false, NULL, "", NULL } }; return commandTable; } -- cgit v1.2.3 From eab035eca6a30fadb30a7517e929f571a85e1e75 Mon Sep 17 00:00:00 2001 From: Machiavelli Date: Sat, 31 Aug 2013 21:25:53 +0100 Subject: Revert e6761ea2aa7897eda7dafa0b11f17c26eb60e334 --- src/server/game/Server/WorldSocket.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src/server/game') diff --git a/src/server/game/Server/WorldSocket.cpp b/src/server/game/Server/WorldSocket.cpp index 27bb17962ce..625ebff8471 100644 --- a/src/server/game/Server/WorldSocket.cpp +++ b/src/server/game/Server/WorldSocket.cpp @@ -512,7 +512,6 @@ int WorldSocket::handle_input_payload (void) m_RecvPct.base (NULL, 0); m_RecvPct.reset(); - delete m_RecvWPct; m_RecvWPct = NULL; m_Header.reset(); -- cgit v1.2.3