Skip to content

Commit 4159959

Browse files
committed
[GR-14125] Do not give any permissions to TruffleRubyScriptEngine by default
1 parent 0db6fd1 commit 4159959

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/services/java/org/truffleruby/services/scriptengine/TruffleRubyScriptEngine.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,12 @@ public class TruffleRubyScriptEngine extends AbstractScriptEngine
3939
private final Context polyglot;
4040

4141
TruffleRubyScriptEngine(TruffleRubyScriptEngineFactory factory) {
42+
this(factory, false);
43+
}
44+
45+
public TruffleRubyScriptEngine(TruffleRubyScriptEngineFactory factory, boolean allowAllAccess) {
4246
this.factory = factory;
43-
polyglot = Context.newBuilder().allowAllAccess(true).build();
47+
this.polyglot = Context.newBuilder("ruby").allowAllAccess(allowAllAccess).build();
4448
}
4549

4650
@Override

src/test/java/org/truffleruby/JSR223InteropTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,8 @@ public void testCallingMethods() throws ScriptException, NoSuchMethodException {
6868

6969
@Test
7070
public void testCreatingObjects() throws ScriptException, NoSuchMethodException {
71-
final ScriptEngineManager m = new ScriptEngineManager();
72-
try (TruffleRubyScriptEngine scriptEngine = (TruffleRubyScriptEngine) m
73-
.getEngineByName(TruffleRuby.LANGUAGE_ID)) {
71+
try (TruffleRubyScriptEngine scriptEngine = new TruffleRubyScriptEngine(new TruffleRubyScriptEngineFactory(),
72+
true)) {
7473
final Object time = ((Invocable) scriptEngine).invokeMethod(scriptEngine.eval("Time"), "new", 2021, 3, 18);
7574
final Object year = ((Invocable) scriptEngine).invokeMethod(time, "year");
7675
assertEquals(2021, year);

0 commit comments

Comments
 (0)