)]}'
{
  "commit": "16a7a16f2b65fdf767ee1f47912e0ce18ecf7ec6",
  "tree": "51324f2d711aaf1b3a83f0e57834e9be400a6257",
  "parents": [
    "2625e42a459528710de252b496700277a860e76b"
  ],
  "author": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Oct 21 18:44:07 2021 +0300"
  },
  "committer": {
    "name": "Maxim Dounin",
    "email": "mdounin@mdounin.ru",
    "time": "Thu Oct 21 18:44:07 2021 +0300"
  },
  "message": "SSL: SSL_sendfile() support with kernel TLS.\n\nRequires OpenSSL 3.0 compiled with \"enable-ktls\" option.  Further, KTLS\nneeds to be enabled in kernel, and in OpenSSL, either via OpenSSL\nconfiguration file or with \"ssl_conf_command Options KTLS;\" in nginx\nconfiguration.\n\nOn FreeBSD, kernel TLS is available starting with FreeBSD 13.0, and\ncan be enabled with \"sysctl kern.ipc.tls.enable\u003d1\" and \"kldload ktls_ocf\"\nto load a software backend, see man ktls(4) for details.\n\nOn Linux, kernel TLS is available starting with kernel 4.13 (at least 5.2\nis recommended), and needs kernel compiled with CONFIG_TLS\u003dy (with\nCONFIG_TLS\u003dm, which is used at least on Ubuntu 21.04 by default,\nthe tls module needs to be loaded with \"modprobe tls\").\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d4ba1f7d53b5236df9e1a97540ed01a372902b19",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.c",
      "new_id": "84afecd0bf436932173986eec84e8f546ebfb150",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.c"
    },
    {
      "type": "modify",
      "old_id": "e7cb06e707984024f5138ad521d7c3e278860601",
      "old_mode": 33188,
      "old_path": "src/event/ngx_event_openssl.h",
      "new_id": "4afdfad483ca785acb2236ff96837a16b5708a05",
      "new_mode": 33188,
      "new_path": "src/event/ngx_event_openssl.h"
    },
    {
      "type": "modify",
      "old_id": "76bbcd67c97c53901502ab9142c110f7cbcac5b4",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_request.c",
      "new_id": "013b7158e23b68bc8a13fe734da8ac5a5bb6718e",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_request.c"
    },
    {
      "type": "modify",
      "old_id": "01c7877e6ab27d063a7604b86b8892a07b821101",
      "old_mode": 33188,
      "old_path": "src/http/ngx_http_upstream.c",
      "new_id": "daa8d2201881db9fe815f3aec45fc4c69270291e",
      "new_mode": 33188,
      "new_path": "src/http/ngx_http_upstream.c"
    }
  ]
}
