World: r3wp
[Linux] group for linux REBOL users
older newer | first last |
Anton 15-Aug-2009 [3059x4] | Wait a minute, I can call xclip to get the right clipboard contents... >> call "xclip -o" |
That prints the clipboard contents into the rebol shell. | |
Oops, that should actually be: >> call "xclip -o -selection clipboard" | |
Doc, or anyone, do you know how to write a proxy for system/ports/input ? | |
Dockimbel 15-Aug-2009 [3063] | I would try to wrap a custom port wiring all methods to the console port then I would replace system/ports/input with that new one and see if the "proxy" port works. If it works, then you can intercept the incoming events and add your own handlers. But that's only theory, as much other low-level parts of REBOL, it's not documented, so I'm not sure it would work. |
Anton 15-Aug-2009 [3064] | Hmm.. sounds a bit too complicated for now - might have to wait for another day... but, how do you think I would replace system/ports/input ? By just : system/ports/input: my-port ? |
Dockimbel 15-Aug-2009 [3065] | Yes. |
Anton 15-Aug-2009 [3066x6] | Ok, I'll give it a quick go to see how feasible it is. My first try about an hour and half ago, just using the console port looks like this: |
console-port: open/binary/no-wait console:/ console-port/awake: func [port /local ch][ if ch: pick port 1 [ ;print ["Console awake trapped key:" to-char ch "(" ch ")"] either ch = #"^V" [ ; Ctrl+V call "xclip -o -selection clipboard" ; Three different types of clipboards: "primary", "secondary" or "clipboard". ][ insert system/ports/output to-char ch ] ] return false ; Does not cause return from WAIT (DO-EVENTS). ;true ; Does cause return from WAIT (DO-EVENTS). ] insert system/ports/wait-list console-port if error? set/any 'err try [ do-events ][ print mold disarm err ] close console-port remove find system/ports/wait-list console-port | |
I've tried replacing system/ports/input/awake with an awake function similar to above, and it doesn't seem ever to be called. If it's possible at all I think making a handler object with all the functions (open close write etc.) *might* work. | |
I don't really know what I'm doing with ports. I need more information. All I can get it to do is shutdown rebol on keypress. | |
I tried making a handler object with stub functions. | |
No joy. | |
Gabriele 17-Aug-2009 [3072x3] | awake is only called if you use WAIT (which the native console does not use - indeed you don't get other port events while at the console prompt) |
i did replace system/ports/input and output and it works, i used that to "broadcast" what is typed at the console to other listener (eg. for online demos or lessons or things like that). | |
http://www.colellachiara.com/soft/Misc/broadcast-console.r | |
Graham 17-Aug-2009 [3075] | Is this a key logger? |
Gabriele 17-Aug-2009 [3076] | lol, you can see it this way. |
Anton 17-Aug-2009 [3077] | Gabriele, thanks, that's very interesting, I will check it out. (Aha make Root-protocol, I forgot about that.) |
Anton 18-Aug-2009 [3078] | I had a go at it again with Gabriele's way of doing it. So far I can only intercept input and output when enter is pressed, not at individual key presses. I think I can only open system/ports/input in lines mode, the same as the default. From memory, now, I seem to remember somebody having a go at this and arriving at the same point. (Can anybody verify that?) |
Pekr 18-Aug-2009 [3079x2] | Not sure I heard anything like that. The only thing I remember is that we got some advanced console mode, where you could use any key IIRC. There was even some animation done by Bo. The article was at rebolforces.com somewhere - not sure it could help your case though .. |
Ah, that is something different than what you need - http://www.rebolforces.com/articles/tui-dialect/ ... but it reminded me to remember, how badly the windows console sucks :-( | |
Gabriele 18-Aug-2009 [3081x2] | system/ports/input needs to be in /lines mode IIRC... but you could open console:// in /binary mode, process it, and behave in lines mode for your custom scheme. More complicated than my example above for sure... |
(still, ctrl-c and ctrl-v have always had a different meaning on terminals, so I'm not sure replacing them is a good idea. in particular, most likely you'd need to trap ctrl-c by trapping SIGINT... and that does not look like a great idea to me...) | |
Anton 18-Aug-2009 [3083x2] | Gabriele, could elaborate on that idea a bit? I'm having trouble visualizing how it would work. |
(You are right about terminal signalling, but of course this is not the only thing this proxy port is useful for.) | |
Gabriele 19-Aug-2009 [3085x2] | in my example, you have your own port using your own scheme, and its sub-port which is the original system/ports/input. this sub-port need not be the original, you can open console:// yourself with your own flags (eg. binary). then you can process one char at a time, figure out line ending yourself, and send the entire line to the other side. |
i think I probably need to write some code to make it more clear... | |
Anton 19-Aug-2009 [3087] | That makes it much more clear. |
Anton 22-Aug-2009 [3088x5] | Hmm... more thinking and lots of questions come up. |
Would your above system need WAIT ? The only way I got console port to work is to set its awake function and use WAIT. | |
Or is there a way to set the handler in a console port? | |
Anyway, so it seems like you suggest to replace the default port at system/ports/input with an equivalent one which the system is expecting (ie. a direct/read/lines port), and then the subport can be a custom console port with binary, one char at a time stuff. | |
(It's unclear to me the relationship between a port and its subport. I know the port manages the opening/closing of its subport, but how can the port in lines mode transfer individual chars from its buffer into the subport ? Or do they both receive from the same input simultaneously automatically?) | |
Gabriele 23-Aug-2009 [3093x2] | when you're not in pass-thru mode, the only functions that get called are read and write. they both work at the binary level (read-io and write-io), so the conversion to lines is done by the native code under the hood. i don't know if you need pass-thru, though, and whether pass-thru will work for system/ports/input. |
basically, on read you call read-io on the subport, maybe modify the buffer, etc. on write (for the output port), you can do the same, modify the buffer, then use write-io on the subport. wait on the subport is called by the system whenever wait on your port is called (that's why there's a get-sub-port function there). | |
Graham 28-Aug-2009 [3095x2] | Anyone know anything Apache exploits? My site has been defaced http://www.compkarori.co.nz:8090 |
This was running Mindtouch deki wiki ... but now I get the same rubbish at any page so I suspect something is up with Apache. | |
Oldes 28-Aug-2009 [3097] | you have been Hacked By Cyb3rking |
yeksoon 28-Aug-2009 [3098x2] | do u have direct access to the server? |
may need to shut off the various ports first before you can even get it resolved | |
Oldes 28-Aug-2009 [3100] | http://tech.yahoo.com/qa/20090328150137AAzlEuc |
Graham 28-Aug-2009 [3101x3] | don't understand the yahoo thing |
there's only one port open to the world .. the one for web access | |
well, going to login to the console and have a poke around | |
Sunanda 28-Aug-2009 [3104] | Sorry to hear you've been attacked, Graham. I hope it is not too much work to get it all back together....Don't work all night! Looks like it was not personal -- just some automated tools seeking vulnerabilities. You seem to be on a fairly recent version of Apache, but that does mean you may be some months behind on the security patches: http://httpd.apache.org/security/vulnerabilities_22.html |
yeksoon 28-Aug-2009 [3105] | actually, I thought Graham was on Apache 1.3* |
Sunanda 28-Aug-2009 [3106] | Server id says 2.2.3. (that may be just a reply string, not the real situation of course). |
Graham 28-Aug-2009 [3107] | well, index.php has been changed |
Henrik 28-Aug-2009 [3108] | I have an idle Cheyenne running on a Linode server without a domain name. it's been there for a couple of months now. I was a bit surprised to already see bots looking for wordpress, admin pages and attempts to submit various scripts for injection in the access log. Well, I guess I shouldn't be surprised. |
older newer | first last |