Commit Graph
100 Commits
Author SHA1 Message Date
Spp 0004d2e9cf Fix SQL typos after RBAC commits 2013-09-02 15:11:28 +02:00
Spp f3487aa0e1 Compile Fix (and edit of last 2 sqls to add the missing permissions) 2013-09-02 13:19:59 +02:00
Spp f68471f142 Core/RBAC: Move message commands to RBAC (using individual permissions) 2013-09-02 13:01:50 +02:00
Spp 2d508387e5 Core/Commands: Move lookup commands to RBAC (using individual permissions) 2013-09-02 12:54:51 +02:00
Spp eb73684952 Core/RBAC: Move list commands to RBAC (using individual permissions) 2013-09-02 12:25:32 +02:00
Spp 4219f45c85 Core/RBAC: Move lfg commands to RBAC (using individual permissions) 2013-09-02 12:17:46 +02:00
Spp c0dfdeab1c Core/RBAC: Move learn commands to RBAC (using individual permissions) 2013-09-02 12:12:20 +02:00
Spp 2625e78f80 Core/RBAC: Move instance commands to RBAC (using individual permissions) 2013-09-02 11:58:14 +02:00
Spp 08ef6bd9f8 Core/RBAC: Move honor commands to RBAC (using individual permissions) 2013-09-02 11:53:22 +02:00
Spp 11233dbd73 Core/RBAC: Move guild commands to RBAC (using individual permissions) 2013-09-02 11:45:36 +02:00
Spp 015eee068b Core/RBAC: Move gobject commands to RBAC (using individual permissions) 2013-09-02 11:38:41 +02:00
Spp 29c57c3447 Core/RBAC: Move go commands to RBAC (using individual permissions) 2013-09-02 11:33:45 +02:00
Spp 1bccf67c09 Core/RBAC: Move gm commands to RBAC (using individual permissions) 2013-09-02 11:24:09 +02:00
Spp fced8a896e Core/RBAC: Move event commands to RBAC (using individual permissions) 2013-09-02 11:20:05 +02:00
Spp 225691e0ae Core/RBAC: Move disable commands to RBAC (using individual permissions) 2013-09-02 11:17:15 +02:00
Spp cf9d01a0f3 Normalize sql file names from 722a6c1 2013-09-02 10:03:19 +02:00
Spp 3e45640135 Core/RBAC: Move deserter commands to RBAC (using individual permissions) 2013-09-02 10:01:34 +02:00
Spp f53c61c93e Core/RBAC: Move debug commands to RBAC (using individual permissions) 2013-09-02 10:01:34 +02:00
Spp 33d9da5060 Core/RBAC: Move cheat commands to RBAC (using individual permissions) 2013-09-02 10:01:34 +02:00
Spp 9bea4fc451 Core/RBAC: Move ban commands to RBAC (using individual permissions) 2013-08-30 16:26:52 +02:00
Spp 2b69f83823 Core/RBAC: Move Achievements and Arena commands to RBAC (using individual permissions) 2013-08-30 16:14:00 +02:00
Spp 109188a203 Core/RBAC: Move account commands to RBAC (using individual permissions) 2013-08-30 15:53:29 +02:00
Spp 17e8248070 Correct RBAC command names in DB 2013-08-30 15:23:47 +02:00
Spp e0d334bc81 Corrections to ea26928 sql files 2013-08-30 15:17:16 +02:00
Spp ea26928a99 Core/RBAC: Move RBAC commands to RBAC using individual permissions
- Use this commit as a sample on how to move commands to RBAC
2013-08-30 14:52:53 +02:00
Spp 3232b69ff3 Core/RBAC: Move commands security to RBAC (using generic RBAC Permissions)
- Warning: This will break commands for any custom security level
2013-08-30 13:57:09 +02:00
Spp 3e2e210890 Core/Build: Force minimum ACE (5.8.3) and OpenSSL (1.0.0) version detection
Core/Build: Do not ignore command line cmake options: ACE_INCLUDE_DIR, ACE_LIBRARY and OPENSSL_INCLUDE_DIR
2013-08-28 15:44:06 +02:00
Spp 33f8c3ead4 Core/Battleground: Get rid of dinamic casts BattlegroundXX outside Battleground scope by implementing generic functions (2/2)
- CheckAchievementCriteriaMeet
2013-08-07 11:13:53 +02:00
Spp b05665660a Core/Battleground: Get rid of dinamic casts BattlegroundXX outside Battleground scope by implementing generic functions (1/2)
- HandleQuestComplete, CanActivateGO and IsSpellAllowed
2013-08-07 10:31:13 +02:00
Spp f245124127 Core/Misc: Avoid heap allocation when performing some RBAC checks 2013-08-07 08:42:53 +02:00
Spp d58a037512 Build: Set _BUILD_DIRECTIVE even if the compiler is not properly detected 2013-06-27 10:47:30 +02:00
Spp a54244fb2d Fix compile 2013-06-12 14:16:51 +02:00
Spp 9664c0ab5c Core/Misc: Another batch of fixes for issues found by static analysis 2013-05-30 13:18:29 +02:00
Spp 782ea4309a Core/Misc: Fix invalid pointer use after being deleted 2013-05-30 13:18:29 +02:00
Spp 7ccbbdddd8 Core/Collision: Fix memory leak 2013-05-30 13:18:29 +02:00
Spp 00c1168897 Core/Misc: Remove trailing whitespace, compile warnings and minor cosmetic changes 2013-05-21 08:37:28 +02:00
Spp d3c2af0f66 Core/Build: Fix compile under Ubuntu 13.04 and openSUSE 12.3 (and probably other new distros)
Closes #9832
Closes #9740
2013-05-21 08:36:52 +02:00
Spp d1677b2db0 Core/Logging: Performance-related tweaks to logging system
All sLog->out* functions (except outCommand atm) are replaced with TC_LOG_* macros.
    Memleak fix
2013-05-13 15:07:36 +02:00
Spp 243c325ca4 Core: Declare some functions const and remove use of "using" directive in a couple of files 2013-05-13 15:04:05 +02:00
Spp d7d62e4248 Core: Fix compile with WITH_COREDEBUG option enabled 2013-03-26 19:34:49 +01:00
Spp 51287930cb Core/Build: All include directories are quoted to support path with spaces
Closes #9504
2013-03-26 13:45:47 +01:00
Spp 3c6c8c1117 Core/Misc: Remove the use of logging system from WPFatal (Fixes tools compile)
Closes #9501
2013-03-26 09:44:01 +01:00
Spp d03da1320a typo fix after 1a6a23e 2013-03-25 14:36:04 +01:00
Spp 1a6a23ec96 Core/Misc: Minor optimizations (+code changes to reduce differences with 4.3.4 branch)
Core/Logging: Create new logger type "Cheat". Will be used to log all cheat attempts
2013-03-25 13:26:48 +01:00
Spp 7c36e3a298 Core/Misc: Minor optimizations (+ code changes to reduce differences with 4.3.4 branch) 2013-03-25 10:36:30 +01:00
Spp 4429830ed7 Core: More functions moved to const 2013-03-21 15:13:51 +01:00
Spp 1496e4df84 Core/Pets: Remove unnecesary member variable (m_owner) 2013-03-21 15:00:43 +01:00
Spp 156fb824a4 Core/Scripts: Removed CAST_CRE define 2013-03-21 13:48:36 +01:00
Spp 355029fb4f Core/Scripts: Removed CAST_PLR define 2013-03-21 13:07:10 +01:00
Spp d091097433 Core/AI: Do not expose internal storage of SummonList 2013-03-21 11:06:05 +01:00
Spp 69e81d46b1 Core/Misc: Define multiple functions const (+ code cleanup here and there) 2013-03-20 14:20:17 +01:00
Spp af200bfaa5 Core/Account: Remove unused helper functions 2013-03-20 14:20:17 +01:00
Spp b4ee55dd05 Core/Misc: Do not use singleton when calling to static function ChooseDisplayId (and remove unused parameter) 2013-03-20 14:20:17 +01:00
Spp 44ea9cbb25 Core/RBAC: Fix players not being able to reply GMs from the other faction (Partial revert of 377cfdb) 2013-03-11 10:52:43 +01:00
Spp 524a10d628 Typo fix... ¬¬ 2013-03-08 14:05:51 +01:00
Spp 987826bc0d Core/RBAC: Change default db permissions to behave like a server with default config before RBAC conversion
(Missing change from previous commit)

To enable any of the removed config option you should now add the proper role to the proper groups
IE:
AllowTwoSide.Interaction.Mail = 1 --> Add role 19 to group 1 (Add it to players)
2013-03-08 13:58:15 +01:00
Spp 377cfdb560 Core/RBAC: Fix multiple permissions and remove multiple config options that are currently implementes by RBAC
- Remove config options: CONFIG_ALLOW_TWO_SIDE_INTERACTION_CHAT, CONFIG_ALLOW_TWO_SIDE_INTERACTION_MAIL, CONFIG_GM_LOG_TRADE, CONFIG_ALLOW_TWO_SIDE_ACCOUNTS, CONFIG_ALLOW_TWO_SIDE_WHO_LIST, CONFIG_ALLOW_GM_FRIEND, CONFIG_ALLOW_TWO_SIDE_ADD_FRIEND, CONFIG_SILENTLY_GM_JOIN_TO_CHANNEL
- Fix RBAC_PERM_SKIP_CHECK_CHAT_SPAM (Was checking spam for those that had the permission)
- Only check RBAC_PERM_TWO_SIDE_INTERACTION_CHAT for sender of whispers (Restores GM being able to whisper players)
- Only check RBAC_PERM_TWO_SIDE_INTERACTION_MAIL for sender
- Fix .ticket assign <Player>, with last RBAC change it was changed by mistake from Player to Account
2013-03-08 13:15:25 +01:00
Spp 480c6cf4dd Core/RBAC: Add .reload rbac command and prevent possible crash if rbac_permissions has wrong data 2013-02-27 03:30:53 +01:00
Spp 2a0c3a0b78 sql typo fixes 2013-02-26 23:20:52 +01:00
Spp 00c58f25d7 Core/RBAC: Force loadPermissions before checking session permissions if the storage is null (someone created a session but forgot to call to LoadPermissions) 2013-02-26 22:35:55 +01:00
Spp 2286de02f8 Core/RBAC: Correction to last sqls and update base/auth_database.sql 2013-02-26 15:25:46 +01:00
Spp ffdf54b082 Core/RBAC: Remove couple of harcoded checks for GM level and use Permission 'Log gm trade' 2013-02-25 15:59:16 +01:00
Spp d47b95cc0a Missing change related to permission 'Change channel settings' 2013-02-25 15:51:48 +01:00
Spp 0c2402df95 Core/RBAC: Create new permissions 'See two side who list', 'Add friends of other faction', 'See all levels with who command' and 'Allows to add a gm to friend list' 2013-02-25 15:48:19 +01:00
Spp fb9893a190 Add missing change related to permission 'Two side interaction channel' 2013-02-25 15:48:19 +01:00
Spp 019770dddb Core/RBAC: Create new permissions related to character creation
- 'Skips character creation team mask check'
- 'Skips character creation class mask check'
- 'Skips character creation race mask check'
- 'Skips character creation reserved name check'
- 'Skips character creation heroic min level check'
- 'Creation of two side faction characters in same account' (Affected by global config option)
2013-02-25 15:48:19 +01:00
Spp f67330e2ad Core/RBAC: Create new permissions 'Allow channel chat between factions', 'Join channels without announce' (both need config option enabled and permission set) and 'Change channel settings without being channel moderator' 2013-02-25 15:48:18 +01:00
Spp 18562a43ba Core/RBAC: Create new permissions 'Skips needed requirements to use channel check', 'Filter whispers', 'Allow say chat between factions'. Last one needs config option to be enabled and both sender and receiver to have the permission 2013-02-25 15:48:18 +01:00
Spp 9bd697066b Core/RBAC: Add new permissions 'Skip disable map check', 'Skip reset talents when used more than allowed check', 'Skip spam chat check', 'Restore saved gm setting states', 'Use Config option START_GM_LEVEL to assign new character level' 2013-02-25 15:48:18 +01:00
Spp fc78c48495 Core/RBAC: Create new permissions 'Notify if a command was not found' and 'Enables lower security than target check' 2013-02-25 15:48:18 +01:00
Spp d14cb26e6e Core/RBAC: Create new permission 'Two side mail interaction'. In order to send/receive mails from other faction, config option should be enabled and both sender and receiver should have the permission 2013-02-25 15:48:18 +01:00
Spp ea2e6052b2 Core/RBAC: Create new permissions 'Allow to use CMSG_WORLD_TELEPORT opcode' and 'Allow to use CMSG_WHOIS opcode' 2013-02-25 15:48:18 +01:00
Spp e99dd15915 Core/RBAC: Create new permission 'Skip over-speed ping check' 2013-02-25 15:48:18 +01:00
Spp 54f7cc326f Core/RBAC: Create new permission 'Receive global GM messages/texts' 2013-02-25 15:48:18 +01:00
Spp 367d3ccc4f Core/RBAC: Create new permissions 'Use staff badge in chat' and 'Check if should appear in .gm ingame command' 2013-02-25 15:48:18 +01:00
Spp 8e3944bd94 Corrections to recent sqls 2013-02-25 15:48:18 +01:00
Spp cb0456fedc Core/RBAC: Create new permissions 'Instant .save', 'Allow params with .unstuck', 'Full HP after resurrect' 2013-02-25 15:48:18 +01:00
Spp e6087b5563 Core/RBAC: Create new permission 'Be assigned ticket' 2013-02-25 15:48:18 +01:00
Spp 1638092f18 Core/RBAC: Create 'Skip instance required bosses check' permission 2013-02-25 15:48:18 +01:00
Spp 8810fcb575 Core/RBAC: Add new Permission "Log gm trade". Config option still active, but will affect only to users with that permission granted 2013-02-25 15:48:18 +01:00
Spp 15343d9bb0 Core/RBAC: Remove unnecessary header includes from other header files 2013-02-25 15:48:17 +01:00
Spp 49b609d2e4 Core/Calendar: Fix mem leak and minor cosmetic changes 2013-02-23 19:18:09 +01:00
Spp 22353a012f Core/RBAC: Fix mem leak 2013-02-23 19:18:09 +01:00
Spp 7d3fa71a03 Core/Misc: Remove devel log msg that shouldn't have been commited 2013-02-21 01:16:22 +01:00
Spp fd882a4e61 Core/Logging: Fix mem leak. Thanks to @Sar777 for the report 2013-02-21 01:10:58 +01:00
Spp 4fc7fcae33 Core/RBAC: Add config option to set comma separated list of groups to add by default
- Allows to reduce the rows in rbac_account_groups
2013-02-18 14:49:59 +01:00
Spp dd0658e675 Warning fix 2013-02-05 11:12:00 +01:00
Spp fedc26a115 Typo fix 2013-02-05 09:26:52 +01:00
Spp f210ab0d47 Core/RBAC: Allow custom security levels for commands. (Before this change any command with seclevel > 3 had the same permissions than player commands)
Note: This is still a workaround till command system is moved to RBAC
2013-02-05 09:11:56 +01:00
Spp fb7a544d84 Correction to previous commit (Use proper way to delete from spell_script_names) 2013-02-04 17:04:40 +01:00
Spp 61979f8591 Scripts/Player: Add OnMapChanged to PlayerScripts (after map changed)
Core/Dungeon Finder: Use OnMapChanged script to cast/remove Luck of the draw
- Also move code to force party update to LfgPlayerScript
- Remove some obsolete Lfg code after recent commits
2013-02-04 16:52:43 +01:00
Spp 67f686106d Fix compile without PCH 2013-02-04 10:10:15 +01:00
Spp 683de1d624 Core/RBAC: Add SQL to remove bad data from account_access, otherwise other sqls will fail due to use of FOREIGN KEYS
- Also add missing files from previous commit
2013-02-04 09:39:01 +01:00
Spp b980aff83e Core: Implement Role based Access Control
- This system will give more control of actions an account can perform.

System defines:
- Permissions to perform some action
- Roles: a set of permissions that have some relation
- Groups: a set of roles that have some relation

Operations:
- Grant: Assign and allow
- Deny: Assign and do not allow
- Revoke: Remove

Precedence to know if something can be done: Grant, Deny. That means, if you are granted some action by a role but you have denied the permission, the action can not be done.

Some Rules:
- Groups can only have roles
- Roles can only have permissions
- An account can be assigned granted and denied roles. Permissions inherited from roles are granted if roles is granted and denied if roles is denied
- An account can be assigned granted and denied permissions
- An account can have multiple groups, roles and permissions
- An account can not have same role granted and denied at same time
- An acconnt can not have same permission granted and denied at same time
- Id 0 can not be used to define a group, role or permission

Added some permissions as a sample of use (Instant Logout, Skip Queue, Join BGs, Join DF) and some permissions as a workaround to commands till command system is modified to use RBAC
2013-02-04 09:04:33 +01:00
Spp ec5d16db8a Core/Dungeon Finder: Declare some functions private as those are not used outside LFGMgr. Also do not expose LFGDungeonData outside LFGMgr 2013-02-04 06:43:03 +01:00
Spp f743424f63 Core/Dungeon Finder: Corrections to previous commit
- player::inRandomLfgDungeon was supposed to return if current player map and difficulty are the ones player applied for
2013-02-04 05:50:52 +01:00
Spp 9bdfc87774 Core/Dungeon Finder: Use lfg namespace to encapsulate all LFG classes, structs and enums 2013-02-04 04:43:50 +01:00
Spp f753c989f2 Core/Dungeon Finder: Simplify Spell Luck of the draw code
Core/Dungeon Finder: Partial recode of "group list" using existing Lfg functions
2013-02-04 04:43:49 +01:00
Jorge 0920ee126a Merge pull request #9128 from m7nu3l/patch-1
Core/AI: Removed needless code
2013-02-02 21:03:52 -08:00
Spp 67d46ae1ae Scripts/Commands: Show correct guild Rank when using .pinfo command
(Corrections to 1b551cc1)
2013-01-31 09:18:42 +01:00