InvertedShellWrapper may not send process output back if process exits too fast
-------------------------------------------------------------------------------
Key: SSHD-145
URL: https://issues.apache.org/jira/browse/SSHD-145
Project: MINA SSHD
Issue Type: Bug
Affects Versions: 0.5.0
Environment: Usually does not reproduce on windows, often on linux
(Ubuntu 11.04)
Reporter: Denis Tulskiy
Priority: Minor
In InvertedShellWrapper, pumpStreams() method first checks if the process is
alive, and only then pumps streams. It could happen that after the process has
already exited, some information is left out in out or err streams. Moving the
check for shell.isAlive() after all pumpStream() calls seems to resolve the
issue.
I've uploaded a patch for your convenience here https://gist.github.com/1206056
steps to reproduce:
1. create a default server
2. set command factory as described at http://mina.apache.org/sshd/tips.html
3. run `ssh localhost -p 8000 echo test`
expected result:
command output is `test`
actual result:
usually nothing is printed even though the command is executed
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira