)]}'
{
  "commit": "4501bd5118eebd54af4066e5eff016064185ba85",
  "tree": "81b6083e7f306cbe2e4bb7208a6e04b7de41c24c",
  "parents": [
    "e76cdde77d05e13c4743ce1b5fe102cb4dd30e03"
  ],
  "author": {
    "name": "David Benjamin",
    "email": "davidben@google.com",
    "time": "Mon Aug 01 13:39:41 2016 -0400"
  },
  "committer": {
    "name": "CQ bot account: commit-bot@chromium.org",
    "email": "commit-bot@chromium.org",
    "time": "Tue Aug 02 17:50:39 2016 +0000"
  },
  "message": "Align with OpenSSL on SSL_set_bio behavior.\n\nSSL_set_bio is a nightmare.\n\nIn f715c423224a292d79ba0e3df373c828fbae29f7, we noticed that, among\nother problems, SSL_set_bio\u0027s actual behavior did not match how\nSSL_set_rfd was calling it due to an asymmetry in the rbio/wbio\nhandling. This resulted in SSL_set_fd/SSL_set_rfd calls to crash.  We\ndecided that SSL_set_rfd\u0027s believed semantics were definitive and\nchanged SSL_set_bio.\n\nUpstream, in 65e2d672548e7c4bcb28f1c5c835362830b1745b, decided that\nSSL_set_bio\u0027s behavior, asymmetry and all, was definitive and that the\nSSL_set_rfd crash was a bug in SSL_set_rfd. Accordingly, they switched\nthe fd callers to use the side-specific setters, new in 1.1.0.\n\nAlign with upstream\u0027s behavior and add tests for all of SSL_set_bio\u0027s\ninsanity. Also export the new side-specific setters in anticipation of\nwanting to be mostly compatible with OpenSSL 1.1.0.\n\nChange-Id: Iceac9508711f79750a3cc2ded081b2bb2cbf54d8\nReviewed-on: https://boringssl-review.googlesource.com/9064\nReviewed-by: Adam Langley \u003cagl@google.com\u003e\nCommit-Queue: Adam Langley \u003cagl@google.com\u003e\nCQ-Verified: CQ bot account: commit-bot@chromium.org \u003ccommit-bot@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6fd5b3b556f115a7ffb8ca9a5ae92ac0c4f1d888",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "8a1eb4ce1318db3ea0e4e26040e7a751522c509a",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "21699c4fad712c2dde0bbf5328e737a390c799a3",
      "old_mode": 33188,
      "old_path": "ssl/ssl_lib.c",
      "new_id": "294f95dc8f67348c5eba0601985d5eac6d35829a",
      "new_mode": 33188,
      "new_path": "ssl/ssl_lib.c"
    },
    {
      "type": "modify",
      "old_id": "5dd689b5cd9959aed6bb62b18414482eb1c7b61c",
      "old_mode": 33188,
      "old_path": "ssl/ssl_test.cc",
      "new_id": "86e7942221f62e99021ce850ba310697c84edcbf",
      "new_mode": 33188,
      "new_path": "ssl/ssl_test.cc"
    }
  ]
}
