)]}'
{
  "commit": "fb1c75caf8ba5d45a0f2c52facd36e4ad9289549",
  "tree": "9673e2ba29fb78bd804261421ed01783a7686f96",
  "parents": [
    "e491eeb610fcc69b98bc6d1ba08faf78655808f6"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu May 30 15:29:58 2024 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Jun 04 23:57:36 2024 +0000"
  },
  "message": "Test various empty string cases with NPN callbacks\n\nNPN is a little odd, owing to being a three-step process. The client\noffers NPN, then the server accepts NPN and offers a list of protocols,\nthen the client picks a protocol.\n\nThe server is permitted to accept NPN but then offer zero supported\nprotocols. This worked, but was not tested or clearly documented.\n\nIn the last step, the client *must* pick a protocol, but it is permitted\nto pick the empty string. The semantics of this are not explicitly\nstated in the draft, but one can infer it means we aren\u0027t picking a\nprotocol. This also worked but was not tested or clearly documented.\n\nChange-Id: I26d7089f4902834ff68a97467fc826e957d5fdf8\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/69027\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Bob Beck \u003cbbe@google.com\u003e\nAuto-Submit: David Benjamin \u003cdavidben@google.com\u003e\nCommit-Queue: Bob Beck \u003cbbe@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04c191fa62834cb77e9d3d4ba0096d7b94ca9878",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "6a92a288893f521efdb4489ff2f40c12e55c9477",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "38ab01ce9fc59c13da3e5e766846478a6c694f9d",
      "old_mode": 33188,
      "old_path": "ssl/test/bssl_shim.cc",
      "new_id": "5bf9af409b14ba66744b749c1f11e4c6ddbbd1c1",
      "new_mode": 33188,
      "new_path": "ssl/test/bssl_shim.cc"
    },
    {
      "type": "modify",
      "old_id": "082efceab1baac3fcf82dffc417f020fafc89c48",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/common.go",
      "new_id": "1681c2ba081f123cadc62c74c72a503be304932c",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/common.go"
    },
    {
      "type": "modify",
      "old_id": "0c338d734a47b7dab6502ed6811deabc7b44e4bf",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/handshake_client.go",
      "new_id": "7172b3dc3a262dfa76a66a0534e94336a1d04980",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/handshake_client.go"
    },
    {
      "type": "modify",
      "old_id": "ceaf02931a3ecdaadd7265b1b7a752da4a9ac2ea",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/handshake_server.go",
      "new_id": "7459b5b71eef24eb94b17988c21c5a53eebeaab3",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/handshake_server.go"
    },
    {
      "type": "modify",
      "old_id": "8a31afa24fb90fe6d8146b02db578bf8ec170b8d",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "39b7611622f0a332100067ea53bf7a33286062f5",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "b84fd082ae0c7af620f6dcfb8d6a594d90654108",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.cc",
      "new_id": "24b1bdd4db2c3d8a2c39b0ce030fec4eeae2ea6d",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.cc"
    },
    {
      "type": "modify",
      "old_id": "89cb2be732cf73600553371d4e8526e3dd2b4085",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.h",
      "new_id": "89656d19e8be1536fe2f9feda53433d00d09d94c",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.h"
    }
  ]
}
