I posted an ugly kludge for this right after 3.6.1p1 was released, but
then SAKIYAMA Nobuo <nobuo at isl.rdc.toshiba.co.jp> replied with a proper
fix (a missing return statement):
diff -u packet.c.ORIG packet.c
--- packet.c.ORIG Tue Apr 1 05:43:39 2003
+++ packet.c Thu Apr 3 13:34:04 2003
@@ -1344,6 +1344,7 @@
/* Only set socket options if using a socket. */
if (!packet_connection_is_on_socket())
+ return;
if (interactive)
set_nodelay(connection_in);
#if defined(IP_TOS) && !defined(IP_TOS_IS_BROKEN)
---begin quoted text---> X-Original-To: openssh-unix-dev at mindrot.org
> From: "Henry E. Thorpe" <thorpe at wnmail.att.com>
> To: openssh-unix-dev at mindrot.org
> Subject: TCP_NODELAY always set, now?
> Reply-To: "Henry E. Thorpe" <thorpe at wnmail.att.com>
> User-Agent: Mutt/1.5.4i
> X-BeenThere: openssh-unix-dev at mindrot.org
> X-Mailman-Version: 2.0.12
> Date: Fri, 9 May 2003 13:53:21 -0400
>
> I know that there was a discussion on this about a year back, and
> there is a bug 556 this week that mentions TCP_NODELAY.
>
> However, when I use ssh through a pipe (e.g., to tunnel through an
> HTTP proxy using CONNECT) I see:
>
> getsockopt TCP_NODELAY: Socket operation on non-socket
>
> How do I tell which end is generating this (I'm assuming the local
> side, which is running through the pipe).
>
> Also, does anyone care, or is this the expected behavior?
>
> Connection looks like this:
>
> ssh -> pipe using ProxyCommand -> proxy -> sshd
>
> Client is OpenSSH_3.6.1p1 on FreeBSD 4.7-RELEASE-p6, server is
> OpenSSH_3.6 on OpenBSD/i386 3.3.
>
> --
> Henry E. Thorpe
>
> _______________________________________________
> openssh-unix-dev mailing list
> openssh-unix-dev at mindrot.org
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
---end quoted text---
--
Lee Eakin - leakin at dfw.nostrum.com
Remember, SCSI is not black magic. There are fundamental technical
reasons why it is necessary to sacrifice a goat at midnight in order
to get a SCSI device working properly.