)]}'
{
  "commit": "00f1c2df2a1c4903f4daa1333bafeb6dcbc9591d",
  "tree": "61e9da42f580f7f120bac8c7cbeab39f2a0311ab",
  "parents": [
    "8d614ade511fef11f992d6a73e538d33b3b81f12"
  ],
  "author": {
    "name": "Wei Yongjun",
    "email": "yjwei@cn.fujitsu.com",
    "time": "Tue Aug 21 15:50:01 2007 +0800"
  },
  "committer": {
    "name": "Vlad Yasevich",
    "email": "vladislav.yasevich@hp.com",
    "time": "Thu Aug 30 13:50:48 2007 -0400"
  },
  "message": "SCTP: Fix to encode PROTOCOL VIOLATION error cause correctly\n\nPROTOCOL VIOLATION error cause in ABORT is bad encode when make abort\nchunk. When SCTP encode ABORT chunk with PROTOCOL VIOLATION error cause,\nit just add the error messages to PROTOCOL VIOLATION error cause, the\nrest four bytes(struct sctp_paramhdr) is just add to the chunk, not\nchange the length of error cause. This cause the ABORT chunk to be a bad\nformat. The chunk is like this:\n\nABORT chunk\n  Chunk type: ABORT (6)\n  Chunk flags: 0x00\n  Chunk length: 72 (*1)\n  Protocol violation cause\n    Cause code: Protocol violation (0x000d)\n    Cause length: 62 (*2)\n    Cause information: 5468652063756D756C61746976652074736E2061636B2062...\n    Cause padding: 0000\n[Needless] 00030010\nChunk Length(*1) \u003d 72 but Cause length(*2) only 62, not include the\nextend 4 bytes.\n((72 - sizeof(chunk_hdr)) \u003d 68) !\u003d (62 +3) / 4 * 4\n\nSigned-off-by: Wei Yongjun \u003cyjwei@cn.fujitsu.com\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "73cb9943c8a887ef8afb61b59e243ce858427599",
      "old_mode": 33188,
      "old_path": "include/net/sctp/sm.h",
      "new_id": "991c85bb9e3648e83cf44599d36845aa92bd9fc4",
      "new_mode": 33188,
      "new_path": "include/net/sctp/sm.h"
    },
    {
      "type": "modify",
      "old_id": "ee4559b1130201e845548d07e12bd425cbb1349c",
      "old_mode": 33188,
      "old_path": "include/net/sctp/structs.h",
      "new_id": "c0d5848c33dc1535688799b4020a2f9a7b52d586",
      "new_mode": 33188,
      "new_path": "include/net/sctp/structs.h"
    },
    {
      "type": "modify",
      "old_id": "93df833f34f4d556521c7e24611e872d1370e07e",
      "old_mode": 33188,
      "old_path": "net/sctp/sm_make_chunk.c",
      "new_id": "adc5e593472802812b8fd2095c4e05f2922a8f58",
      "new_mode": 33188,
      "new_path": "net/sctp/sm_make_chunk.c"
    },
    {
      "type": "modify",
      "old_id": "71cad56dd73fe62e0e1422f23cd7eb56c5f31f70",
      "old_mode": 33188,
      "old_path": "net/sctp/sm_statefuns.c",
      "new_id": "350d47654720654edaf5b1f9df96761dea6c4585",
      "new_mode": 33188,
      "new_path": "net/sctp/sm_statefuns.c"
    }
  ]
}
