)]}'
{
  "commit": "26416e9dde31f0edaa24c13579846df651c0e23d",
  "tree": "ed2c5cf6120ffb4637aa116537199f315f5003cc",
  "parents": [
    "a1fadd399f29ff6cf6e555db42d165d54a941f8f"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@chromium.org",
    "time": "Sat Aug 22 16:04:17 2015 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Fri Aug 28 22:45:59 2015 +0000"
  },
  "message": "Remove the last of SESS_CERT.\n\nMove cert_chain to the SSL_SESSION. Now everything on an SSL_SESSION is\nproperly serialized. The cert_chain field is, unfortunately, messed up\nsince it means different things between client and server.\n\nThere exists code which calls SSL_get_peer_cert_chain as both client and\nserver and assumes the existing semantics for each. Since that function\ndoesn\u0027t return a newly-allocated STACK_OF(X509), normalizing between the\ntwo formats is a nuisance (we\u0027d either need to store both cert_chain and\ncert_chain_full on the SSL_SESSION or create one of the two variants\non-demand and stash it into the SSL).\n\nThis CL does not resolve this and retains the client/server difference\nin SSL_SESSION. The SSL_SESSION serialization is a little inefficient\n(two copies of the leaf certificate) for a client, but clients don\u0027t\ntypically serialize sessions. Should we wish to resolve it in the\nfuture, we can use a different tag number. Because this was historically\nunserialized, existing code must already allow for cert_chain not being\npreserved across i2d/d2i.\n\nIn keeping with the semantics of retain_only_sha256_of_client_certs,\ncert_chain is not retained when that flag is set.\n\nChange-Id: Ieb72fc62c3076dd59750219e550902f1ad039651\nReviewed-on: https://boringssl-review.googlesource.com/5759\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "65fa4a5f609168ac11e1d2d01cb73d45d0bfa2b5",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "e90810846f1a0949797a71df2e7ff818ffec07f3",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "7d9edd02f96e881dd2a076bd813ba1c553127b5f",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "d26fd6d09c3dace5be82992dadaedb951bd18fa0",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "576a8615f865b24f553a180850145145ef1e5dad",
      "old_mode": 33188,
      "old_path": "ssl/s3_clnt.c",
      "new_id": "485c29f99d5a75ac4509eade136329e8ca8f4a54",
      "new_mode": 33188,
      "new_path": "ssl/s3_clnt.c"
    },
    {
      "type": "modify",
      "old_id": "b5fa946a7d3454e7b14236dcb6745486a2466cd9",
      "old_mode": 33188,
      "old_path": "ssl/s3_srvr.c",
      "new_id": "037f23201b53bc1fd6948d774138b255d2479df7",
      "new_mode": 33188,
      "new_path": "ssl/s3_srvr.c"
    },
    {
      "type": "modify",
      "old_id": "ab1fd74bd3a236ea7763d58bec672d799393b579",
      "old_mode": 33188,
      "old_path": "ssl/ssl_asn1.c",
      "new_id": "2fd7f129f7aae598a59dead9fbefe14b3640959b",
      "new_mode": 33188,
      "new_path": "ssl/ssl_asn1.c"
    },
    {
      "type": "modify",
      "old_id": "66ef3426524d7eb8462cbcf95dcf3c31ee0c165d",
      "old_mode": 33188,
      "old_path": "ssl/ssl_cert.c",
      "new_id": "fd62a418efa1e7a5efee5709c4fd41c629b1b1d8",
      "new_mode": 33188,
      "new_path": "ssl/ssl_cert.c"
    },
    {
      "type": "modify",
      "old_id": "2964c37fcad531e5339c1e6955006ca6bf00fc78",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.c",
      "new_id": "bc01568c7354c8c9f668c36f418c148e05ed2568",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.c"
    },
    {
      "type": "modify",
      "old_id": "1c644fd8a72ca99c5ffb3b33c0f86742466afa48",
      "old_mode": 33188,
      "old_path": "ssl/ssl_sess.c",
      "new_id": "93d7afcca44691610a87478f991baf25eee986d3",
      "new_mode": 33188,
      "new_path": "ssl/ssl_sess.c"
    },
    {
      "type": "modify",
      "old_id": "bfb6b509a4e59ed0c8fe05fd3573e361cf5b8788",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "ad96e063e3749424ada9f89d0571ff452bb23a0e",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    }
  ]
}
