)]}'
{
  "commit": "5298ef99bf2b2d77600b3bb74dd572027bf495be",
  "tree": "e4bb0202d08499df2e33f9f5987600b0d44baa32",
  "parents": [
    "80ddfc7d1b067da99e8f0e9090c280d7e62ab60c"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Fri Mar 13 12:17:30 2020 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Mon Mar 16 16:45:10 2020 +0000"
  },
  "message": "Configure QUIC secrets inside set_{read,write}_state.\n\nset_write_state flushes buffered handshake data, and we should finish\nwriting to a level before moving on to the next one.\n\nI\u0027ve moved the callback into set_{read,write}_state to ensure we still\nupdate read_level and write_level after installing secrets, since that\u0027s\nhow we decide what level to write things and we should never write\nalerts with keys we don\u0027t have. (I believe the only way this can come up\nis if the QUIC callback itself fails, but it still seems prudent to\ndefer updating the levels.)\n\nThis does unfortunately mean a goofy secret_for_quic parameter, though\nit is arguably more \"correct\" in that QUIC would ideally be a third\nSSL_PROTOCOL_METHOD, rather than escape hatches over TLS. Probably a\ncleaner abstraction would be for set_read_state and set_write_state to\ntake the secret and derive an SSLAEADContext internally.\n\nUpdate-Note: See b/151142920#comment9\nChange-Id: I4bbb76e15b5d95615ea643bccf796db87fae4989\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/40244\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Steven Valdez \u003csvaldez@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae26de7b15f2385d05b55df31170c9db665ccf14",
      "old_mode": 33188,
      "old_path": "ssl/dtls_method.cc",
      "new_id": "d179baef51fb43c4a505df1b3c690762f53f6bb8",
      "new_mode": 33188,
      "new_path": "ssl/dtls_method.cc"
    },
    {
      "type": "modify",
      "old_id": "91036ae9b04f80321787b4876668817062bc0c40",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "ac3a8448c65bf8d8ae5a0638451e8c0db9c2aa7a",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "22934054c513d49c6600a25dfb7ba8d61c1d4eaf",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "cc6fdee1a2a16b4b066aa5118361624c18f35cee",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "80910219a29479d62f1fbd729a92c924bbdd421d",
      "old_mode": 33188,
      "old_path": "ssl/t1_enc.cc",
      "new_id": "73b6544a81eb405ed2648d715bea9212b9a7827b",
      "new_mode": 33188,
      "new_path": "ssl/t1_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "722847172163d9858a78d4d79595decefec11d46",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "b889ac28364ef0f0c4cc31589cefce01e059cd28",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "3a2e4e5d322021ecb20ce7243489fd37cdba9f6a",
      "old_mode": 33188,
      "old_path": "ssl/tls13_enc.cc",
      "new_id": "69a55788cc8230ce19ed1417b150c6dcd9372190",
      "new_mode": 33188,
      "new_path": "ssl/tls13_enc.cc"
    },
    {
      "type": "modify",
      "old_id": "3868852d1c64e0b28dda9b3684850325ede4e58b",
      "old_mode": 33188,
      "old_path": "ssl/tls_method.cc",
      "new_id": "8165d1c9205852928b01fe5972b14f6b49d6380c",
      "new_mode": 33188,
      "new_path": "ssl/tls_method.cc"
    }
  ]
}
