diff options
Diffstat (limited to 'EssentialsGroupManager')
-rw-r--r-- | EssentialsGroupManager/src/Changelog.txt | 3 | ||||
-rw-r--r-- | EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 849f11e95..bc050c97b 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -231,4 +231,5 @@ v2.1: - Set a default mirror map if none is found in the config.
- Fix clones forgetting sub groups.
- Prevent players who have never logged in before from taking over existing accounts.
- - Added metrics.
\ No newline at end of file + - Added metrics.
+ - Prevent GM's own permission tests from allowing inherited permissions to override inherited negations (caused when we added the exception override for sub groups).
\ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java index 07a846791..d8d12d836 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java @@ -1072,9 +1072,11 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { return resultNow; } - // Negation found so store for later - // as we need to continue looking for an Exception. - result = resultNow; + if (!result.resultType.equals(PermissionCheckResult.Type.NEGATION)) { + // No Negation found so store for later + // as we need to continue looking for an Exception. + result = resultNow; + } } for (String sonName : now.getInherits()) { |