)]}'
{
  "commit": "1238381143a9a7ce84839c2582ccd56ff750a440",
  "tree": "83f309268f623840648babfdf2e64a7f5cce5167",
  "parents": [
    "29a087fb5a0c879f0b1bc4c6b989f7b87bacdf9e"
  ],
  "author": {
    "name": "Lasse Collin",
    "email": "lasse.collin@tukaani.org",
    "time": "Tue Mar 31 22:19:34 2015 +0300"
  },
  "committer": {
    "name": "Lasse Collin",
    "email": "lasse.collin@tukaani.org",
    "time": "Tue Mar 31 22:19:34 2015 +0300"
  },
  "message": "xz: Add support for sandboxing with Capsicum.\n\nThe sandboxing is used conditionally as described in main.c.\nThis isn\u0027t optimal but it was much easier to implement than\na full sandboxing solution and it still covers the most common\nuse cases where xz is writing to standard output. This should\nhave practically no effect on performance even with small files\nas fork() isn\u0027t needed.\n\nC and locale libraries can open files as needed. This has been\nfine in the past, but it\u0027s a problem with things like Capsicum.\nio_sandbox_enter() tries to ensure that various locale-related\nfiles have been loaded before cap_enter() is called, but it\u0027s\npossible that there are other similar problems which haven\u0027t\nbeen seen yet.\n\nCurrently Capsicum is available on FreeBSD 10 and later\nand there is a port to Linux too.\n\nThanks to Loganaden Velvindron for help.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c8fdb5e4127e58385cbd0953556f478f304e6f8c",
      "old_mode": 33188,
      "old_path": "configure.ac",
      "new_id": "aa68e33b02b8112f62ae2ba3075547c4d4379df4",
      "new_mode": 33188,
      "new_path": "configure.ac"
    },
    {
      "type": "modify",
      "old_id": "1f4a2791fbae4a6311fcad08080be454a8f499c3",
      "old_mode": 33188,
      "old_path": "src/xz/Makefile.am",
      "new_id": "500be4114d72964862f3a5ef2dfa9634f716b5b7",
      "new_mode": 33188,
      "new_path": "src/xz/Makefile.am"
    },
    {
      "type": "modify",
      "old_id": "20f512a25a9973b23fae73c691878a3b87dc709e",
      "old_mode": 33188,
      "old_path": "src/xz/file_io.c",
      "new_id": "308fa1d206a7b96d630ff356415af659fa595fbf",
      "new_mode": 33188,
      "new_path": "src/xz/file_io.c"
    },
    {
      "type": "modify",
      "old_id": "2de3379238d65f187fb574f671d0a51f4019dce5",
      "old_mode": 33188,
      "old_path": "src/xz/file_io.h",
      "new_id": "6722aef8409231a478fa3124e4afb9ed165e00ce",
      "new_mode": 33188,
      "new_path": "src/xz/file_io.h"
    },
    {
      "type": "modify",
      "old_id": "5608229d54c5a3a69c1e435cd232f6a2ab407025",
      "old_mode": 33188,
      "old_path": "src/xz/main.c",
      "new_id": "5e0789ada22c6201c64cb575a44f29f0605c4d7f",
      "new_mode": 33188,
      "new_path": "src/xz/main.c"
    },
    {
      "type": "modify",
      "old_id": "4acfa8dc45583eba9acc8370ef865fc362637bb0",
      "old_mode": 33188,
      "old_path": "src/xz/private.h",
      "new_id": "b84cbbb1fdd9f751b9be6487993f27627c6ae144",
      "new_mode": 33188,
      "new_path": "src/xz/private.h"
    }
  ]
}
