Hopbot log for 2007-03-25 - Helma IRC channel: #helma on irc.freenode.net

2007-03-25:

[13:11] <hns> weil ich grad das irc-transcript von gestern gelesen habe:
[13:11] <hns> http://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/ClassShutter.html
[13:12] <hns> ist glaub ich das richtige...
[13:12] <hns> einfach visibleToScripts() so implementieren dass immer false gesenedet werden und man ist sicher (dass gar nix mehr geht)
[13:14] <zumbrunn> der trick via javascript einen neuen Rhino context zu erzeugen ist aber interessant...
[13:14] <zumbrunn> und scheint gut zu funktionieren
[13:15] <zumbrunn> wie man das ganze mit den ClassShuttern angehen muesste, war und ist mir nicht ganz klar
[13:15] <hns> glaub ich nicht, momentan... nachdem schon ein context mit dem aktuellen thread verkn?pft ist, sollte immer der gleiche context zur?ckkommen.
[13:16] <zumbrunn> also, soweit ich das getestet habe funktioniert's
[13:17] <zumbrunn> aber vielleicht hab ich einfach noch nicht gemerkt wo's probleme gibt
[13:17] <hns> ich w?rde sagen, der context, den du mit Context.enter() zur?ckkriegst ist der gleiche wie der aktuelle.
[13:17] <hns> vergleich mal mit Context.getCurrentContext().
[13:18] <hns> Context.enter() == Context.getCurrentContext()
[13:20] <hns> alles andere w?rde mich sehr verwundern
[13:23] <zumbrunn> also, du meinst wir haetten so trotzdem immer nur einen context pro request
[13:31] <zumbrunn> context.evaluateString(scope,'delete Packages; this.Packages;',null,1,null) == undefined
[13:31] <zumbrunn> danach ist im gleichen request Packages aber immer noch defined
[13:31] <zumbrunn> (im normalen helma request scope)
[13:35] <zumbrunn> mit anderen worten, es funktioniert so wie ich mir das wuensche, obschon der context der gleiche ist
[13:35] <zumbrunn> hmm
[13:35] <hns> keine ahnung
[13:43] <zumbrunn> naja, soweit klar, weil das ja nicht vom context abheangt, sondern vom scope
[13:44] <zumbrunn> scope = context.initStandardObjects(); generiert einen frischen default global scope mit java, Packages, etc
[13:45] <zumbrunn> das heisst, es ist wohl egal wenn der context der selbe ist
[13:45] <zumbrunn> auf alle faelle *scheint* es wunderbar zu funktionieren
[13:54] <hns> na dann eh ok.
[13:54] <hns> ich w?rd das halt eher via Classshutter probieren, siehe link oben.
[13:54] <hns> Context.setClassShutter() oder so glaub ich.
[13:55] <hns> Sonst kommst du _immer_ irgendwie raus, z.b. ?ber res.getClass().getClassLoader() oder so
[13:56] <zumbrunn> res gibt's in dem erzeugten scope aber gar nicht
[13:56] <zumbrunn> das ist ein reiner default js scope
[13:59] <zumbrunn> mit Context.setClassShutter() wuerde man dann aber dem ganzen request scope/context den zugang zu den packages abdrehen, nicht nur dem bisschen untrusted code, oder?
[14:02] <hns> wenn's der gleiche context ist, dann schon.

 

 

In the channel now:

Logs by date: