)]}'
{
  "commit": "02edcd009800c9d5354c1bb7080d0ec4dd4f23eb",
  "tree": "76801ea3eb739f43151a12fab16df99d22f72658",
  "parents": [
    "9fd9580137eec23ecb76d91cc58317308bfc8eb2"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Jul 27 17:40:37 2016 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Thu Jul 28 22:53:04 2016 +0000"
  },
  "message": "Reject stray post-Finished messages in DTLS.\n\nThis is in preparation for switching finish_handshake to a\nrelease_current_message hook. finish_handshake in DTLS is also\nresponsible for releasing any memory associated with extra messages in\nthe handshake.\n\nExcept that\u0027s not right and we need to make it an error anyway. Given\nthat the rest of the DTLS dispatch layer already strongly assumes there\nis only one message in epoch one, putting the check in the fragment\nprocessing works fine enough. Add tests for this.\n\nThis will certainly need revising when DTLS 1.3 happens (perhaps just a\nversion check, perhaps bringing finish_handshake back as a function that\ncan fail... which means we need a state just before SSL_ST_OK), but DTLS\n1.3 post-handshake messages haven\u0027t really been written down, so let\u0027s\ndo the easy thing for now and add a test for when it gets more\ninteresting.\n\nThis removes the sequence number reset in the DTLS code. That reset\nnever did anything becase we don\u0027t and never will renego. We should make\nsure DTLS 1.3 does not bring the reset back for post-handshake stuff.\n(It was wrong in 1.2 too. Penultimate-flight retransmits and renego\nrequests are ambiguous in DTLS.)\n\nBUG\u003d83\n\nChange-Id: I33d645a8550f73e74606030b9815fdac0c9fb682\nReviewed-on: https://boringssl-review.googlesource.com/8988\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "331703ad19914a47cdfcd50551552f15fef51169",
      "old_mode": 33188,
      "old_path": "ssl/d1_both.c",
      "new_id": "1d9cd75cbfbb686456ae8aece2a0101d60b5ef57",
      "new_mode": 33188,
      "new_path": "ssl/d1_both.c"
    },
    {
      "type": "modify",
      "old_id": "2376e968fe3abd392fb1b056486d9c179367748e",
      "old_mode": 33188,
      "old_path": "ssl/d1_pkt.c",
      "new_id": "ceb6e1790bf6918e46e6237dc26688d58658a7a9",
      "new_mode": 33188,
      "new_path": "ssl/d1_pkt.c"
    },
    {
      "type": "modify",
      "old_id": "15d90f6185d28a36e3a75fc93eef1bc6225e1445",
      "old_mode": 33188,
      "old_path": "ssl/dtls_method.c",
      "new_id": "09bd45505c3492401da70b7ad5eb2952038de0f8",
      "new_mode": 33188,
      "new_path": "ssl/dtls_method.c"
    },
    {
      "type": "modify",
      "old_id": "1014dea5e0fb72cb05d393c74aad40698f72c213",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/common.go",
      "new_id": "141f160ddccc5bbb0a094eca65280723bb106e9b",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/common.go"
    },
    {
      "type": "modify",
      "old_id": "b32be0e8fbd0bd9dc5ce6f121c05842379a9116b",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/handshake_client.go",
      "new_id": "36bd7e436c55f90a7910464deaeae2996df7950c",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/handshake_client.go"
    },
    {
      "type": "modify",
      "old_id": "012c8364746a51cd6cabb1ebfec5ad46becc3f6f",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/handshake_server.go",
      "new_id": "ff8005bddcd43252260e8c6c220996ef0026a70b",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/handshake_server.go"
    },
    {
      "type": "modify",
      "old_id": "d3cd77ff3eee3538943cba1441fb9038c74502e0",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "cde559260bf9d891d02fa393028128fb1d90ec81",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    }
  ]
}
