You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-commits@xmlgraphics.apache.org by ss...@apache.org on 2022/10/27 12:52:08 UTC

svn commit: r1904885 - in /xmlgraphics/batik/trunk: batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java

Author: ssteiner
Date: Thu Oct 27 12:52:08 2022
New Revision: 1904885

URL: http://svn.apache.org/viewvc?rev=1904885&view=rev
Log:
BATIK-1346: Allow configuration of rhino whitelist

Modified:
    xmlgraphics/batik/trunk/batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java
    xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java

Modified: xmlgraphics/batik/trunk/batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java?rev=1904885&r1=1904884&r2=1904885&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java (original)
+++ xmlgraphics/batik/trunk/batik-script/src/main/java/org/apache/batik/script/rhino/RhinoClassShutter.java Thu Oct 27 12:52:08 2022
@@ -20,6 +20,7 @@ package org.apache.batik.script.rhino;
 
 import org.mozilla.javascript.ClassShutter;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -30,7 +31,10 @@ import java.util.List;
  * @version $Id$
  */
 public class RhinoClassShutter implements ClassShutter {
-    private static final List<String> WHITELIST = Arrays.asList("java.io.PrintStream", "java.lang.System", "java.net.URL");
+    public static final List<String> WHITELIST = new ArrayList<>();
+    static {
+        WHITELIST.addAll(Arrays.asList("java.io.PrintStream", "java.lang.System", "java.net.URL"));
+    }
 
     /*
     public RhinoClassShutter() {

Modified: xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java
URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java?rev=1904885&r1=1904884&r2=1904885&view=diff
==============================================================================
--- xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java (original)
+++ xmlgraphics/batik/trunk/batik-test-old/src/test/java/org/apache/batik/script/rhino/RhinoClassShutterTest.java Thu Oct 27 12:52:08 2022
@@ -24,6 +24,10 @@ import org.junit.Test;
 public class RhinoClassShutterTest {
     @Test
     public void testImports() {
-        Assert.assertFalse(new RhinoClassShutter().visibleToScripts("java.lang.Runtime"));
+        String runtimeClass = "java.lang.Runtime";
+        Assert.assertFalse(new RhinoClassShutter().visibleToScripts(runtimeClass));
+        RhinoClassShutter.WHITELIST.add(runtimeClass);
+        Assert.assertTrue(new RhinoClassShutter().visibleToScripts(runtimeClass));
+        RhinoClassShutter.WHITELIST.remove(runtimeClass);
     }
 }