)]}'
{
  "commit": "d63435779fd2634b03976aab5f0cd13daab238a2",
  "tree": "13b1e1a7e7c8054ffc7d5f6d16bc0d8e5cf29d09",
  "parents": [
    "95dd54e57ff79f5440c424cbd34c781da14269e7"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Aug 15 17:29:02 2019 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Aug 27 23:41:41 2019 +0000"
  },
  "message": "Add initial support for 0-RTT with QUIC.\n\nThis adapts our existing API for QUIC, although I\u0027m not entirely\nconvinced the shape of it fits as it does with TCP. Things that needed\nto be changed:\n\n- There is a slight ordering issue on the server with HRR and releasing\n  the 0-RTT keys to QUIC.\n\n- Remove EndOfEarlyData.\n\n- At the early return point for the server, QUIC needs to have installed\n  the client traffic secrets earlier.\n\n- The maximum early data value is a constant in QUIC.\n\n- QUIC never installs early secrets at the TLS level. (In particular,\n  this avoids nuisances with do_send_second_client_hello\u0027s null cipher\n  not updating the encryption level.)\n\n- The read/write secrets for 0-RTT keys were mixed up.\n\nAs the QUIC tests are getting a bit unwieldy, I tidied them up a bit.\nThis CL does *not* handle the QUIC transport parameters or HTTP/3\nserver SETTINGS frame interactions with 0-RTT. That will be done in a\nseparate CL.\n\nI suspect if we ever implement DTLS 1.3, we\u0027ll find ourselves wanting to\nalign some of the QUIC bits here with DTLS and perhaps refine the\nhandshake/transport abstractions a bit.\n\nBug: 221\nChange-Id: I61f701d7241dbc99e5dbf57ae6c283e10b85b049\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/37145\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1ef9f84b92008c27f439c24186baa4ffc2a16f17",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "d3ca63c9e04654ab02368551c5d0060e416906b2",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "4e8ca6ab5a6ff35ca57ddc113d77995566dee9d9",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "8be9f6bbf59623b3e504baf2779224bea2f3a679",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "f55e0470a3c09923ba9b2cc2071555c7742265bc",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "ec3594c2e2743bec45e9da2cba0b9ebd9ec793b7",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "03760b6ee431655a177bccfe9ea76f7726232404",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "4b92acd776d5c11d0387112ddef724223a1105a0",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a7d0d892b5a1da744e84ab83ba39d876307d10a3",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "12f4738bc73e0a91b93cac1fe8adeff29ece888a",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "b8bebe1ba4d5ac099d466b0d19d89e3b3dc0733c",
      "old_mode": 33188,
      "old_path": "ssl/tls13_enc.cc",
      "new_id": "83b3d6243fe6eaab456ad0d46c98250cc6d703a9",
      "new_mode": 33188,
      "new_path": "ssl/tls13_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "f1891cf937b7886523c73306ed48ef72b91da297",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "a52a49c5cc394110cd89a67afaece82e11e423ff",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    }
  ]
}
