)]}'
{
  "commit": "b7bc80a9a632ab0c69598382304b14a63e8cae72",
  "tree": "3321098360a146ae5987057d24f3137cdba9c265",
  "parents": [
    "a2dd7818847e6a7128ca97fbc3fe8f16d12b194e"
  ],
  "author": {
    "name": "Matthew Braithwaite",
    "email": "mab@google.com",
    "time": "Fri Apr 13 15:51:30 2018 -0700"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue May 01 20:40:16 2018 +0000"
  },
  "message": "SSL_CONFIG: new struct for sheddable handshake configuration.\n\n|SSL_CONFIG| is a container for bits of configuration that are\nunneeded after the handshake completes.  By default it is retained for\nthe life of the |SSL|, but it may be shed at the caller\u0027s option by\ncalling SSL_set_shed_handshake_config().  This is incompatible with\nrenegotiation, and with SSL_clear().\n\n|SSL_CONFIG| is reachable by |ssl-\u003econfig| and by |hs-\u003econfig|.  The\nlatter is always non-NULL.  To avoid null checks, I\u0027ve changed the\nsignature of a number of functions from |SSL*| arguments to\n|SSL_HANDSHAKE*| arguments.\n\nWhen configuration has been shed, setters that touch |SSL_CONFIG|\nreturn an error value if that is possible.  Setters that return |void|\ndo nothing.\n\nGetters that request |SSL_CONFIG| values will fail with an |assert| if\nthe configuration has been shed.  When asserts are compiled out, they\nwill return an error value.\n\nThe aim of this commit is to simplify analysis of split-handshakes by\nmaking it obvious that some bits of state have no effects beyond the\nhandshake.  It also cuts down on memory usage.\n\nOf note: |SSL_CTX| is still reachable after the configuration has been\nshed, and a couple things need to be retained only for the sake of\npost-handshake hooks.  Perhaps these can be fixed in time.\n\nChange-Id: Idf09642e0518945b81a1e9fcd7331cc9cf7cc2d6\nBug: 123\nReviewed-on: https://boringssl-review.googlesource.com/27644\nCommit-Queue: David Benjamin \u003cdavidben@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\nReviewed-by: David Benjamin \u003cdavidben@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77bd4ded12352d9ffe58378c92837e21edae837c",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "2b8791484ae188093a3f36fe429e8809b53a67f8",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "2cbbaebbc66d357a0ee9964c773424c689794473",
      "old_mode": 33188,
      "old_path": "ssl/handoff.cc",
      "new_id": "89fca2f864599e288e7166b4fee55e41125ae2b9",
      "new_mode": 33188,
      "new_path": "ssl/handoff.cc"
    },
    {
      "type": "modify",
      "old_id": "00a2cc5d7eca374989a8453ae04111ed2f4bbfcb",
      "old_mode": 33188,
      "old_path": "ssl/handshake.cc",
      "new_id": "3962618fe3453c3d07a08d1ee72e382cb1a234ab",
      "new_mode": 33188,
      "new_path": "ssl/handshake.cc"
    },
    {
      "type": "modify",
      "old_id": "fbef2e12ae4f86ccbc3e29a5d1ba418625dfdef1",
      "old_mode": 33188,
      "old_path": "ssl/handshake_client.cc",
      "new_id": "e9b0eedfa4b1ab987aaf978471d842a660987c2e",
      "new_mode": 33188,
      "new_path": "ssl/handshake_client.cc"
    },
    {
      "type": "modify",
      "old_id": "6404cc9ef5499c8539ade164d03e85128197511a",
      "old_mode": 33188,
      "old_path": "ssl/handshake_server.cc",
      "new_id": "ac8d46bc14d12d8f5691868db7e4b7b573ef837c",
      "new_mode": 33188,
      "new_path": "ssl/handshake_server.cc"
    },
    {
      "type": "modify",
      "old_id": "b258589b72812648d7bd9555a6ae06ce776f7a74",
      "old_mode": 33188,
      "old_path": "ssl/internal.h",
      "new_id": "20c060a4fa974b1f280f334d20d1539aa7e16311",
      "new_mode": 33188,
      "new_path": "ssl/internal.h"
    },
    {
      "type": "modify",
      "old_id": "b1fc5fbf5ba7ec2ce3bb146261397c55bbfd79ba",
      "old_mode": 33188,
      "old_path": "ssl/s3_lib.cc",
      "new_id": "d6a25b76ecf9c15dd448422e7ec0e1ad1d2872ad",
      "new_mode": 33188,
      "new_path": "ssl/s3_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "20b451444dbe2eb3ca4d75d0350a09a7001352fe",
      "old_mode": 33188,
      "old_path": "ssl/ssl_cert.cc",
      "new_id": "730280c4b580f6ea15e4e7c8bedb48fa1d15e325",
      "new_mode": 33188,
      "new_path": "ssl/ssl_cert.cc"
    },
    {
      "type": "modify",
      "old_id": "78a1860d2b4f9f7eb01171da9fa091f2c4b8ee65",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.cc",
      "new_id": "1e5b3d1883315052dceef882ea9909120228fd27",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "bba03b76b4d2e6bb11c8505dfbe7bae1f5de9f03",
      "old_mode": 33188,
      "old_path": "ssl/ssl_privkey.cc",
      "new_id": "0fcd805149e07ee7fb08cbff7a39a2d5aa7d9f05",
      "new_mode": 33188,
      "new_path": "ssl/ssl_privkey.cc"
    },
    {
      "type": "modify",
      "old_id": "272fc5575a1e09db342d088de0cdd17ed4067f49",
      "old_mode": 33188,
      "old_path": "ssl/ssl_session.cc",
      "new_id": "b992e9a713ddd144d4e5ae58ea04e5323baa7299",
      "new_mode": 33188,
      "new_path": "ssl/ssl_session.cc"
    },
    {
      "type": "modify",
      "old_id": "5fb4fb44d93b236643b1a00efed872436728bb97",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "c7032afba07c271675811b6388d1a3526fbc1525",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    },
    {
      "type": "modify",
      "old_id": "73ea26f0f69d1d73b2f4b5b04bcffdcaa52c2a24",
      "old_mode": 33188,
      "old_path": "ssl/ssl_versions.cc",
      "new_id": "0e286203185c199c363fd8be215d732ebc40377e",
      "new_mode": 33188,
      "new_path": "ssl/ssl_versions.cc"
    },
    {
      "type": "modify",
      "old_id": "cb35339b571adcc277a40bb91e2882d0b54c4f9a",
      "old_mode": 33188,
      "old_path": "ssl/ssl_x509.cc",
      "new_id": "b9ea170eb8c05466fe425a03357b5d36edf715fd",
      "new_mode": 33188,
      "new_path": "ssl/ssl_x509.cc"
    },
    {
      "type": "modify",
      "old_id": "a8212467704e23a39da8eb4b2fb3bd6c0f6d9a56",
      "old_mode": 33188,
      "old_path": "ssl/t1_lib.cc",
      "new_id": "eb6d90b5377a161445e489e940827c8c78b2c76b",
      "new_mode": 33188,
      "new_path": "ssl/t1_lib.cc"
    },
    {
      "type": "modify",
      "old_id": "f1531bd8d3c1f04a1ae245ef7d53d0bb376172f5",
      "old_mode": 33188,
      "old_path": "ssl/test/bssl_shim.cc",
      "new_id": "dae759c1b07a60a6fc7131dcb6616baf6bd26f54",
      "new_mode": 33188,
      "new_path": "ssl/test/bssl_shim.cc"
    },
    {
      "type": "modify",
      "old_id": "866ad5374a484bc998fb4da58f40841a8938826b",
      "old_mode": 33188,
      "old_path": "ssl/test/runner/runner.go",
      "new_id": "d85efca369c500b16612fe4133f5029932f874c7",
      "new_mode": 33188,
      "new_path": "ssl/test/runner/runner.go"
    },
    {
      "type": "modify",
      "old_id": "f74267d0fba579a2cfe9168c6e193e7d90a6edcb",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.cc",
      "new_id": "9433e4cb38a5293c69173a31bba346ef24ea990c",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.cc"
    },
    {
      "type": "modify",
      "old_id": "95f38e0524c9bd3a6916a3b189de9831211c5680",
      "old_mode": 33188,
      "old_path": "ssl/test/test_config.h",
      "new_id": "4a03fbac6c7e13d6e1458e7fdcca668b6cd0034c",
      "new_mode": 33188,
      "new_path": "ssl/test/test_config.h"
    },
    {
      "type": "modify",
      "old_id": "defdac188e3bd0255cf71665c91f930050ea7dc4",
      "old_mode": 33188,
      "old_path": "ssl/tls13_both.cc",
      "new_id": "4cd3209eda2874f84cf1c4825fcc271e5b608d55",
      "new_mode": 33188,
      "new_path": "ssl/tls13_both.cc"
    },
    {
      "type": "modify",
      "old_id": "6e328b89fa6a389a2edd0ddfcb5e5ae5934f9b3b",
      "old_mode": 33188,
      "old_path": "ssl/tls13_client.cc",
      "new_id": "37940433d1dc4555f207c8bed5f2d8f0bb00df0e",
      "new_mode": 33188,
      "new_path": "ssl/tls13_client.cc"
    },
    {
      "type": "modify",
      "old_id": "fe0449d189a49735ba84cef2cb736a1fd8e29822",
      "old_mode": 33188,
      "old_path": "ssl/tls13_server.cc",
      "new_id": "5303f3f19117991bc157b9d15763e1c8978bea87",
      "new_mode": 33188,
      "new_path": "ssl/tls13_server.cc"
    },
    {
      "type": "modify",
      "old_id": "2ad2817c6414c489ec5d62133802a380c6a63a22",
      "old_mode": 33188,
      "old_path": "ssl/tls_method.cc",
      "new_id": "d0adcdba52bffed628a699cbed2e508d6bf76f60",
      "new_mode": 33188,
      "new_path": "ssl/tls_method.cc"
    }
  ]
}
