)]}'
{
  "commit": "788bc81f45eb5c859cafdaaf9448a96c00faed11",
  "tree": "48bb8c3cd0d9097ab286634187d5f257b75ad998",
  "parents": [
    "d6fcf3664709aad7e7d207f467b5185d65ebf19f"
  ],
  "author": {
    "name": "Sergey Kandaurov",
    "email": "pluknet@nginx.com",
    "time": "Tue Aug 10 23:43:17 2021 +0300"
  },
  "committer": {
    "name": "Sergey Kandaurov",
    "email": "pluknet@nginx.com",
    "time": "Tue Aug 10 23:43:17 2021 +0300"
  },
  "message": "SSL: use of the SSL_OP_IGNORE_UNEXPECTED_EOF option.\n\nA new behaviour was introduced in OpenSSL 1.1.1e, when a peer does not send\nclose_notify before closing the connection.  Previously, it was to return\nSSL_ERROR_SYSCALL with errno 0, known since at least OpenSSL 0.9.7, and is\nhandled gracefully in nginx.  Now it returns SSL_ERROR_SSL with a distinct\nreason SSL_R_UNEXPECTED_EOF_WHILE_READING (\"unexpected eof while reading\").\nThis leads to critical errors seen in nginx within various routines such as\nSSL_do_handshake(), SSL_read(), SSL_shutdown().  The behaviour was restored\nin OpenSSL 1.1.1f, but presents in OpenSSL 3.0 by default.\n\nUse of the SSL_OP_IGNORE_UNEXPECTED_EOF option added in OpenSSL 3.0 allows\nto set a compatible behaviour to return SSL_ERROR_ZERO_RETURN:\nhttps://git.openssl.org/?p\u003dopenssl.git;a\u003dcommitdiff;h\u003d09b90e0\n\nSee for additional details: https://github.com/openssl/openssl/issues/11381\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "72dd20649d4848a69065acdc2fd938d8a33018af",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.c",
      "new_id": "ce2a566cdd83f93e3a156ac845c171d2ee7ce78b",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.c"
    }
  ]
}
