[Bug 2124] New: TCP_NODELAY not set by sshd for non-interactive non-exec sessions

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Wed Jul 3 10:23:16 EST 2013


https://bugzilla.mindrot.org/show_bug.cgi?id=2124

            Bug ID: 2124
           Summary: TCP_NODELAY not set by sshd for non-interactive
                    non-exec sessions
           Product: Portable OpenSSH
           Version: -current
          Hardware: All
                OS: All
            Status: NEW
          Severity: trivial
          Priority: P5
         Component: sshd
          Assignee: unassigned-bugs at mindrot.org
          Reporter: arthurhsliu at gmail.com

Bugs #556 and #981 describe situations where TCP_NODELAY is not set. A
fix is provided in bug #556. However, the patch commit for packet.c in
revision 1.120 does not set TCP_NODELAY for all connections.

If the ssh client is invoked with:
ssh -N host -R port          # TCP_NODELAY is not set
ssh -n host -R port sleep 1d # TCP_NODELAY is set - this is a
workaround

There is a difference in TCP_NODELAY being set or not depending on
whether there is a remote command being executed. This is because
packet_set_interactive() is only called in do_exec() on the server
side.
This bug has the unfortunate effect of not setting TCP_NODELAY for port
forwarding only connections.

The proper fix is probably to use attachment 1099 by Darren Tucker that
sets it for all connections on the server side.
https://bugzilla.mindrot.org/show_bug.cgi?id=556#c10
https://bugzilla.mindrot.org/attachment.cgi?id=1099&action=diff

Issue present is in OpenSSH 4.4 through to 6.2 and -current.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.


More information about the openssh-bugs mailing list