mirror of
https://github.com/EssentialsX/Essentials.git
synced 2024-12-23 01:27:40 +01:00
Do not grant any permissions (nort update Bukkit) if the server is in
offline mode and the player has the permission node 'groupmanager.noofflineperms'.
This commit is contained in:
parent
24f56892ad
commit
ad7009c77e
@ -206,4 +206,5 @@ v 2.0:
|
||||
- Prevent GM commands from being used on CommandBlocks.
|
||||
- Clear our attachment map upon a manload so we correctly reconfigure a players new permissions.
|
||||
- Synchronize the raising of GroupManager events to Bukkit.getServer() (should prevent deadlocks).
|
||||
- Synchronize pushing to Bukkit perms to prevent any ConcurrentModificationException.
|
||||
- Synchronize pushing to Bukkit perms to prevent any ConcurrentModificationException.
|
||||
- Do not grant any permissions (nort update Bukkit) if the server is in offline mode and the player has the permission node 'groupmanager.noofflineperms'.
|
@ -16,6 +16,7 @@ import org.anjocaido.groupmanager.data.Group;
|
||||
import org.anjocaido.groupmanager.dataholder.WorldDataHolder;
|
||||
import org.anjocaido.groupmanager.data.User;
|
||||
import org.anjocaido.groupmanager.utils.PermissionCheckResult;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
/**
|
||||
@ -784,6 +785,15 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface {
|
||||
if (user == null || targetPermission == null || targetPermission.isEmpty()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* Do not push any perms to bukkit if...
|
||||
* We are in offline mode
|
||||
* and the player has the 'groupmanager.noofflineperms' permission.
|
||||
*/
|
||||
if (!Bukkit.getServer().getOnlineMode()
|
||||
&& (checkFullGMPermission(user, "groupmanager.noofflineperms", true).resultType == PermissionCheckResult.Type.FOUND))
|
||||
return result;
|
||||
|
||||
if (checkBukkit) {
|
||||
// Check Bukkit perms to support plugins which add perms via code
|
||||
|
@ -31,7 +31,6 @@ import java.util.WeakHashMap;
|
||||
|
||||
import org.anjocaido.groupmanager.GroupManager;
|
||||
import org.anjocaido.groupmanager.data.User;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
@ -183,6 +182,18 @@ public class BukkitPermissions {
|
||||
value = (!permission.startsWith("-"));
|
||||
newPerms.put((value ? permission : permission.substring(1)), value);
|
||||
}
|
||||
|
||||
/*
|
||||
* Do not push any perms to bukkit if...
|
||||
* We are in offline mode
|
||||
* and the player has the 'groupmanager.noofflineperms' permission.
|
||||
*/
|
||||
if (!Bukkit.getServer().getOnlineMode()
|
||||
&& (newPerms.containsKey("groupmanager.noofflineperms") && (newPerms.get("groupmanager.noofflineperms") == true))) {
|
||||
removeAttachment(name);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This is put in place until such a time as Bukkit pull 466 is
|
||||
|
@ -3,13 +3,16 @@ users:
|
||||
snowleo:
|
||||
group: Builder
|
||||
subgroups: []
|
||||
permissions: []
|
||||
permissions:
|
||||
- groupmanager.noofflineperms
|
||||
KHobbits:
|
||||
group: Moderator
|
||||
subgroups: []
|
||||
permissions: []
|
||||
permissions:
|
||||
- groupmanager.noofflineperms
|
||||
ElgarL:
|
||||
group: Moderator
|
||||
subgroups: []
|
||||
permissions: []
|
||||
permissions:
|
||||
- groupmanager.noofflineperms
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user