Dune:RAR: Difference between revisions

From Lundman Wiki
No edit summary
No edit summary
Line 1: Line 1:
== RAR support ==
== RAR support ==


Since Dune does not handle talking to llink (over HTTP) in any form, I found myself missing the unrar streaming support that llink provides. So I started considering a solution for this problem. I have assumed that Dune developers are not approachable, nor particularly interested in helping someone on the outside, so it would have to be a solution I could do myself.
Since Dune does not handle talking to llink (over HTTP) in any form [1], I found myself missing the unrar streaming support that llink provides. So I started considering a solution for this problem. I have assumed that Dune developers are not approachable, nor particularly interested in helping someone on the outside, so it would have to be a solution I could do myself.


I started on the idea of using LD_PRELOAD to point to my glue code, which intercepts the calls open64/read/lseek/close/opendir/readdir64/closedir/lstat64/stat64.  
I started on the idea of using LD_PRELOAD to point to my glue code, which intercepts the calls open64/read/lseek/close/opendir/readdir64/closedir/lstat64/stat64.  
Line 16: Line 16:


You can watch the content of "/tmp/librarcy.log" for signs of success.
You can watch the content of "/tmp/librarcy.log" for signs of success.
[1] I note the SMP Libraries handles HTTP:// URLs internally, so possible could exploit this to play remote media.

Revision as of 00:03, 5 March 2009

RAR support

Since Dune does not handle talking to llink (over HTTP) in any form [1], I found myself missing the unrar streaming support that llink provides. So I started considering a solution for this problem. I have assumed that Dune developers are not approachable, nor particularly interested in helping someone on the outside, so it would have to be a solution I could do myself.

I started on the idea of using LD_PRELOAD to point to my glue code, which intercepts the calls open64/read/lseek/close/opendir/readdir64/closedir/lstat64/stat64.

I have now reached a point where this appears to work. To test the libc replacement library, assuming you already have telnet access, download the binary and setup like:

# cd /tmp
# wget http://lundman.net/ftp/librarcy/librarcy.so.1.0.1
# wget http://lundman.net/ftp/librarcy/unrar
# killall shell root
# env LD_PRELOAD=/tmp/librarcy.so.1.0.1 /etc/init.d/S99local start 

If someone has a better way to start "root" again than to run the whole init.d script, let me know.

You can watch the content of "/tmp/librarcy.log" for signs of success.


[1] I note the SMP Libraries handles HTTP:// URLs internally, so possible could exploit this to play remote media.