Handle client security checks properly
This commit is contained in:
parent
dfa01d3606
commit
c375882ee4
6 changed files with 41 additions and 21 deletions
|
|
@ -489,7 +489,7 @@ public class DynmapPlugin
|
|||
|
||||
private boolean hasPerm(PlayerEntity psender, String permission) {
|
||||
PermissionsHandler ph = PermissionsHandler.getHandler();
|
||||
if((psender != null) && ph.hasPermission(psender.getEntity().getName().getString(), permission)) {
|
||||
if ((psender != null) && (ph != null) && ph.hasPermission(psender.getName().getString(), permission)) {
|
||||
return true;
|
||||
}
|
||||
return permissions.has(psender, permission);
|
||||
|
|
@ -497,7 +497,7 @@ public class DynmapPlugin
|
|||
|
||||
private boolean hasPermNode(PlayerEntity psender, String permission) {
|
||||
PermissionsHandler ph = PermissionsHandler.getHandler();
|
||||
if((psender != null) && ph.hasPermissionNode(psender.getEntity().getName().getString(), permission)) {
|
||||
if ((psender != null) && (ph != null) && ph.hasPermissionNode(psender.getName().getString(), permission)) {
|
||||
return true;
|
||||
}
|
||||
return permissions.hasPermissionNode(psender, permission);
|
||||
|
|
@ -1627,8 +1627,12 @@ public class DynmapPlugin
|
|||
{
|
||||
dsender = new ForgeCommandSender(sender);
|
||||
}
|
||||
|
||||
core.processCommand(dsender, cmd, cmd, args);
|
||||
try {
|
||||
core.processCommand(dsender, cmd, cmd, args);
|
||||
} catch (Exception x) {
|
||||
dsender.sendMessage("Command internal error: " + x.getMessage());
|
||||
Log.severe("Error with command: " + cmd + Arrays.deepToString(args), x);
|
||||
}
|
||||
}
|
||||
|
||||
private DynmapLocation toLoc(World worldObj, double x, double y, double z)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue