SOCKS issues with bitcoin in .2.3.18-rc vs .2.2.37
Support for propagating and selectively connecting through tor's socks proxy for onion addresses has recently been merged into Bitcoin.
The support as it stands right now works with .2.2.37 but the socks connect fails with 0x01 (general failure) using .2.3.18-rc.
I have pcaps of the working .2.2.37 functionality on an OS X 10.7 client using the browser bundle binaries and of the broken functionality on wheezy using the .2.3.18-rc wheezy packages.
In addition I have pcaps of connect.c (ProxyCommand for ssh/etc to use socks) going through the same onion addresses and working on both versions. I did this by running an sshd listening on the bitcoin port for these tests.
Everything in the handshake looks right to me except for the error response in .2.3.18-rc.
(The onion addresses in the dumps are public nodes.)
I tried adding NoIsolateSOCKSAuth and NoIsolateClientAddr to the SocksPort declaration but it didn't make any difference.
All that shows up in the .2.3.18-rc logs is the following (debug):
Jul 04 14:57:42.000 [warn] Socks version 0 not recognized. (Tor is not an http proxy.) Jul 04 14:57:42.000 [warn] Fetching socks handshake failed. Closing. Jul 04 14:57:43.000 [warn] Socks version 0 not recognized. (Tor is not an http proxy.) Jul 04 14:57:43.000 [warn] Fetching socks handshake failed. Closing.
Trac:
Username: jrmithdobbs