[Bug 3872] Interactive input excessively buffered when using a mux socket if ControlPersist is set
bugzilla-daemon at mindrot.org
bugzilla-daemon at mindrot.org
Tue Oct 7 17:03:14 AEDT 2025
https://bugzilla.mindrot.org/show_bug.cgi?id=3872
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned-bugs at mindrot.org |djm at mindrot.org
--- Comment #11 from Damien Miller <djm at mindrot.org> ---
Created attachment 3907
--> https://bugzilla.mindrot.org/attachment.cgi?id=3907&action=edit
don't overload c->isatty
I think this fixes the problem.
The root cause was overloading the channel c->isatty variable.
Previously this meant "this channel is connected to a TTY" but
289239046b2c overloaded this to also mean "this channel's remote side
is connected to a PTY".
Unfortunately, c->isatty has some side effects. This includes sometimes
forcing reads on the local ttyfd even of poll() tells us the fd isn't
ready.
We only ever want to do that in sshd when we're on the ptymaster side;
doing in the client caused this problem.
The attached patch uses a separate channel struct member to track the
remote PTY status instead of c->isatty. AFAIK it should fix this bug.
--
You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.
More information about the openssh-bugs
mailing list