--- - branch: MAIN date: Fri Jan 7 19:52:43 UTC 2011 files: - new: '1.1' old: '0' path: src/lib/librumphijack/Makefile pathrev: src/lib/librumphijack/Makefile@1.1 type: added - new: '1.1' old: '0' path: src/lib/librumphijack/hijack.c pathrev: src/lib/librumphijack/hijack.c@1.1 type: added - new: '1.1' old: '0' path: src/lib/librumphijack/shlib_version pathrev: src/lib/librumphijack/shlib_version@1.1 type: added id: 20110107T195243Z.5c4fcabb402ad0b18c1ad76cf8d01089b8d2fe1d log: | Begin work on a syscall hijacking library which can be LD_PRELOADed to convince non-rumped applications to communicate with a rump kernel instead of the host kernel. The precision of what goes where is not exactly surgical, but for example when wanting to debug a web server's TCP/IP stack interaction, it might be enough. When all you have is a hand grenade, all problems look like a .... hmm? There's still plenty to figure out. For example, I'm not sure what the user interface will be like. Now it just attempts to hijack network communication. It also needs to sync with symbol renaming in libc, and maybe autogenerate the non-schizophrenic wrappers where the communication is heading to exactly one destination, lest I'll be a mummmy by the time I finish writing them all. As a fun example of a non-non-schizophrenic one, consider poll(). Work in progress, but I managed to get two non-rumped netcats talking to each other or fetching the index from a non-rumped thttpd. telnet works in one direction (i can read the data from netcat, but anything i send back is not printed). bozohttpd uses dup2() which i haven't bothered to address yet, etcetc. (not hooking this up the build for now) module: src subject: 'CVS commit: src/lib/librumphijack' unixtime: '1294429963' user: pooka