)]}'
{
  "commit": "89a48b00f4377e9ee0f74786700136b5274e1b4e",
  "tree": "b800a8b63114b8ed561e3044f37cf8542c804954",
  "parents": [
    "0494e2e2dfce49c6c158b6ffe09fffb23a6e1aca"
  ],
  "author": {
    "name": "Roman Arutyunyan",
    "email": "arut@nginx.com",
    "time": "Tue Dec 19 19:00:27 2017 +0300"
  },
  "committer": {
    "name": "Roman Arutyunyan",
    "email": "arut@nginx.com",
    "time": "Tue Dec 19 19:00:27 2017 +0300"
  },
  "message": "Fixed capabilities version.\n\nPreviously, capset(2) was called with the 64-bit capabilities version\n_LINUX_CAPABILITY_VERSION_3.  With this version Linux kernel expected two\ncopies of struct __user_cap_data_struct, while only one was submitted.  As a\nresult, random stack memory was accessed and random capabilities were requested\nby the worker.  This sometimes caused capset() errors.  Now the 32-bit version\n_LINUX_CAPABILITY_VERSION_1 is used instead.  This is OK since CAP_NET_RAW is\na 32-bit capability (CAP_NET_RAW \u003d 13).\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "135280f990b00c9747ca805a0c3288212105b214",
      "old_mode": 33188,
      "old_path": "auto/os/linux",
      "new_id": "2c8a9bb8e3807dfb26cbcf9fd529ea688699b20e",
      "new_mode": 33188,
      "new_path": "auto/os/linux"
    },
    {
      "type": "modify",
      "old_id": "9b0e0421e3910d22bb4f1feb85d7044642d33584",
      "old_mode": 33188,
      "old_path": "src/os/unix/ngx_process_cycle.c",
      "new_id": "5817a2c23b83bd700e22c3a94ded15aaf5b89408",
      "new_mode": 33188,
      "new_path": "src/os/unix/ngx_process_cycle.c"
    }
  ]
}
