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

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

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 0.5.0
    • 0.7.0
    • None
    • 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

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            gnodet Guillaume Nodet
            tulskiy Denis Tulskiy
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment