)]}'
{
  "commit": "387a01d699ed2c98c4e8f22cba464f4d03083918",
  "tree": "f256246d558b70a88848d586b63f15ca120f50c4",
  "parents": [
    "df853d3e1e73db2f3f19562c0fe066b058bf2616"
  ],
  "author": {
    "name": "Mark Bekhet",
    "email": "mark.bekhet@ericsson.com",
    "time": "Tue Apr 06 15:01:42 2021 -0400"
  },
  "committer": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Fri May 14 08:13:56 2021 +0200"
  },
  "message": "Adapt SendMessage of the NoShell command to AsyncCommand type\n\nBefore this change, the SendMessage class inside the NoShell command\nimplemented the Command interface. Therefore, the command was using\ninstances of OutputStream and closing them at the end of the command.\nGiven that the channel isn\u0027t closed at this stage, this produced a\nproblem as apache-sshd calls the flush method of one of the output\nstreams. Therefore, the command was hanging and didn\u0027t release the\nterminal until the user pressed a key.\n\nThis change adapts the SendMessage class to an AyncCommand type.\nTherefore, the Apache library treats the command as AsyncCommand and\nuses the newly introduced I/O streams instead of normal streams. As a\nresult, the problematic flush call of the output stream doesn\u0027t happen,\nbecause the normal output stream is not initialized, instead the I/O\nstreams are initialized and used.\n\nAn integration test is added to verify that the command doesn\u0027t hang\nindefinitely. It does so by setting a timeout to the command.\n\nBug: Issue 11142\nChange-Id: Ia6ed0d4ee264d2e901eaa17ea444bf715e3b44db\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dd31e4c081f4647a84ef44020ad49f7891487719",
      "old_mode": 33188,
      "old_path": "java/com/google/gerrit/sshd/NoShell.java",
      "new_id": "2a29a624a3dd50f90f7c123eed69420a4e225d68",
      "new_mode": 33188,
      "new_path": "java/com/google/gerrit/sshd/NoShell.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "72f07854ba27dac3a84d04b6148b986b873cfe45",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/integration/ssh/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ccaf0852991f820bc5f05e55f7b133a819dcdcb3",
      "new_mode": 33188,
      "new_path": "javatests/com/google/gerrit/integration/ssh/NoShellIT.java"
    }
  ]
}
