diff options
author | ElgarL <ElgarL@palmergames.com> | 2012-01-27 12:38:00 +0000 |
---|---|---|
committer | ElgarL <ElgarL@palmergames.com> | 2012-01-27 12:38:00 +0000 |
commit | 25806e7fa8f6d1852624f57ec40ed88b46fc36e6 (patch) | |
tree | cc9c80fcde3a478cba20c5c390af1e639d425d71 /EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java | |
parent | 6642d9996a48c28905774277501148f6ab304040 (diff) | |
download | Essentials-25806e7fa8f6d1852624f57ec40ed88b46fc36e6.tar Essentials-25806e7fa8f6d1852624f57ec40ed88b46fc36e6.tar.gz Essentials-25806e7fa8f6d1852624f57ec40ed88b46fc36e6.tar.lz Essentials-25806e7fa8f6d1852624f57ec40ed88b46fc36e6.tar.xz Essentials-25806e7fa8f6d1852624f57ec40ed88b46fc36e6.zip |
do not allow inherited permissions to negate higher perms.
Diffstat (limited to 'EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java')
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java index de42ce9c3..429a9553f 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java @@ -135,9 +135,13 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { } // Add all group permissions, unless negated by direct player perms. - for (String perm : groupPermArray) - if ((!playerPermArray.contains(perm)) && (!playerPermArray.contains("-" + perm))) + for (String perm : groupPermArray) { + // Perm doesn't already exists and there is no negation for it + // It's not a negated perm where a normal perm exists (don't allow inheritance to negate higher perms) + if ((!playerPermArray.contains(perm)) && (!playerPermArray.contains("-" + perm)) + && (!perm.startsWith("-") && (!playerPermArray.contains(perm.substring(1))))) playerPermArray.add(perm); + } } // Collections.sort(playerPermArray, |