World: r3wp
[!REBOL3-OLD1]
older newer | first last |
Pekr 10-Sep-2009 [17358] | Linux can swap, no? If I would be about to judge R3 console quality upon Windows, then well ... don't let user to use 'call, this is totally messy .... |
BrianH 10-Sep-2009 [17359] | It depends on the data. |
Pekr 10-Sep-2009 [17360] | The question is, if it should create sandbox for each user, I mean letting user to download something, save something, call something, parse it, etc. Or do you want to limit console to prevent file operations for e.g.? |
Graham 10-Sep-2009 [17361] | do join "call " "init 0" |
Henrik 10-Sep-2009 [17362] | Optimally the sandbox would have to be handled entirely by R3 alone. |
Pekr 10-Sep-2009 [17363] | Henrik - the only option you have in limiting system resources is some CPU cycles for R3 process. Carl refused to add e.g. time/memory usage variation ... |
Henrik 10-Sep-2009 [17364] | Graham, I think this can be intercepted with LOAD. Perhaps you can redefine CALL to become harmless, or simply return a restriction error. |
Maxim 10-Sep-2009 [17365x2] | the secure feature will have to be set so that everything is secured. |
this will limit access to external stuff... doesn't call have its own secure option? | |
Pekr 10-Sep-2009 [17367] | 'call has its own security setting IIRC ... |
Henrik 10-Sep-2009 [17368] | Pekr, yes, that will be an issue. But I think Carl will eventually comply, once he sees that this is a problem. |
Pekr 10-Sep-2009 [17369] | Max was faster :-) |
Henrik 10-Sep-2009 [17370] | I wonder if there are generic javascript ajax consoles around we can grab... |
Pekr 10-Sep-2009 [17371] | Henrik - sometimes you have to ask Carl more than few times in order for something to be noticed :-) |
Henrik 10-Sep-2009 [17372] | Pekr, once he sees my poor smoking Linode server brought down by R3, he'll notice. :-) |
Pekr 10-Sep-2009 [17373] | It has to be also settable by command line option, or it does not have any sense. Your user will not add it to his script himself ... |
Henrik 10-Sep-2009 [17374] | true |
Pekr 10-Sep-2009 [17375] | I wonder - what happens, when user types "demo" and View is supposed to be launched? An error? |
Henrik 10-Sep-2009 [17376] | hmm.. tried this briefly in win32: >> call "dir" ** Access error: external process failed: "The system cannot find the file speci fied.^M^/" ** Where: call ** Near: call "dir" What's call's environment? |
Pekr 10-Sep-2009 [17377] | henrik - we discussed it here with BrianH week or two ago. CALL is now more low-level, hence use call "cmd.exe /c dir c:" |
Henrik 10-Sep-2009 [17378] | Pekr, I see, thanks. |
BrianH 10-Sep-2009 [17379] | dir isn't a prograam, it's a cmd.exe command. |
Graham 10-Sep-2009 [17380] | http://tryruby.sophrinix.com/js/irb.js |
Pekr 10-Sep-2009 [17381] | Also look at my rants in #1223 - call needs some fixes, or it reqires you to press enter, once it finishes, as well as it messess console output (prompt), as well as call output can't be caught into series ... |
Henrik 10-Sep-2009 [17382x2] | Pekr, demo is a mezz. Another issue is graphics commands, lowlevel View and such. How do we handle that? I'm not sure we want to submit graphics via HTTP to the browser. |
Also what happens if you forcefeed R3 with events? is that possible? | |
Pekr 10-Sep-2009 [17384] | Henrik - we might have more problem that that. Even with real plugin - imagine networking - we have our own networking, we don't use browser's one. For the console demo, it should not be probably a problem though .... |
Graham 10-Sep-2009 [17385x2] | that looks like the JS that loads into the console div |
Actually a RT branded Chrome browser would be great .. have R3 embedded into it. | |
Henrik 10-Sep-2009 [17387] | Pekr, we can shut down networking too with SECURE, AFAIK. |
Pekr 10-Sep-2009 [17388x3] | Graham - what would be the purpose? It would be standalone app (R3 + Browser), and your apps would not run anywhere else, no? |
Henrik - if you shut down networking, you prevent many cute examples and one-liners, as print read http://www.rebol.com | |
I think that maybe networking is not a problem. I would shut 'call though, or some users will try to inspect your system :-) | |
Henrik 10-Sep-2009 [17391x2] | yes, but how do you then prevent: read http://somewhere.com/16GBiso.iso ? |
Linode have some network abuse policies. I think we don't want networking at all here. Imagine a spammer taking advantage of this. | |
Pekr 10-Sep-2009 [17393] | could spammer wrap the process to its advantage? |
Henrik 10-Sep-2009 [17394x2] | you could probably paste a binary that is decompressed and voila: SMTP server. |
9. The user needs to be able to control the console. If something goes awry, he has to be able to type "reset" to reset the console. I'm thinking maybe it's possible to control several R3 processes through one R3 mother process or arbiter. | |
BrianH 10-Sep-2009 [17396] | You can prevent READ anything with SECURE. |
Henrik 10-Sep-2009 [17397] | Can we prevent the creation of ports in case someone provides a low level alternative to READ? |
BrianH 10-Sep-2009 [17398] | Yeah, all file operations, even through ports. |
Maxim 10-Sep-2009 [17399] | henrik, maybe you can create modules for each session and use do within each module... they will be shielded from each other, but you'll only need a single rebol process to run all users :-) |
Graham 10-Sep-2009 [17400] | Pekr, it would be Chrome + Rebol ... |
Henrik 10-Sep-2009 [17401] | Maxim, hmm, yes, but does this not require tasking? |
Graham 10-Sep-2009 [17402x2] | Henrik, there was a guy on EC2 who had his instance exploited thru some vulnerability and it started spamming for a while. And the spamcop or something blocked his smtp server :( |
the trouble with these vigilante groups is that you're guilty until proven innocent. | |
Maxim 10-Sep-2009 [17404x2] | no whatever calls your R3 decides which module to interact with and just calls something inside the module which returns the result of a 'DO executed from within the module. |
What I am thinking is that your R3 would be talking to cheyenne via a tcp port and the communication would include a session number, which is mapped within your R3 server to a specific module. you could easily kill modules when some events happen like sessions being inactive too long | |
Henrik 10-Sep-2009 [17406] | Graham, perhaps we should simply log everything typed into the console. This would be nice for debugging purposes as well. |
Maxim 10-Sep-2009 [17407] | so basically, you build a little module in cheyenne which does a tcp exchange to your R3 server. the R3 server maps the request to a module, returns the molded result. cheyenne then returns the value in an xml block which your ajax app did the request for. allowing multiple handlers on the cheyenne side (and an equal amount of R3 servers) would allow you to support multiple concurrent users, but you'd have to map which R3 service is being used within the cheyenne module, in order to send your tcp request to a free R3 service. does any of this make sense? |
older newer | first last |