r9832 - helma-ng/trunk/src/org/helma/javascript
[email protected] Tue, 16 Jun 2009 15:51:52 +0200 (CEST)
| Newsgroups | gmane.comp.java.helma.cvs |
|---|---|
| Message-ID | <20090616135152.DBDDB3D0E3@mia> |
Author: hannes
Date: 2009-06-16 15:51:52 +0200 (Tue, 16 Jun 2009)
New Revision: 9832
Modified:
helma-ng/trunk/src/org/helma/javascript/HelmaContextFactory.java
helma-ng/trunk/src/org/helma/javascript/ReloadableScript.java
helma-ng/trunk/src/org/helma/javascript/RhinoEngine.java
Log:
Hack to disable security controller on google app engine.
Details at http://dev.helma.org/trac/helma/changeset/9832
Modified: helma-ng/trunk/src/org/helma/javascript/HelmaContextFactory.java
===================================================================
--- helma-ng/trunk/src/org/helma/javascript/HelmaContextFactory.java 2009-06-16 13:51:50 UTC (rev 9831)
+++ helma-ng/trunk/src/org/helma/javascript/HelmaContextFactory.java 2009-06-16 13:51:52 UTC (rev 9832)
@@ -65,7 +65,9 @@
cx.setWrapFactory(engine.wrapFactory);
cx.setLanguageVersion(languageVersion);
cx.setOptimizationLevel(optimizationLevel);
- cx.setSecurityController(new PolicySecurityController());
+ if (engine.useSecurity()) {
+ cx.setSecurityController(new PolicySecurityController());
+ }
if (errorReporter != null) {
cx.setErrorReporter(errorReporter);
}
Modified: helma-ng/trunk/src/org/helma/javascript/ReloadableScript.java
===================================================================
--- helma-ng/trunk/src/org/helma/javascript/ReloadableScript.java 2009-06-16 13:51:50 UTC (rev 9831)
+++ helma-ng/trunk/src/org/helma/javascript/ReloadableScript.java 2009-06-16 13:51:52 UTC (rev 9832)
@@ -107,7 +107,8 @@
Resource resource = (Resource) source;
try {
exception = null;
- CodeSource source = new CodeSource(resource.getUrl(), (CodeSigner[]) null);
+ CodeSource source = engine.useSecurity() ?
+ new CodeSource(resource.getUrl(), (CodeSigner[]) null) : null;
script = cx.compileReader(resource.getReader(), resource.getRelativePath(), 1, source);
} catch (Exception x) {
exception = x;
@@ -136,7 +137,8 @@
exception = null;
for (Resource res: resources) {
if (res.getName().endsWith(".js")) {
- CodeSource source = new CodeSource(res.getUrl(), (CodeSigner[]) null);
+ CodeSource source = engine.useSecurity() ?
+ new CodeSource(res.getUrl(), (CodeSigner[]) null) : null;
scripts.add(cx.compileReader(res.getReader(), res.getRelativePath(), 1, source));
}
}
Modified: helma-ng/trunk/src/org/helma/javascript/RhinoEngine.java
===================================================================
--- helma-ng/trunk/src/org/helma/javascript/RhinoEngine.java 2009-06-16 13:51:50 UTC (rev 9831)
+++ helma-ng/trunk/src/org/helma/javascript/RhinoEngine.java 2009-06-16 13:51:52 UTC (rev 9832)
@@ -453,6 +453,11 @@
return new RhinoEngine(sandbox, globals);
}
+ protected boolean useSecurity() {
+ // TODO this is just a hack to disable security on google app engine
+ return System.getProperty("java.security.manager") != null;
+ }
+
private ReloadableScript getCurrentScript(Context cx) {
return (ReloadableScript) cx.getThreadLocal("current_script");
}