)]}'
{
  "commit": "c2128738a8c660886a35560844d8ba871d5b6d9d",
  "tree": "43b2297b812276f4ee18572684a7a584dd9ebaef",
  "parents": [
    "48f20f849f5fe63486eaa03df010a5316d137d38"
  ],
  "author": {
    "name": "Taylor Brandstetter",
    "email": "deadbeef@webrtc.org",
    "time": "Fri Jul 03 23:37:57 2020"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Tue Jul 07 03:06:24 2020"
  },
  "message": "Relanding: Fix data channel message integrity violation\n\nPatch originally submitted by Lennart Grahl:\nhttps://webrtc-review.googlesource.com/c/src/+/177527\n\nSCTP message chunks and notifications are being delivered interleaved.\nHowever, the way the code was structured previously, a notification\nwould interrupt reassembly of a message chunk and hand out the partial\nmessage, thereby violating message integrity. This patch separates the\nhandling of notifications and reassembly of messages.\n\nAdditional changes:\n\n- Remove illegal cast from non-validated u32 to enum (PPID)\n- Drop partial messages if the SID has been changed but EOR not yet\n  received instead of delivering them. (This should never happen\n  anyway.)\n- Don\u0027t treat TSN as timestamp (wat)\n- Replace \"usrsctplib/usrsctp.h\" with \u003cusrsctp.h\u003e, allowing a hack\n  to be removed from media/BUILD.gn\n\nBug: webrtc:11708\nChange-Id: I29733b03f67a3d840104b8608a7f0083466c2d0f\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/178469\nCommit-Queue: Taylor \u003cdeadbeef@webrtc.org\u003e\nReviewed-by: Karl Wiberg \u003ckwiberg@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#31641}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "188503e7f46165978053a0da3b92c5b2c0c1f2e6",
      "old_mode": 33188,
      "old_path": "AUTHORS",
      "new_id": "689220bb33471cbc6ae230ccfe36393c286ab63d",
      "new_mode": 33188,
      "new_path": "AUTHORS"
    },
    {
      "type": "modify",
      "old_id": "b6c78fdb397e20ce4fa40c739da02a574ad01f10",
      "old_mode": 33188,
      "old_path": "media/BUILD.gn",
      "new_id": "f1ead11e30be5a608a9c16d0af85286aa3c1f4e4",
      "new_mode": 33188,
      "new_path": "media/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "35824b7f25503d85e187152b5a6a596a6d459367",
      "old_mode": 33188,
      "old_path": "media/sctp/sctp_transport.cc",
      "new_id": "c399dfe98d5ad1df9cfa0f5066be3043939a72d6",
      "new_mode": 33188,
      "new_path": "media/sctp/sctp_transport.cc"
    },
    {
      "type": "modify",
      "old_id": "758503b509430ea87825ee9ac023e04b7556ac6f",
      "old_mode": 33188,
      "old_path": "media/sctp/sctp_transport.h",
      "new_id": "38029ffeb30a84e9f95121e4063ed569357c0240",
      "new_mode": 33188,
      "new_path": "media/sctp/sctp_transport.h"
    },
    {
      "type": "modify",
      "old_id": "da6c6290fd31ebfacdf1d8779bd3f2859f872de1",
      "old_mode": 33188,
      "old_path": "media/sctp/sctp_transport_unittest.cc",
      "new_id": "540d2bd5e49c555815bce2d39a664aad85fc135d",
      "new_mode": 33188,
      "new_path": "media/sctp/sctp_transport_unittest.cc"
    }
  ]
}
