[tor-dev] Torsocks 2.0 RC code review

David Goulet dgoulet at ev0ke.net
Tue Nov 26 22:17:58 UTC 2013

Hi everyone,

The torsocks 2.0-rc3 code is getting quite stable in my opinion. There
are still some issues but nothing feature critical.


I would really love to have help with code review so it can get accepted
as a replacement in the near future. Some of you already gave feedbacks
so thanks but now it needs the "seal of approval" from the community :).

Here are some things you can start with. This new version is built to be
thread safe and provides a good compatibility layer for OSes (right now
FreeBSD, NetBSD, Linux and OS X are supported). Considering that, you
can direct your attention to this:

	* Synchronization issues (multi threading, reentrancy, ...)
	* Security obviously :)
	* Correctness.

This is an "inprocess" library thus it has to be bullet proof so it does
not crash the application.

In src/lib/, every libc call is in its corresponding file matching the
man page name like for instance gethostbyname.c contains all reentrant
functions and other version of that family as well (gethostbyname_r,
gethostbyname2, etc...). Reviewing them just to make sure they mimick as
close as possible the libc behaviour.

In src/common, connection.c/.h and onion.c/.h are probably the two
interfaces that need review. Connection is the one handling new socket
and their state where Onion handles the cookies that are sent back to
the client (by default: 127.42.42.x) to map an onion address to that
cookie once a connection is established (connect()).

Other than that, man pages and documentation are also important.

You can send patches via email or/and pull request (github or not), I'm
easy for contributions! :)

Thanks to all!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 620 bytes
Desc: Digital signature
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20131126/0d4041fe/attachment.sig>

More information about the tor-dev mailing list