)]}'
{
  "commit": "f715c423224a292d79ba0e3df373c828fbae29f7",
  "tree": "05a763b9fb59e48acc27a565419bbcda601630bb",
  "parents": [
    "5c0fb889a1348ecaa5691f6139f9d60a610f2129"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Sat Jun 11 19:01:56 2016 -0400"
  },
  "committer": {
    "name": "Adam Langley",
    "email": "agl@google.com",
    "time": "Tue Jun 14 19:40:25 2016 +0000"
  },
  "message": "Make SSL_set_bio\u0027s ownership easier to reason about.\n\nSSL_set_bio has some rather complex ownership story because whether rbio/wbio\nare both owning depends on whether they are equal. Moreover, whether\nSSL_set_bio(ssl, rbio, wbio) frees ssl-\u003erbio depends on whether rbio is the\nexisting rbio or not. The current logic doesn\u0027t even get it right; see tests.\n\nSimplify this. First, rbio and wbio are always owning. All the weird ownership\ncases which we\u0027re stuck with for compatibility will live in SSL_set_bio. It\nwill internally BIO_up_ref if necessary and appropriately no-op the left or\nright side as needed. It will then call more well-behaved ssl_set_rbio or\nssl_set_wbio functions as necessary.\n\nChange-Id: I6b4b34e23ed01561a8c0aead8bb905363ee413bb\nReviewed-on: https://boringssl-review.googlesource.com/8240\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "03a4ea5db650094d76821d6e0e5f7f2f569e59b2",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "086aa9da5ca2be40875921acb132f0349800fed2",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "7f7bf5aac51ea9c0818415a3f044d110eb3b5b45",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.c",
      "new_id": "0d9569507bf562bad4ca37bfb7bc4c1e6dbb091b",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.c"
    },
    {
      "type": "modify",
      "old_id": "619b4b23fad5fd77bedd0dead781f91c5a3c6122",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "3e9cd1ed674fc0a3ced5d57744ce5ffa25ef7db5",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    }
  ]
}
