ssh + socks
Philip Hands writes:
> >
> > If someone wants to use ssh with socks4, he can use runsocks. So there
> > is no problem here.
>
> Is this the ``right'' solution, or should something in libsocks4 be fixed, and
> then ssh linked against it ?
>
> If using runsocks is the right way to go (I don't use socks, so I don't know),
> then close the bug report.
>
> Otherwise, mail me when it's fixed, and I'll resume linking ssh against
> libsocks4
>
Phil,
this problem is still pending.
ssh is not working with runsocks. I do not know why. It always says
that the host I want to connect is not known.
It is a standard feature of libsocks4 to give syslog messages on debug
level about which connections are maid.
So there are three options we have.
1. Ignore the debug syslog messages, relink ssh with socks and close
the bug report claiming that it is no bug. (Herbert will not like
this one, I suppose.)
2. Implement the changes I sent to you in a previous message and
appended below. socks could then be enabled via /etc/ssh_config and
a commandline option. This would be the best solution in my
opinion, but needs some work to do.
3. Releasing a separate ssh-socks version. I could do this.
So, please, lets get this solved soon.
Christoph
-----------------------------------------------------------------------------
(old code:)
#if defined(SOCKS) && !defined(HAVE_SOCKS_H)
if (Rconnect(sock, (struct sockaddr *)&hostaddr,
sizeof(hostaddr)) >= 0)
#else /* SOCKS */
if (connect(sock, (struct sockaddr *)&hostaddr,
sizeof(hostaddr)) >= 0)
#endif /* SOCKS */
{
/* Successful connection. */
break;
}
(new code:)
#if defined(SOCKS) && !defined(HAVE_SOCKS_H)
if socks
if (Rconnect(sock, (struct sockaddr *)&hostaddr,
sizeof(hostaddr)) >= 0)
{
/* Successful connection. */
break;
}
else
#else /* SOCKS */
if (connect(sock, (struct sockaddr *)&hostaddr,
sizeof(hostaddr)) >= 0)
#endif /* SOCKS */
{
/* Successful connection. */
break;
}
There are only 4 calls to socks function in ssh.
Reply to: