This is a discussion on Re: ssh localhost yes | true (follow up) within the OpenSSH Development forums, part of the Networking and Network Related category; On Thu, 23 Apr 2009, Kyle McKay wrote: > > > tests of S_IFSOCK or S_IFIFO so I'm unclear ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
On Thu, 23 Apr 2009, Kyle McKay wrote:
> > > tests of S_IFSOCK or S_IFIFO so I'm unclear on how it would be able to > > > tell the difference between 3 separate pairs of pipes (normal > > > USE_PIPES case), 1 shared socket pair + 1 separate socket pair > > > (normal !USE_PIPES case) and 1 socket pair + 2 pairs of pipes. > > > > The test is in channel_register_fds(), look for c->sock. > > Thanks for pointing me to that. > > Looks like you get some extra behavior if rfd == wfd, but you're not getting > that behavior normally when USE_PIPES is always defined in session.c, so > nothing obvious jumps out at me as breakage-waiting-to-happen with the patch > applied. channel code bugs rarely manifest in obvious ways, and they are difficult to debug when they do. I can't say for certain that mixing socketpairs and pipes will or won't cause problems, but I don't think it is a good path to go down if it is just papering over other problems. > Apparently bash isn't the only program to test that and sending Apple a bunch > of patches for a bunch of different programs is likely to delay getting any > fix accepted (be lucky if they take any fix at all and issue an official > update containing the fix within the next 6 months). > > In fact, Ubuntu bash gets it right, ("ssh localhost yes | true" does not hang > while "ssh localhost printenv" indicates ~/.bashrc is being run) so that > suggests Apple's bash sources are behind the times or also contain > bug-inducing patches or there is some other Darwin-specific behavior going on > that breaks things. > > Why not enhance ssh to officially support a socket/pipe combination? I don't think it is an "enhancement" to work around a bug that will be fixed in a couple of months. It is just added complexity that we will have to maintain forever. -d _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@mindrot.org https://lists.mindrot.org/mailman/li...enssh-unix-dev |