Andrej Borsenkow writes:
>
> by default CVS on Unix tries to use standard file io instead of socket
> io when speaking to server (this is controlled by NO_SOCKET_TO_FD
> variable). That is, after opening connection to server it dup()'s socket
> (to get in/out channels), fdopen()'s them and is usinf stdio package to
> read/write. This for some reason greatly confuses SOCKS or may be OS.
> E.g. (seen with debugger) SOCKS tries to get SO_TYPE of output fd, gets
> 1 == UDP!!! even if original socket was of course TCP socket.
>
> Recompiling with NO_SOCKET_TO_FD works (as far as I can tell).
>
> BTW I applied dup() patch for SOCKS5 library with the same result.
>
> My question is - is it known problem? What is more probable - OS bug or
> some problems in SOCKS?
My guess would be that it's a bug in SOCKS that only shows up on certain
platforms -- I just tried the same thing you initially did on BSD/OS
4.0.1 (i.e., without NO_SOCKET_TO_FD) and it works fine, so it's not a
generic SOCKS bug.
I used to have a patch for SOCKS4 (later SOCKS4 and SOCKS5), but there
was never much interest, we got a new firewall that doesn't require
SOCKS, and runsocks made the whole thing pretty much moot, so I dropped
it.
-Larry Jones
No one can prove I did that!! -- Calvin