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;
         }

Reply via email to