)]}'
{
  "commit": "4eb95ccfd64d46fad23f36238690594d02518467",
  "tree": "8ddc72907ba1a5c16a5227a3a417749b8c2e948d",
  "parents": [
    "8d3f130c557fd69ccb241ff781583dedad085542"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Wed Nov 16 17:08:23 2016 +0900"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Wed Nov 16 23:58:02 2016 +0000"
  },
  "message": "Parse ClientHello extensions before deciding on resumption.\n\nThis simplifies a little code around EMS and PSK KE modes, but requires\ntweaking the SNI code.\n\nThe extensions that are more tightly integrated with the handshake are\nstill processed inline for now. It does, however, require an extra state\nin 1.2 so the asynchronous session callback does not cause extensions to\nbe processed twice. Tweak a test enforce this.\n\nThis and a follow-up to move cert_cb before resumption are done in\npreparation for resolving the cipher suite before resumption and only\nresuming on match.\n\nNote this has caller-visible effects:\n\n- The legacy SNI callback happens before resumption.\n\n- The ALPN callback happens before resumption.\n\n- Custom extension ClientHello parsing callbacks also cannot depend on\n  resumption state.\n\n- The DoS protection callback now runs after all the extension callbacks\n  as it is documented to be called after the resumption decision.\n\nBUG\u003d116\n\nChange-Id: I1281a3b61789b95c370314aaed4f04c1babbc65f\nReviewed-on: https://boringssl-review.googlesource.com/11845\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4a99196862f5ede86267fba3bdac98955386fb52",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl3.h",
      "new_id": "4cf51e1bd76434e2f159f1839ccf41a186da2e3e",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl3.h"
    },
    {
      "type": "modify",
      "old_id": "4c12d090651b00418cc277e23c94fac52c2ea36a",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.c",
      "new_id": "1c61cdfe59819d7d659d6af4484be6f12806502b",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.c"
    },
    {
      "type": "modify",
      "old_id": "8f4300e27bff3023ce253974851cb42518c7b51d",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "8860d63917a481daae5ab3b57b5e35a31c3334ff",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "f59022fa3ee9b86355a7450bfddc8fcedc26f836",
      "old_mode": 33188,
      "old_path": "ssl/s3_both.c",
      "new_id": "d8720205545f7c9cb71966b4692604f3c8b95303",
      "new_mode": 33188,
      "new_path": "ssl/s3_both.c"
    },
    {
      "type": "modify",
      "old_id": "ca3022c56054615bd618a4d7ac63febcc50d69d5",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.c",
      "new_id": "982cb1aff178ef117d7f2aa2072303759238c7e6",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.c"
    },
    {
      "type": "modify",
      "old_id": "faf155ce7ce36b95a507c87beefe86b5750e4968",
      "old_mode": 33188,
      "old_path": "ssl/ssl_session.c",
      "new_id": "4a1f88dfeff9cd2c38ab988f408216eae1bc40f9",
      "new_mode": 33188,
      "new_path": "ssl/ssl_session.c"
    },
    {
      "type": "modify",
      "old_id": "08c5db0447fbf713b7d2ae36db2fea4862c025ea",
      "old_mode": 33188,
      "old_path": "ssl/t1_lib.c",
      "new_id": "bf40284e31042f4c231649a30a168fa70eb9c833",
      "new_mode": 33188,
      "new_path": "ssl/t1_lib.c"
    },
    {
      "type": "modify",
      "old_id": "ad71167aa7079813490f01691531be8cbc3c63bf",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "f55bf377ba7feebfb924344126ac444e19945917",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "979d8cc7a4e8ecf2230669369d3cb690efdf548b",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.c",
      "new_id": "ca4223ee427c71d3a6caf18c3aac0bd55045bd55",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.c"
    }
  ]
}
