1
0
mirror of https://github.com/essentials/Essentials.git synced 2025-08-10 08:34:17 +02:00

do not allow inherited permissions to negate higher perms.

This commit is contained in:
ElgarL
2012-01-27 12:38:00 +00:00
parent 6642d9996a
commit 25806e7fa8
2 changed files with 8 additions and 3 deletions

View File

@@ -122,4 +122,5 @@ v 1.9:
- Fixed subgroups (I broke earlier).
- Check for a null player object in the PlayerTeleportEvent.
- Trap errors in fetching the mirrors map.
- Fixed an infinite loop error when using '/manudel' on a logged in player. It caused setDefaultGroup to trigger a bukkit update when no GM User existed yet.
- Fixed an infinite loop error when using '/manudel' on a logged in player. It caused setDefaultGroup to trigger a bukkit update when no GM User existed yet.
- do not allow inherited permissions to negate higher perms.

View File

@@ -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,