Restoring block mode on exiting

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

 



Hello,

OpenSSH incorrectly restores the standard mode (blocking mode) on standard
output upon exiting. This causes the next shell scripts commands to
potentially fail in EAGAIN.
The reproducer is:

#!/bin/sh
(
ssh localhost true
cat /dev/zero
) | sleep 30

Restoring the blocking modes happens with the duped file descriptors and
too late.

The changes causing this problem was introduced in
https://github.com/openssh/openssh-portable/commit/4d5456c7de108e17603a0920c4d15bca87244921

The 2 possible fixes can be found in
https://github.com/openssh/openssh-portable/pull/244 (adhoc patch) and
https://github.com/openssh/openssh-portable/pull/246 (more robust one).

I think it's worth fixing the issue in this, that or any other way.
I'll be happy to adopt any of those patches to the state when they become
suitable for upstream.

Many thanks in advance!

-- 
Dmitry Belyavskiy
_______________________________________________
openssh-unix-dev mailing list
openssh-unix-dev@xxxxxxxxxxx
https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev



[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux