Skip to content

Commit 95a49d4

Browse files
committed
use graaljs.insecure-scriptengine-access flag in ScriptEngine for JCK compliance
1 parent 6a4f3b6 commit 95a49d4

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

graal-js/src/com.oracle.truffle.js.scriptengine/src/com/oracle/truffle/js/scriptengine/GraalJSScriptEngine.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public final class GraalJSScriptEngine extends AbstractScriptEngine implements C
9393
private static final String JS_PRINT_OPTION = "js.print";
9494
private static final String JS_GLOBAL_ARGUMENTS_OPTION = "js.global-arguments";
9595
private static final String NASHORN_COMPATIBILITY_MODE_SYSTEM_PROPERTY = "polyglot.js.nashorn-compat";
96+
private static final String INSECURE_SCRIPTENGINE_ACCESS_SYSTEM_PROPERTY = "graaljs.insecure-scriptengine-access";
9697
static final String MAGIC_OPTION_PREFIX = "polyglot.js.";
9798

9899
private static final HostAccess NASHORN_HOST_ACCESS = createNashornHostAccess();
@@ -277,6 +278,8 @@ public Builder setOption(Builder builder, Object value) {
277278
contextConfigToUse.option(JS_GLOBAL_ARGUMENTS_OPTION, "true");
278279
if (NASHORN_COMPATIBILITY_MODE) {
279280
updateForNashornCompatibilityMode(contextConfigToUse);
281+
} else if (Boolean.getBoolean(INSECURE_SCRIPTENGINE_ACCESS_SYSTEM_PROPERTY)) {
282+
updateForScriptEngineAccessibility(contextConfigToUse);
280283
}
281284
}
282285
this.factory = (factory == null) ? new GraalJSEngineFactory(engineToUse) : factory;
@@ -289,6 +292,10 @@ private static void updateForNashornCompatibilityMode(Context.Builder builder) {
289292
builder.allowHostAccess(NASHORN_HOST_ACCESS);
290293
}
291294

295+
private static void updateForScriptEngineAccessibility(Context.Builder builder) {
296+
builder.allowHostAccess(HostAccess.ALL);
297+
}
298+
292299
static Context createDefaultContext(Context.Builder builder) {
293300
DelegatingInputStream in = new DelegatingInputStream();
294301
DelegatingOutputStream out = new DelegatingOutputStream();

0 commit comments

Comments
 (0)