From 34a323125f43754737959d966c29e30aeaf73f81 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Wed, 28 May 2014 02:03:51 +0100 Subject: [PATCH] Prevent GM's own permission tests from allowing inherited permissions to override inherited negations (caused when we added the exception override for sub groups). --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../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()) {