Hi John,
Sorry for the delay! Didn't have much time lately :S
This is actually great news that it builds on OS X :). If you want, you can try it with SSH right now, it works well. Simply LD_PRELOAD the torsocks .so with your ssh command.
Last night I pushed some new commits with one updating the TODO file.
So, in a nutshell, to have an alpha version to begin test with, we have to complete the gethost* family functions. I have most of them but there is still the reentrant version of GNU to support (ex: gethostbyaddr_r(3)).
Also, the getpeername() is important and should be quite simple to do. Some applications still use that call to make sure a socket is connected so we need that.
Apart from that, there is tests needed and also update the "torsocks" script to remove dead code and support the new ENV variable like logging for instance.
Code review also would be great. I plan to at least submit the code base to coverity. Documentation as well is important like updating the man page, having a up to date README, stuff like that.
In the next days, I'll most probably finish the needed libc calls (in the TODO) so we can have as soon as possible a testable working version.
Cheers! David
John Luttig:
Hey dgoulet,
Thankfully, your torsocks update seems to work well on OSX! I apologize for not getting back to you sooner; there were some family issues that kept me busy. Have you made any progress on torsocks since we talked? I am understanding the pure C code fairly well at this point. What's the next thing that needs to be done? I am free for the next couple of days, so I can work on whatever. I have Mint running in a VM, but OS X is my primary OS for development.
On Jun 26, 2013, at 2:55 PM, David Goulet dgoulet@ev0ke.net wrote:
Hi everyone,
For those who don't know, I've been working on a new version of Torsocks in the last three weeks or so.
https://lists.torproject.org/pipermail/tor-dev/2013-June/004959.html
I just wanted to give a quick status report on the state of the development.
The DNS resolution is working for domain name (PTR) and IPv4 address. Currently, Tor does not support IPv6 resolution but the torsocks code support it.
Hidden service onion address resolution is also working using a "dead IP range" acting as cookie that is sent back to the user and mapped to the .onion address on the hijacked connect().
I've changed quite a bit the configuration file (torsocks.conf) to fit the style of tor (torrc). At this point, the tor address and port can be configured as well as the "dead IP range" mention above. More is coming but pretty simple for now.
Logging is working, connection registry and thread safety as well. There is also a compat layer for mutexes and once I start porting the project to other *nix system (BSD, OS X, ...) probably more subsystem will be added to that compat layer.
So, in a nutshell, some libc calls still need to be implemented, *moar* tests and other OS supports. I'm confident to have a beta version to present to the community in a couple of weeks (if nothing goes wrong).
Feel free to browse the code, comment on it, contribute!, etc...
https://github.com/dgoulet/torsocks/tree/rewrite
Cheers! David
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev