Repository: logging-log4j2 Updated Branches: refs/heads/master 3b0a44632 -> 89b482f04
Wrap calls to Script in security manager Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/89b482f0 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/89b482f0 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/89b482f0 Branch: refs/heads/master Commit: 89b482f04aca06ecb9e184047bb0c343fac3cb80 Parents: 3b0a446 Author: Ralph Goers <[email protected]> Authored: Sat Dec 5 14:22:21 2015 -0700 Committer: Ralph Goers <[email protected]> Committed: Sat Dec 5 14:22:21 2015 -0700 ---------------------------------------------------------------------- .../log4j/core/script/ScriptManager.java | 48 +++++++------------- 1 file changed, 16 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/89b482f0/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java index 208da68..ff73a29 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/script/ScriptManager.java @@ -144,16 +144,12 @@ public class ScriptManager implements FileWatcher, Serializable { logger.warn("No script named {} could be found"); return null; } - if (SECURITY_MANAGER == null) { - return scriptRunner.execute(bindings); - } else { - return AccessController.doPrivileged(new PrivilegedAction<Object>() { - @Override - public Object run() { - return scriptRunner.execute(bindings); - } - }); - } + return AccessController.doPrivileged(new PrivilegedAction<Object>() { + @Override + public Object run() { + return scriptRunner.execute(bindings); + } + }); } private interface ScriptRunner { @@ -177,33 +173,21 @@ public class ScriptManager implements FileWatcher, Serializable { CompiledScript compiled = null; if (scriptEngine instanceof Compilable) { logger.debug("Script {} is compilable", script.getName()); - - if (SECURITY_MANAGER == null) { - try { - compiled = ((Compilable) scriptEngine).compile(script.getScriptText()); - } catch (final Throwable ex) { - /* ScriptException is what really should be caught here. However, beanshell's ScriptEngine - * implements Compilable but then throws Error when the compile method is called! - */ - logger.warn("Error compiling script", ex); - } - } else { - compiled = AccessController.doPrivileged(new PrivilegedAction<CompiledScript>() { - @Override - public CompiledScript run() { - try { - return ((Compilable) scriptEngine).compile(script.getScriptText()); - } catch (final Throwable ex) { + compiled = AccessController.doPrivileged(new PrivilegedAction<CompiledScript>() { + @Override + public CompiledScript run() { + try { + return ((Compilable) scriptEngine).compile(script.getScriptText()); + } catch (final Throwable ex) { /* ScriptException is what really should be caught here. However, beanshell's * ScriptEngine implements Compilable but then throws Error when the compile method * is called! */ - logger.warn("Error compiling script", ex); - return null; - } + logger.warn("Error compiling script", ex); + return null; } - }); - } + } + }); } compiledScript = compiled; }
