)]}'
{
  "commit": "d1e28ad53bec8e1ad6f642792ab663e7e509f67b",
  "tree": "74bffd4e74ebad1314e5aa5ce8715a03f5984377",
  "parents": [
    "929d4ee84974ed12dfe16bb7138443eba16c3321"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Thu Jun 30 13:50:32 2016 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Thu Jun 30 22:27:48 2016 +0000"
  },
  "message": "Remove key_exchange_info for plain RSA.\n\nThis isn\u0027t filled in on the client and Chromium no longer uses it for\nplain RSA. It\u0027s redundant with existing APIs. This is part of removing\nthe need for callers to call SSL_get_session where possible.\n\nSSL_get_session is ambiguous when it comes to renego. Some code wants\nthe current connection state which should not include the pending\nhandshake and some code wants the handshake scratch space which should.\nRenego doesn\u0027t exist in TLS 1.3, but TLS 1.3 makes NewSessionTicket a\npost-handshake message, so SSL_get_session is somewhat silly of an API\nthere too.\n\nSSL_SESSION_get_key_exchange_info is a BoringSSL-only API, so we can\nfreely change it and replace it with APIs keyed on SSL. In doing so, I\nthink it is better to provide APIs like \"SSL_get_dhe_group_size\" and\n\"SSL_get_curve_id\" rather than make the caller do the multi-step\nSSL_get_current_cipher / SSL_CIPHER_is_ECDHE dance. To that end, RSA\nkey_exchange_info is pointless as it can already be determined from the\npeer certificate.\n\nChange-Id: Ie90523083d8649701c17934b7be0383502a0caa3\nReviewed-on: https://boringssl-review.googlesource.com/8564\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "59096e4c472c73876575d880c3a1d3124d19eff3",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "80988b079b1b2d2878b64b1cc2e74aa9a080282a",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "8d8b1da2b4c9ac6c3b6e70d98a133375f239ea31",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.c",
      "new_id": "3d70f73549e94761b3e7f3b30b95126f348e9fb1",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.c"
    },
    {
      "type": "modify",
      "old_id": "465faeb4fa3ab203fcb728784b1a4b57d2dbd92b",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "32a6959075e38e5268d9b719e20eff9f196f83e7",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    }
  ]
}
