Uploaded image for project: 'MINA SSHD'
  1. MINA SSHD
  2. SSHD-145

InvertedShellWrapper may not send process output back if process exits too fast

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 0.5.0
    • Fix Version/s: 0.7.0
    • Labels:
      None
    • Environment:
      Usually does not reproduce on windows, often on linux (Ubuntu 11.04)

      Description

      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

        Attachments

        1. patch-with-test.patch
          7 kB
          Pierre-Etienne Poirot

          Issue Links

            Activity

              People

              • Assignee:
                gnt Guillaume Nodet
                Reporter:
                tulskiy Denis Tulskiy
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: