)]}'
{
  "commit": "c890ae519582d988d93d333dca9a39ee44f413ee",
  "tree": "adf266c4cea69f00dc2881a8aeacb3a9fccabb3e",
  "parents": [
    "c3b373bf4f4b2e2fba2578d1d5b5fe04e410f7cb"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sun Jun 06 13:32:29 2021 -0400"
  },
  "committer": {
    "name": "Boringssl LUCI CQ",
    "email": "boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Jun 11 18:04:06 2021 +0000"
  },
  "message": "Make ECH server APIs take EVP_HPKE_KEY.\n\nPreviously we would extract the KEM ID from the ECHConfig and then parse\nthe private key using the corresponding KEM type. This CL makes it take\na pre-pared EVP_HPKE_KEY and checks it matches. This does require the\ncaller pass the key type through externally, which is probably prudent?\n(On the other hand we are still inferring config from the rest of the\nECHConfig... maybe we can add an API to extract the EVP_HPKE_KEM from a\nserialized ECHConfig if it becomes a problem. I could see runner or tool\nwanting that out of convenience.)\n\nThe immediate motivation is to add APIs to programmatically construct\nECHConfigs. I\u0027m thinking we can pass a const EVP_HPKE_KEY * to specify\nthe key, at which point it\u0027s weird for SSL_ECH_KEYS_add to look\ndifferent.\n\nBug: 275\nChange-Id: I2d424323885103d3fe0a99a9012c160baa8653bd\nReviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/48002\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6840e83401c8f96cbf587f747af7c3b82a0b18d1",
      "old_mode": 33188,
      "old_path": "crypto/hpke/hpke.c",
      "new_id": "fe50bc2faa0dcc052ceeef063c6d7dd82de5100d",
      "new_mode": 33188,
      "new_path": "crypto/hpke/hpke.c"
    },
    {
      "type": "modify",
      "old_id": "1b4ccdd21503cad8b87c09be211ebaf25a6a48d8",
      "old_mode": 33188,
      "old_path": "crypto/hpke/hpke_test.cc",
      "new_id": "a7bfe752c6555ed41b5c4bfbcbfc2efed0084bff",
      "new_mode": 33188,
      "new_path": "crypto/hpke/hpke_test.cc"
    },
    {
      "type": "modify",
      "old_id": "3739e872b039a5c328753f6751a1a0cf9bc0a386",
      "old_mode": 33188,
      "old_path": "fuzz/ssl_ctx_api.cc",
      "new_id": "da0a2d3fd27a3277d8aff64d0dfa9bf79052133a",
      "new_mode": 33188,
      "new_path": "fuzz/ssl_ctx_api.cc"
    },
    {
      "type": "modify",
      "old_id": "358ca2306e019f9a97fda5069cffd65d3a429a4f",
      "old_mode": 33188,
      "old_path": "include/openssl/hpke.h",
      "new_id": "2f14f777fc306a57d4906782c14fa995c23c5c7f",
      "new_mode": 33188,
      "new_path": "include/openssl/hpke.h"
    },
    {
      "type": "modify",
      "old_id": "191cf4b2ef1447ce5897c0814ea1cb04d5173365",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "5b07ebffd44689d0a13f99b94abb539619a00ff3",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "46590bd7d82268af40c2eef04428ec852850e6f3",
      "old_mode": 33188,
      "old_path": "ssl/encrypted_client_hello.cc",
      "new_id": "d1adc684b2e45ed006317703d9f445b393313083",
      "new_mode": 33188,
      "new_path": "ssl/encrypted_client_hello.cc"
    },
    {
      "type": "modify",
      "old_id": "8aceac703919d04ca80de7a47026170ef7b74d57",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "62a9a067d58f28e40c583795f0c5cd33388eaef1",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "f939bfe0a295930cbd82f8f1c7cb9cb02aac3088",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "a8e6a0c2a5d2cbfd343134032ff49d2ac1082418",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "07c2d6d12362ddcd97a2746d95e504b7c23454f5",
      "old_mode": 33188,
      "old_path": "ssl/test/fuzzer.h",
      "new_id": "509cfdb38d523002131cb48da105d30598890822",
      "new_mode": 33188,
      "new_path": "ssl/test/fuzzer.h"
    },
    {
      "type": "modify",
      "old_id": "9e682295ddfcb17d61ff3f8ac45c9330f8f83116",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.cc",
      "new_id": "7978a70be26a6b984c80ebd4e17f977de40dd173",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.cc"
    },
    {
      "type": "modify",
      "old_id": "858e8a1e8cde5b2e07d4ca6e2ba48c0d4dfa8a6f",
      "old_mode": 33188,
      "old_path": "tool/server.cc",
      "new_id": "18b692d32c2bec25bef898e61a19cfa43ca0f958",
      "new_mode": 33188,
      "new_path": "tool/server.cc"
    }
  ]
}
