)]}'
{
  "log": [
    {
      "commit": "ff1beaccf2997a56b83fe49172623984be7a3221",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "d4828b3ba449355aa2d1751026e5f1d1129cedcf"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 12 09:14:06 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Dec 12 09:16:22 2016 -0800"
      },
      "message": "external/libselinux: Delete all files\n\nThis repository was removed from the manifest in\nhttps://android-review.googlesource.com/293506. The files in\nthis stale manifest are polluting search results.\n\nTest: unneeded. Deleting stale files.\nChange-Id: I067c23b991b0da88bb61b179c9e00f6c405f5ad1\n"
    },
    {
      "commit": "d4828b3ba449355aa2d1751026e5f1d1129cedcf",
      "tree": "cf65e0d189ab8ca0b4a2c0606bd59c9fa2ab82e3",
      "parents": [
        "0c4cc8191edf7ffbc564c08c054c8c03b4a131fa"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Oct 21 15:03:25 2016 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Oct 21 15:11:55 2016 -0700"
      },
      "message": "libselinux: migrate to upstream libselinux\n\nMove from the Android fork of libselinux to the upstream version\nwhich already lives in external/selinux/libselinux.\n\nTest: Angler builds and boots\nBug: 31910164\nChange-Id: Ie8617b8dba13555d178b5730fcfa5370c52eb5db\n"
    },
    {
      "commit": "0c4cc8191edf7ffbc564c08c054c8c03b4a131fa",
      "tree": "aa9a59249c9165c03fa9b29e7a67224247c75b3d",
      "parents": [
        "c1310d541ff32b0cac6668e0d68317f736a9ef34"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Oct 06 10:04:54 2016 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Oct 06 10:28:26 2016 -0700"
      },
      "message": "Rename autoplay_app to ephemeral_app\n\nTest: Builds and boots\nChange-Id: I0cb687c9dd94c84b1e12e468ae0857b538757310\n"
    },
    {
      "commit": "c1310d541ff32b0cac6668e0d68317f736a9ef34",
      "tree": "c22a2bc9fb21dba0e0a5762e6b72c832ef3c0268",
      "parents": [
        "a63b41e17ba267d679b6302d406eafabb92cb4fe"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu Sep 08 12:07:31 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Mon Oct 03 10:15:53 2016 +0100"
      },
      "message": "fix lax service context lookup\n\nWe use the same lookup function for service contexts\nthat we use for property contexts. However, property\ncontexts are namespace based and only compare the\nprefix. This may lead to service associations with\na wrong label.\n\nThis patch introduces a stricter lookup function for\nservices contexts. Now the service name must match\nthe key of the service label exactly.\n\nTest: bullhead builds and boots\n\nBug: 31353148\nChange-Id: I16dd276e1e74c0d04af4e067992385be5499b01d\n"
    },
    {
      "commit": "a63b41e17ba267d679b6302d406eafabb92cb4fe",
      "tree": "13f87d36d3029ccfb086f7763e19789ad35ada70",
      "parents": [
        "e017b64c19b5df8c045ed06f56f237ebc153ff1f"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Aug 31 11:03:57 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Aug 31 11:09:40 2016 +0100"
      },
      "message": "Fix compiler warnings\n\nFix format string specifier mismatch, and silence unused parameter\nwarning.\n\nChange-Id: If1e96c567bddc2e1e151fb9f738405966fe5955b\n"
    },
    {
      "commit": "e017b64c19b5df8c045ed06f56f237ebc153ff1f",
      "tree": "5cb76874115ee07ae1fe44df88778548e3f906d4",
      "parents": [
        "5fa51447d97988d919de1fdc21208c51730aaee0",
        "ef6d09c379f6dddd03fecc862c6ef80321fb8c94"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Mon Aug 22 14:59:11 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Mon Aug 22 15:01:51 2016 +0100"
      },
      "message": "resolve merge conflicts of ef6d09c to master\n\nChange-Id: I211040052cdf230221f3f0ba6f25b063c636b77e\n"
    },
    {
      "commit": "5fa51447d97988d919de1fdc21208c51730aaee0",
      "tree": "e3ac43cb47a720bc74ed41dc4d8409fdef0ca967",
      "parents": [
        "d9b1cd0f900f85574b535e8c3d0352970ebc9fd8",
        "74735be53714daf93ff58a830c94516c262eab00"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Aug 19 19:32:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 19 19:32:03 2016 +0000"
      },
      "message": "Toggels libselinux to build against PCRE2\nam: 74735be537  -s ours\n\nChange-Id: I79945a45dc293402010cfd2359d8ba698e662474\n"
    },
    {
      "commit": "74735be53714daf93ff58a830c94516c262eab00",
      "tree": "983493f1103a554ea8150711ff03a5cddcf3be98",
      "parents": [
        "1fdb7269011acd49e50b4c800676562f44b4b749"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Wed Aug 10 11:49:43 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Aug 19 15:15:31 2016 +0100"
      },
      "message": "Toggels libselinux to build against PCRE2\n\nMerged-In: I96ed1249a6032935906e8a0af4668eb42f9b1238\nBug: 24091652\nChange-Id: I96ed1249a6032935906e8a0af4668eb42f9b1238\n"
    },
    {
      "commit": "d9b1cd0f900f85574b535e8c3d0352970ebc9fd8",
      "tree": "e3ac43cb47a720bc74ed41dc4d8409fdef0ca967",
      "parents": [
        "4740379d9ee2b56cb565437c43e374c07ff36dc9",
        "1fdb7269011acd49e50b4c800676562f44b4b749"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jul 22 19:33:36 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 22 19:33:36 2016 +0000"
      },
      "message": "Convert Android.mk to Android.bp\nam: 1fdb726901\n\nChange-Id: Ib8573e1a6e989c8532b6d6a8e54e48c7e16f06d7\n"
    },
    {
      "commit": "1fdb7269011acd49e50b4c800676562f44b4b749",
      "tree": "66f5699a5a79fe48808f529ad12b1634618e6019",
      "parents": [
        "a9677b666c6ae598291f8b7757bef967b6338335"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jul 19 22:15:28 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Jul 19 22:16:08 2016 -0700"
      },
      "message": "Convert Android.mk to Android.bp\n\nChange-Id: I9a20324163f6b36451e8c5bbbaf3e2ecf0f4ad25\n"
    },
    {
      "commit": "ef6d09c379f6dddd03fecc862c6ef80321fb8c94",
      "tree": "bc4d94dc40817dab5cfa705370e5c6e63518d479",
      "parents": [
        "d474e5f2da4a25ca21029bb477bbe388291759eb",
        "d2ebe5cfa7b39242bb7c2fb44feecedeef2aa370"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri May 06 16:46:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 16:46:51 2016 +0000"
      },
      "message": "Port libselinux to pcre2 am: 31f5cd6e3e am: c9e48770b5\nam: d2ebe5cfa7\n\n* commit \u0027d2ebe5cfa7b39242bb7c2fb44feecedeef2aa370\u0027:\n  Port libselinux to pcre2\n\nChange-Id: I350e5fe32f4cd198b2316323d7c702972f2ddbab\n"
    },
    {
      "commit": "4740379d9ee2b56cb565437c43e374c07ff36dc9",
      "tree": "7e60446f938e62e97309a2da72a36f2b6bea9e0a",
      "parents": [
        "d2ebe5cfa7b39242bb7c2fb44feecedeef2aa370",
        "9ba0af9eaef8742b5fec684d4faa7c398b100485"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri May 06 16:41:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 16:41:51 2016 +0000"
      },
      "message": "Fixes (un)signed comparison warning in regex.c am: a9677b666c\nam: 9ba0af9eae\n\n* commit \u00279ba0af9eaef8742b5fec684d4faa7c398b100485\u0027:\n  Fixes (un)signed comparison warning in regex.c\n\nChange-Id: I8204ae2a9086f74865d22dc1c7c482e13f492eaa\n"
    },
    {
      "commit": "d2ebe5cfa7b39242bb7c2fb44feecedeef2aa370",
      "tree": "bc4d94dc40817dab5cfa705370e5c6e63518d479",
      "parents": [
        "d474e5f2da4a25ca21029bb477bbe388291759eb",
        "c9e48770b566b694d43949c097c0718e3d1191aa"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri May 06 16:41:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 16:41:51 2016 +0000"
      },
      "message": "Port libselinux to pcre2 am: 31f5cd6e3e\nam: c9e48770b5\n\n* commit \u0027c9e48770b566b694d43949c097c0718e3d1191aa\u0027:\n  Port libselinux to pcre2\n\nChange-Id: I3987f01a388eb6b08bd4074e8d76f31e90bdb846\n"
    },
    {
      "commit": "9ba0af9eaef8742b5fec684d4faa7c398b100485",
      "tree": "8710c7f0ddde5589d974adaf8a0fed4e7fa20ac6",
      "parents": [
        "c9e48770b566b694d43949c097c0718e3d1191aa",
        "a9677b666c6ae598291f8b7757bef967b6338335"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri May 06 16:37:06 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 16:37:06 2016 +0000"
      },
      "message": "Fixes (un)signed comparison warning in regex.c\nam: a9677b666c\n\n* commit \u0027a9677b666c6ae598291f8b7757bef967b6338335\u0027:\n  Fixes (un)signed comparison warning in regex.c\n\nChange-Id: Iddaba829ee479d299281eaa94c717a56ad6b9fdd\n"
    },
    {
      "commit": "c9e48770b566b694d43949c097c0718e3d1191aa",
      "tree": "1b850c15ccad2b9f1b9e94c6a890322218749024",
      "parents": [
        "bdc327bd33e9778e1e888f82f8b9bfebae1f5c30",
        "31f5cd6e3ea8ed34a35bf43bf135565301ad7062"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri May 06 16:37:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 06 16:37:05 2016 +0000"
      },
      "message": "Port libselinux to pcre2\nam: 31f5cd6e3e\n\n* commit \u002731f5cd6e3ea8ed34a35bf43bf135565301ad7062\u0027:\n  Port libselinux to pcre2\n\nChange-Id: I46ab397b148074f8a004e9c428b8ed6a4ca3baf6\n"
    },
    {
      "commit": "a9677b666c6ae598291f8b7757bef967b6338335",
      "tree": "8710c7f0ddde5589d974adaf8a0fed4e7fa20ac6",
      "parents": [
        "31f5cd6e3ea8ed34a35bf43bf135565301ad7062"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu May 05 13:08:17 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu May 05 18:43:13 2016 +0100"
      },
      "message": "Fixes (un)signed comparison warning in regex.c\n\nThe warning actually hinted at an unchecked return value.\nAs of this patch it is checked.\n\nBug: 28585892\nChange-Id: Ibc09903129d3dce4d8a7b98d0313ec743fb937b5\n"
    },
    {
      "commit": "31f5cd6e3ea8ed34a35bf43bf135565301ad7062",
      "tree": "1b850c15ccad2b9f1b9e94c6a890322218749024",
      "parents": [
        "5f62b5073afe88699bfb2a7a036d1e0ef0d6a6b1"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Tue Mar 29 19:17:10 2016 +0100"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Thu May 05 18:42:09 2016 +0100"
      },
      "message": "Port libselinux to pcre2\n\nThis patch moves all pcre1/2 dependencies into the new files regex.h\nand regex.c implementing the common denominator of features needed\nby libselinux. The compiler flag -DUSE_PCRE2 toggles between the\nused implementations.\n\nAs of this patch, libselinux is still built against PCRE.\n\nBug: 24091652\nChange-Id: Iafca54db166666f9e681022a529fd7409f1e4848\n"
    },
    {
      "commit": "d474e5f2da4a25ca21029bb477bbe388291759eb",
      "tree": "70f5486c6d92a6a63c85c5d5016a54006ee54e77",
      "parents": [
        "4db3aee6dc17591fd2fd06aac6405d4df104d9e7",
        "bdc327bd33e9778e1e888f82f8b9bfebae1f5c30"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Sun Apr 10 17:51:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Apr 10 17:51:17 2016 +0000"
      },
      "message": "switch from android_ids to getpwuid am: 5f62b50\nam: bdc327b\n\n* commit \u0027bdc327bd33e9778e1e888f82f8b9bfebae1f5c30\u0027:\n  switch from android_ids to getpwuid\n\nChange-Id: I55c20c1db171678098743054ad7a72ab43141657\n"
    },
    {
      "commit": "bdc327bd33e9778e1e888f82f8b9bfebae1f5c30",
      "tree": "0b66273b0e5f24c22ba174ac78dabe24ffb63c81",
      "parents": [
        "02c42d4b17fb5b9fa1643e46ef1bfb31771c5194",
        "5f62b5073afe88699bfb2a7a036d1e0ef0d6a6b1"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Sun Apr 10 17:47:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Apr 10 17:47:07 2016 +0000"
      },
      "message": "switch from android_ids to getpwuid\nam: 5f62b50\n\n* commit \u00275f62b5073afe88699bfb2a7a036d1e0ef0d6a6b1\u0027:\n  switch from android_ids to getpwuid\n\nChange-Id: Id0ab82e24d459319730e46daadd537b046a51def\n"
    },
    {
      "commit": "5f62b5073afe88699bfb2a7a036d1e0ef0d6a6b1",
      "tree": "0b66273b0e5f24c22ba174ac78dabe24ffb63c81",
      "parents": [
        "02c42d4b17fb5b9fa1643e46ef1bfb31771c5194"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Apr 07 13:55:26 2016 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Apr 10 10:39:33 2016 -0700"
      },
      "message": "switch from android_ids to getpwuid\n\nChange-Id: Ia171c4d01e8882fff807dbfacc9bbfbb6d8ba8ba\nBug: 27999086\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n"
    },
    {
      "commit": "4db3aee6dc17591fd2fd06aac6405d4df104d9e7",
      "tree": "d7c7561bb3495a20d86f0f6b8fbfef4129cc138f",
      "parents": [
        "4a248a34316efdb18aad93b75eb3149383eb17cf",
        "02c42d4b17fb5b9fa1643e46ef1bfb31771c5194"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Sun Mar 13 14:52:52 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Mar 13 14:52:52 2016 +0000"
      },
      "message": "Leftovers of the SELinux policy update mechanism\nam: 02c42d4b17\n\n* commit \u002702c42d4b17fb5b9fa1643e46ef1bfb31771c5194\u0027:\n  Leftovers of the SELinux policy update mechanism\n"
    },
    {
      "commit": "02c42d4b17fb5b9fa1643e46ef1bfb31771c5194",
      "tree": "7e2cc923abb7d6e12cc28f229597ba4af67bab89",
      "parents": [
        "0c1a5819e292891497d6aefcac9a13d9052608e2"
      ],
      "author": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Tue Mar 08 17:40:50 2016 +0000"
      },
      "committer": {
        "name": "Janis Danisevskis",
        "email": "jdanis@google.com",
        "time": "Fri Mar 11 17:48:53 2016 +0000"
      },
      "message": "Leftovers of the SELinux policy update mechanism\n\nRemove references to SELinux policy files in /data/security\nfrom libselinux/android.c. In the process all code that is\napparently related to handling an alternate policy and/or\nreloading the policy has been removed.\n\nSet O_CLOEXEC mode flag on some open calls on policy files\n\nBug: 26544104\nChange-Id: I573d325b2efaaa86716af64da7d626b23b8f8d89\n"
    },
    {
      "commit": "4a248a34316efdb18aad93b75eb3149383eb17cf",
      "tree": "f82e8d62bc20c219cdcf26e090637858993360cf",
      "parents": [
        "d4028dea316b84e9170ee0018736bce8ba57f7a3",
        "0c1a5819e292891497d6aefcac9a13d9052608e2"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Fri Mar 04 00:53:14 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 04 00:53:14 2016 +0000"
      },
      "message": "Delete SELinux mount code\nam: 0c1a5819e2\n\n* commit \u00270c1a5819e292891497d6aefcac9a13d9052608e2\u0027:\n  Delete SELinux mount code\n"
    },
    {
      "commit": "0c1a5819e292891497d6aefcac9a13d9052608e2",
      "tree": "843d1f3e9289240e83c56d89abea894f4ae50759",
      "parents": [
        "cdc89940cc87d795157b4090a7b9ef5ada14e829"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 03 10:42:41 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 03 10:42:41 2016 -0800"
      },
      "message": "Delete SELinux mount code\n\nMounting the SELinux filesystem is now handled by init. Delete\nmount code in libselinux.\n\nChange-Id: I6837241a9cc11ab149b6564f0520c7bd076ace0c\n"
    },
    {
      "commit": "d4028dea316b84e9170ee0018736bce8ba57f7a3",
      "tree": "ecb380e43037933a68413362fc19f5460c16a900",
      "parents": [
        "de4ff16d9539400cc63059b6cc23851ec6dab578",
        "f8a650201c548c3498016b61e51d96294666798e"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 23:37:00 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 29 23:37:00 2016 +0000"
      },
      "message": "BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\nam: f8a650201c\n\n* commit \u0027f8a650201c548c3498016b61e51d96294666798e\u0027:\n  BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\n"
    },
    {
      "commit": "f8a650201c548c3498016b61e51d96294666798e",
      "tree": "ecb380e43037933a68413362fc19f5460c16a900",
      "parents": [
        "5ff2a33bf370604a6260af338dde06cd67deaba2"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 12:57:54 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 15:30:03 2016 -0800"
      },
      "message": "BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\n\ngetpidcon documentation does not specify that a pid of 0 refers to the\ncurrent process, and getcon exists specifically to provide this\nfunctionality, and getpidcon(getpid()) would provide it as well.\nDisallow pid values \u003c\u003d 0 that may lead to unintended behavior in\nuserspace object managers.\n\n(from upstream commit: c7cf5d8aa061b9616bf9d5e91139ce4fb40f532c)\n(cherry-picked from commit: 034c53e93a736f8b6f9aac90938ef65ffcaac9da)\n\nSigned-off-by: Daniel Cashman \u003cdcashman@android.com\u003e\nAOSP Bug: 200617\nBug: 27111481\n\nChange-Id: I69b00df6413f5c3d566ac76cb4a464c97c167cdf\n"
    },
    {
      "commit": "de4ff16d9539400cc63059b6cc23851ec6dab578",
      "tree": "ecb380e43037933a68413362fc19f5460c16a900",
      "parents": [
        "4b8c57b5d932758260a571937e9158f76eb37614",
        "cdc89940cc87d795157b4090a7b9ef5ada14e829"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 22:08:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Feb 29 22:08:20 2016 +0000"
      },
      "message": "BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\nam: cdc89940cc\n\n* commit \u0027cdc89940cc87d795157b4090a7b9ef5ada14e829\u0027:\n  BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\n"
    },
    {
      "commit": "cdc89940cc87d795157b4090a7b9ef5ada14e829",
      "tree": "e7391e243d000656520dc6e376426085b4cdecb1",
      "parents": [
        "034c53e93a736f8b6f9aac90938ef65ffcaac9da"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 12:57:54 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 29 13:55:44 2016 -0800"
      },
      "message": "BACKPORT: libselinux: procattr: return einval for \u003c\u003d 0 pid args.\n\ngetpidcon documentation does not specify that a pid of 0 refers to the\ncurrent process, and getcon exists specifically to provide this\nfunctionality, and getpidcon(getpid()) would provide it as well.\nDisallow pid values \u003c\u003d 0 that may lead to unintended behavior in\nuserspace object managers.\n\n(from upstream commit: c7cf5d8aa061b9616bf9d5e91139ce4fb40f532c)\n\nSigned-off-by: Daniel Cashman \u003cdcashman@android.com\u003e\nAOSP Bug: 200617\nBug: 271114815\nChange-Id: If8ce0b9aea8f001f5c42911f2fccb2edfe9ded38\n"
    },
    {
      "commit": "4b8c57b5d932758260a571937e9158f76eb37614",
      "tree": "056a2092c3610b4370290b7737a2beab9176b834",
      "parents": [
        "9e3acaea1b0e3770c1739337959553663d33e0a0",
        "5ff2a33bf370604a6260af338dde06cd67deaba2"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 17:23:47 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 23 17:23:47 2016 +0000"
      },
      "message": "Correct errno value.\nam: 5ff2a33bf3\n\n* commit \u00275ff2a33bf370604a6260af338dde06cd67deaba2\u0027:\n  Correct errno value.\n"
    },
    {
      "commit": "9e3acaea1b0e3770c1739337959553663d33e0a0",
      "tree": "056a2092c3610b4370290b7737a2beab9176b834",
      "parents": [
        "0592072e53fe1b2ae92e4f0f3f83a937215a7cab",
        "034c53e93a736f8b6f9aac90938ef65ffcaac9da"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 17:23:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 23 17:23:43 2016 +0000"
      },
      "message": "Correct errno value.\nam: 034c53e93a\n\n* commit \u0027034c53e93a736f8b6f9aac90938ef65ffcaac9da\u0027:\n  Correct errno value.\n"
    },
    {
      "commit": "5ff2a33bf370604a6260af338dde06cd67deaba2",
      "tree": "056a2092c3610b4370290b7737a2beab9176b834",
      "parents": [
        "ae9473b3eb92d952fc04d3846b376c412f992553"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 08:48:03 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 09:16:16 2016 -0800"
      },
      "message": "Correct errno value.\n\nReturning -{ERRVAL} is a kernel return convention, but userspace errno\nassignment and associated functions deal with the positive numbers.\nCorrect the errno assignment introduced in\ncommit: 78899de14b476a759f4839eae4879d47e36a624a.\n\n(cherry-pick of commit: 034c53e93a736f8b6f9aac90938ef65ffcaac9da)\n\nAOSP Bug: 200617\nBug: 27111481\n\nChange-Id: I174dac888c06d096d361eab5efcde169f7899726\n"
    },
    {
      "commit": "034c53e93a736f8b6f9aac90938ef65ffcaac9da",
      "tree": "348fe00235cfa9f1f5dbea3fe6e14c10784f33f2",
      "parents": [
        "78899de14b476a759f4839eae4879d47e36a624a"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 08:48:03 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 08:50:46 2016 -0800"
      },
      "message": "Correct errno value.\n\nReturning -{ERRVAL} is a kernel return convention, but userspace errno\nassignment and associated functions deal with the positive numbers.\nCorrect the errno assignment introduced in\ncommit: 78899de14b476a759f4839eae4879d47e36a624a.\n\nAOSP Bug: 200617\nBug: 27111481\nChange-Id: Id4ee6545bcc56273ef356ebdb5683c3e38c85430\n"
    },
    {
      "commit": "0592072e53fe1b2ae92e4f0f3f83a937215a7cab",
      "tree": "f0f3495e9d963d54c0e81171934900ebb70e785a",
      "parents": [
        "7296351737bfe89b1d2f2671132faae8aa94c207",
        "ae9473b3eb92d952fc04d3846b376c412f992553"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 16:48:43 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 23 16:48:43 2016 +0000"
      },
      "message": "Return error on invalid pid_t input to procattr funcs.\nam: ae9473b3eb\n\n* commit \u0027ae9473b3eb92d952fc04d3846b376c412f992553\u0027:\n  Return error on invalid pid_t input to procattr funcs.\n"
    },
    {
      "commit": "ae9473b3eb92d952fc04d3846b376c412f992553",
      "tree": "f0f3495e9d963d54c0e81171934900ebb70e785a",
      "parents": [
        "640db2f86f237868d038b2fedc05aad154b5fe43"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 22 15:25:51 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 08:08:14 2016 -0800"
      },
      "message": "Return error on invalid pid_t input to procattr funcs.\n\n(cherry-pick of commit: https://android-review.googlesource.com/#/c/203372/)\nAOSP Bug: 200617\nBug: 27111481\n\nChange-Id: Ib269a35686aa19b4b57697886ae27913842b707a\n"
    },
    {
      "commit": "7296351737bfe89b1d2f2671132faae8aa94c207",
      "tree": "f0f3495e9d963d54c0e81171934900ebb70e785a",
      "parents": [
        "237de9cfdd3267409b706dfb64b7c0f1c5bc3678",
        "78899de14b476a759f4839eae4879d47e36a624a"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Tue Feb 23 15:59:18 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 23 15:59:18 2016 +0000"
      },
      "message": "Return error on invalid pid_t input to procattr funcs.\nam: 78899de14b\n\n* commit \u002778899de14b476a759f4839eae4879d47e36a624a\u0027:\n  Return error on invalid pid_t input to procattr funcs.\n"
    },
    {
      "commit": "78899de14b476a759f4839eae4879d47e36a624a",
      "tree": "c4a06a6fc30fc975d5fd84e141b2eac5abfc6984",
      "parents": [
        "de7b594ace8c4b5343885dcec401bee0977ad7b5"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 22 15:25:51 2016 -0800"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Feb 22 15:26:29 2016 -0800"
      },
      "message": "Return error on invalid pid_t input to procattr funcs.\n\nAOSP Bug: 200617\nBug: 27111481\nChange-Id: I94a5ab045adbacdbfcff62ee2a6c99505f00eb97\n"
    },
    {
      "commit": "237de9cfdd3267409b706dfb64b7c0f1c5bc3678",
      "tree": "b36a2938b94778a6104086139673de837ba7da99",
      "parents": [
        "ba411251ecf1879c724e18122305e38f4c55a9f5",
        "640db2f86f237868d038b2fedc05aad154b5fe43"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Feb 09 21:53:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 09 21:53:27 2016 +0000"
      },
      "message": "read_spec_entry: fail on non-ascii\nam: 640db2f86f\n\n* commit \u0027640db2f86f237868d038b2fedc05aad154b5fe43\u0027:\n  read_spec_entry: fail on non-ascii\n"
    },
    {
      "commit": "ba411251ecf1879c724e18122305e38f4c55a9f5",
      "tree": "b36a2938b94778a6104086139673de837ba7da99",
      "parents": [
        "1482b5b41e36734625a445e58d22a021edf57ffd",
        "de7b594ace8c4b5343885dcec401bee0977ad7b5"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Feb 09 20:30:33 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 09 20:30:33 2016 +0000"
      },
      "message": "read_spec_entry: fail on non-ascii\nam: de7b594ace\n\n* commit \u0027de7b594ace8c4b5343885dcec401bee0977ad7b5\u0027:\n  read_spec_entry: fail on non-ascii\n"
    },
    {
      "commit": "640db2f86f237868d038b2fedc05aad154b5fe43",
      "tree": "b36a2938b94778a6104086139673de837ba7da99",
      "parents": [
        "1482b5b41e36734625a445e58d22a021edf57ffd"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Feb 02 13:46:55 2016 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Feb 09 12:25:47 2016 -0800"
      },
      "message": "read_spec_entry: fail on non-ascii\n\nInserting non-ascii characters into the following files:\n * file_contexts\n * property_contexts\n * service_contexts\ncan cause a failure on labeling but still result in a successful\nbuild.\n\nHard error on non-ascii characters with:\n\u003cpath\u003e:  line 229 error due to: Non-ASCII characters found\n\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n\n(cherry picked from commit de7b594ace8c4b5343885dcec401bee0977ad7b5)\n\nChange-Id: I3ae442e4673490f1815f3cae4eed494a8d68d1dc\n"
    },
    {
      "commit": "de7b594ace8c4b5343885dcec401bee0977ad7b5",
      "tree": "3a57b12a75485a54e0ae97e8a75ab1cfeff7dcf8",
      "parents": [
        "256ae129117f7d538290cb1968efd36104688aa1"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Feb 02 13:46:55 2016 -0800"
      },
      "committer": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Feb 09 10:42:02 2016 -0800"
      },
      "message": "read_spec_entry: fail on non-ascii\n\nInserting non-ascii characters into the following files:\n * file_contexts\n * property_contexts\n * service_contexts\ncan cause a failure on labeling but still result in a successful\nbuild.\n\nHard error on non-ascii characters with:\n\u003cpath\u003e:  line 229 error due to: Non-ASCII characters found\n\nChange-Id: Iac1c95a90e840e47f46cadca33fcc79cfdbe8618\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n"
    },
    {
      "commit": "1482b5b41e36734625a445e58d22a021edf57ffd",
      "tree": "ea2294a59cead8c270a602ecc9b1aecab563beda",
      "parents": [
        "b6d816fcacf554667f1e0980ef50d1e49c961bf6",
        "256ae129117f7d538290cb1968efd36104688aa1"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 05 16:47:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 05 16:47:46 2016 +0000"
      },
      "message": "Move libselinux from libmincrypt to BoringSSL.\nam: 256ae12911\n\n* commit \u0027256ae129117f7d538290cb1968efd36104688aa1\u0027:\n  Move libselinux from libmincrypt to BoringSSL.\n"
    },
    {
      "commit": "256ae129117f7d538290cb1968efd36104688aa1",
      "tree": "91d13f479729a4374065f3fc8ae0a355a81b2d2a",
      "parents": [
        "589c5ac47ebe87db550dbfd340a126977c3e2db8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 18:51:21 2016 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Feb 04 18:51:21 2016 -0800"
      },
      "message": "Move libselinux from libmincrypt to BoringSSL.\n\nI don\u0027t think there was any reason to statically link libmincrypt,\nso I\u0027m dynamically linking BoringSSL.\n\nAlso remove unnecessary manual additions to the include path.\n\nChange-Id: Id07daa3bd79ca3db7e6141dee70b9bbe6fb89ea1\n"
    },
    {
      "commit": "b6d816fcacf554667f1e0980ef50d1e49c961bf6",
      "tree": "e76236cc840e7394dc8ad620ac3431787c15a313",
      "parents": [
        "7e61ee9b2f568b29adbb8e860fc366b5cd77e9b0",
        "589c5ac47ebe87db550dbfd340a126977c3e2db8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 08 23:35:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 08 23:35:16 2016 +0000"
      },
      "message": "libselinux: stop copying headers\nam: 589c5ac47e\n\n* commit \u0027589c5ac47ebe87db550dbfd340a126977c3e2db8\u0027:\n  libselinux: stop copying headers\n"
    },
    {
      "commit": "589c5ac47ebe87db550dbfd340a126977c3e2db8",
      "tree": "ac71176cab1d08a593db19764ff2dcaf83b14a79",
      "parents": [
        "8b78078de454d54e5eb9544aa1e5a170f079fbcc"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 21 16:30:17 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 21 16:30:17 2015 -0800"
      },
      "message": "libselinux: stop copying headers\n\nCopying headers causes problems for dependency tracking, as any module\ncan include the copied header without depending on the module.  Replace\nLOCAL_COPY_HEADERS with LOCAL_EXPORT_C_INCLUDE_DIRS.\n\nChange-Id: Ic3343fc6b8978d59d1ef48ebdb9a96470bb27232\n"
    },
    {
      "commit": "7e61ee9b2f568b29adbb8e860fc366b5cd77e9b0",
      "tree": "3eef5aaa990101187462244b345f59b6a2ca257b",
      "parents": [
        "3e08682ba440ab3ae74e7b19878f7d7ed95e2407",
        "8b78078de454d54e5eb9544aa1e5a170f079fbcc"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 17 16:16:35 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 17 16:16:35 2015 -0800"
      },
      "message": "Create selinux_android_setcon()\nam: 8b78078de4\n\n* commit \u00278b78078de454d54e5eb9544aa1e5a170f079fbcc\u0027:\n  Create selinux_android_setcon()\n"
    },
    {
      "commit": "8b78078de454d54e5eb9544aa1e5a170f079fbcc",
      "tree": "b6ac151716586414da6edf4b4d45b19c0c158398",
      "parents": [
        "be5f860effa9aff2afb397703f64de7acf92ad6d"
      ],
      "author": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Thu Dec 10 17:20:59 2015 -0800"
      },
      "committer": {
        "name": "Tom Cherry",
        "email": "tomcherry@google.com",
        "time": "Wed Dec 16 17:56:37 2015 -0800"
      },
      "message": "Create selinux_android_setcon()\n\nSystem properties are backed by various property files that are\nmmap()\u0027ed into a process\u0027s address space.  setcon() does not revoke\naccess to such mmap()\u0027ed regions, so we may leak access to property\nfiles when moving to a more restrictive context.\n\nThis commit creates a new selinux_android_setcon() function that\nexplicitly reinitializes system properties after\ncalling setcon() to ensure that no leaks occur.\n\nThis new function is used in place of setcon() in\nselinux_android_setcontext().\n\nBug 26114086\n\nChange-Id: I631a8d6f3f474f62b2b4ecca3c842a0700486ddd\n"
    },
    {
      "commit": "3e08682ba440ab3ae74e7b19878f7d7ed95e2407",
      "tree": "0867f39f27101ec71af7b2f67b9081f25cc821d0",
      "parents": [
        "4caaec565181b1ee6d7ed025239a8834943c1316",
        "be5f860effa9aff2afb397703f64de7acf92ad6d"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Nov 23 15:56:48 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 23 15:56:48 2015 +0000"
      },
      "message": "Correct line count for property and service contexts files\nam: be5f860eff\n\n* commit \u0027be5f860effa9aff2afb397703f64de7acf92ad6d\u0027:\n  Correct line count for property and service contexts files\n"
    },
    {
      "commit": "be5f860effa9aff2afb397703f64de7acf92ad6d",
      "tree": "aaf6b0a60b6670d7bb53df89d11e251dc3d9da3f",
      "parents": [
        "02df2e30820051a4b592071946521d5c9f7eb74b"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Sun Nov 22 14:55:26 2015 +0000"
      },
      "committer": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Sun Nov 22 15:01:55 2015 +0000"
      },
      "message": "Correct line count for property and service contexts files\n\nWhen a line number is displayed for context errors they are\nx2 the correct value, so reset line count for each pass.\n\nChange-Id: I03cc6320b22d52ce989dafe4c8ecd854540d1367\nSigned-off-by: Richard Haines \u003crichard_c_haines@btinternet.com\u003e\n"
    },
    {
      "commit": "4caaec565181b1ee6d7ed025239a8834943c1316",
      "tree": "3b3f76250d50c24abf54b614d6ca25ce5f9aa320",
      "parents": [
        "ee9ec6decb70c12c4a02324c02aafe6e8b1a21ab",
        "02df2e30820051a4b592071946521d5c9f7eb74b"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Nov 18 17:53:52 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 18 17:53:52 2015 +0000"
      },
      "message": "Merge \"libselinux: use /proc/thread-self when available\"\nam: 02df2e3082\n\n* commit \u002702df2e30820051a4b592071946521d5c9f7eb74b\u0027:\n  libselinux: use /proc/thread-self when available\n"
    },
    {
      "commit": "02df2e30820051a4b592071946521d5c9f7eb74b",
      "tree": "4d4080da123164fd38e1d3fff3787991df14977e",
      "parents": [
        "c821cc2e190607db18e1e1cbae126de57383fabd",
        "c6d24556c8b9f59ec0d716936656a6e2c0de2251"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue Nov 17 17:17:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 17:17:58 2015 +0000"
      },
      "message": "Merge \"libselinux: use /proc/thread-self when available\""
    },
    {
      "commit": "ee9ec6decb70c12c4a02324c02aafe6e8b1a21ab",
      "tree": "56f3068c4a5ce62ec2e79c83249ddd53b2ca5641",
      "parents": [
        "c4efaf4c69cc7a917d12fb1ad4d38419ae6b1aa7",
        "6f612a0fc09918990ce98db570c6e4a8e2475cff"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 16 19:38:32 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 16 19:38:32 2015 +0000"
      },
      "message": "Merge \"support for AutoPlay apps\""
    },
    {
      "commit": "c4efaf4c69cc7a917d12fb1ad4d38419ae6b1aa7",
      "tree": "4f14bf608b6e2775e871fd79c6d949033a9d0d68",
      "parents": [
        "3711d51a45da50d968d5a577ed6e9325a0fc5638",
        "c821cc2e190607db18e1e1cbae126de57383fabd"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 11 19:00:16 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 11 19:00:16 2015 +0000"
      },
      "message": "Support for new file-based encryption paths.\nam: c821cc2e19\n\n* commit \u0027c821cc2e190607db18e1e1cbae126de57383fabd\u0027:\n  Support for new file-based encryption paths.\n"
    },
    {
      "commit": "c821cc2e190607db18e1e1cbae126de57383fabd",
      "tree": "4f14bf608b6e2775e871fd79c6d949033a9d0d68",
      "parents": [
        "a83098b60edda2c5ea690fb6a7bb3cb76b46bc30"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 09 13:16:55 2015 -0800"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 11 10:37:40 2015 -0800"
      },
      "message": "Support for new file-based encryption paths.\n\nWe\u0027re adding \"/data/user_de\" paths which belong to apps, but are\nencrypted with a different set of keys.  All the same security\nlabels from \"/data/user\" paths should apply.\n\nBug: 22358539\nChange-Id: I7594d382da140c8fa4261a0fb271ff1d762cfb15\n"
    },
    {
      "commit": "6f612a0fc09918990ce98db570c6e4a8e2475cff",
      "tree": "3a149999ff5139d2d39a106c27eba1fc2fc3c39e",
      "parents": [
        "3711d51a45da50d968d5a577ed6e9325a0fc5638"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Oct 30 13:08:08 2015 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Nov 09 10:21:20 2015 -0800"
      },
      "message": "support for AutoPlay apps\n\nAdd isAutoPlayApp selector\n\nisAutoPlayApp is set when the seinfo value assigned by PackageManager\ncontains \":autoplayapp\"\n\nChange-Id: I5cd154257eb227a613a6a0c26f1b171500a401df\n"
    },
    {
      "commit": "3711d51a45da50d968d5a577ed6e9325a0fc5638",
      "tree": "03623d5c29ec2fe67704ca3799f96ee8ae853a28",
      "parents": [
        "ade45fe5294b142cfda59ba6a00eddbeb9dfa961",
        "a83098b60edda2c5ea690fb6a7bb3cb76b46bc30"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Fri Oct 30 04:24:08 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 30 04:24:08 2015 +0000"
      },
      "message": "fix memory leaks and uninitialized jump am: 0f520fac93\nam: a83098b60e\n\n* commit \u0027a83098b60edda2c5ea690fb6a7bb3cb76b46bc30\u0027:\n  fix memory leaks and uninitialized jump\n"
    },
    {
      "commit": "a83098b60edda2c5ea690fb6a7bb3cb76b46bc30",
      "tree": "03623d5c29ec2fe67704ca3799f96ee8ae853a28",
      "parents": [
        "ca65fd5116ff9605f143aef40b8d7b6f497f9ff9",
        "0f520fac932d1dc92731b056d6848e45f6cd6974"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Oct 29 16:54:21 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 29 16:54:21 2015 +0000"
      },
      "message": "fix memory leaks and uninitialized jump\nam: 0f520fac93\n\n* commit \u00270f520fac932d1dc92731b056d6848e45f6cd6974\u0027:\n  fix memory leaks and uninitialized jump\n"
    },
    {
      "commit": "0f520fac932d1dc92731b056d6848e45f6cd6974",
      "tree": "03623d5c29ec2fe67704ca3799f96ee8ae853a28",
      "parents": [
        "6d5e6edc21b1c41e815403a7ff9d8678642b744d"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Oct 22 12:26:01 2015 -0700"
      },
      "committer": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Oct 27 13:22:35 2015 -0700"
      },
      "message": "fix memory leaks and uninitialized jump\n\nSome error\u0027s were reported by valgrind (below) fix them. The test\ncases on which these leaks were detected:\n\n1. properly formed file_contexts file.\n2. malformed file_contexts file, unknown type.\n3. malformed file_contexts file, type that fails on validate callback.\n4. malformed file_contexts file, invalid regex.\n5. malformed file_contexts file, invalid mode.\n\n\u003d\u003d3819\u003d\u003d Conditional jump or move depends on uninitialised value(s)\n\u003d\u003d3819\u003d\u003d    at 0x12A682: closef (label_file.c:577)\n\u003d\u003d3819\u003d\u003d    by 0x12A196: selabel_close (label.c:163)\n\u003d\u003d3819\u003d\u003d    by 0x10A2FD: cleanup (checkfc.c:218)\n\u003d\u003d3819\u003d\u003d    by 0x5089258: __run_exit_handlers (exit.c:82)\n\u003d\u003d3819\u003d\u003d    by 0x50892A4: exit (exit.c:104)\n\u003d\u003d3819\u003d\u003d    by 0x10A231: main (checkfc.c:361)\n\u003d\u003d3819\u003d\u003d  Uninitialised value was created by a heap allocation\n\u003d\u003d3819\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d3819\u003d\u003d    by 0x4C2CF1F: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d3819\u003d\u003d    by 0x12BB31: process_file (label_file.h:273)\n\u003d\u003d3819\u003d\u003d    by 0x12A2BA: selabel_file_init (label_file.c:522)\n\u003d\u003d3819\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d3819\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d3819\u003d\u003d\n\u003d\u003d3819\u003d\u003d\n\u003d\u003d3819\u003d\u003d HEAP SUMMARY:\n\u003d\u003d3819\u003d\u003d     in use at exit: 729 bytes in 19 blocks\n\u003d\u003d3819\u003d\u003d   total heap usage: 21,126 allocs, 21,107 frees, 923,854 bytes allocated\n\u003d\u003d3819\u003d\u003d\n\u003d\u003d3819\u003d\u003d 81 bytes in 1 blocks are definitely lost in loss record 1 of 2\n\u003d\u003d3819\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d3819\u003d\u003d    by 0x50D5839: strdup (strdup.c:42)\n\u003d\u003d3819\u003d\u003d    by 0x12A2A6: selabel_file_init (label_file.c:517)\n\u003d\u003d3819\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d3819\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d3819\u003d\u003d\n\n\u003d\u003d4238\u003d\u003d 40 bytes in 1 blocks are definitely lost in loss record 1 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x12A1D2: selabel_file_init (label_file.c:886)\n\u003d\u003d4238\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d4238\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d4238\u003d\u003d\n\u003d\u003d4238\u003d\u003d 81 bytes in 1 blocks are definitely lost in loss record 2 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x50D5839: strdup (strdup.c:42)\n\u003d\u003d4238\u003d\u003d    by 0x12A2A6: selabel_file_init (label_file.c:517)\n\u003d\u003d4238\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d4238\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d4238\u003d\u003d\n\u003d\u003d4238\u003d\u003d 386 bytes in 24 blocks are definitely lost in loss record 3 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x50D5889: strndup (strndup.c:45)\n\u003d\u003d4238\u003d\u003d    by 0x12CDDF: read_spec_entries (label_support.c:37)\n\u003d\u003d4238\u003d\u003d    by 0x12B72D: process_file (label_file.h:392)\n\u003d\u003d4238\u003d\u003d    by 0x12A2BA: selabel_file_init (label_file.c:522)\n\u003d\u003d4238\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d4238\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d4238\u003d\u003d\n\u003d\u003d4238\u003d\u003d 648 bytes in 18 blocks are definitely lost in loss record 4 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2CC70: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x117C9B: avtab_insert_node (avtab.c:105)\n\u003d\u003d4238\u003d\u003d    by 0x117C10: avtab_insert (avtab.c:163)\n\u003d\u003d4238\u003d\u003d    by 0x11880A: avtab_read_item (avtab.c:566)\n\u003d\u003d4238\u003d\u003d    by 0x118BD3: avtab_read (avtab.c:600)\n\u003d\u003d4238\u003d\u003d    by 0x125BDD: policydb_read (policydb.c:3854)\n\u003d\u003d4238\u003d\u003d    by 0x109F87: main (checkfc.c:273)\n\u003d\u003d4238\u003d\u003d\n\u003d\u003d4238\u003d\u003d 1,095 bytes in 12 blocks are definitely lost in loss record 5 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x12D8D1: pcre_compile2 (pcre_compile.c:9217)\n\u003d\u003d4238\u003d\u003d    by 0x12B239: compile_regex (label_file.h:357)\n\u003d\u003d4238\u003d\u003d    by 0x12B9C7: process_file (label_file.h:429)\n\u003d\u003d4238\u003d\u003d    by 0x12A2BA: selabel_file_init (label_file.c:522)\n\u003d\u003d4238\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d4238\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\u003d\u003d4238\u003d\u003d\n\u003d\u003d4238\u003d\u003d 1,296 bytes in 12 blocks are definitely lost in loss record 6 of 6\n\u003d\u003d4238\u003d\u003d    at 0x4C2AB80: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)\n\u003d\u003d4238\u003d\u003d    by 0x13EBE5: pcre_study (pcre_study.c:1565)\n\u003d\u003d4238\u003d\u003d    by 0x12B25D: compile_regex (label_file.h:366)\n\u003d\u003d4238\u003d\u003d    by 0x12B9C7: process_file (label_file.h:429)\n\u003d\u003d4238\u003d\u003d    by 0x12A2BA: selabel_file_init (label_file.c:522)\n\u003d\u003d4238\u003d\u003d    by 0x12A0BB: selabel_open (label.c:88)\n\u003d\u003d4238\u003d\u003d    by 0x10A038: main (checkfc.c:292)\n\nChange-Id: I2f7ed4ffbdcc3d0646f7caf66187d87347220c60\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n"
    },
    {
      "commit": "ade45fe5294b142cfda59ba6a00eddbeb9dfa961",
      "tree": "c43ae5f3611a32519e1dfe4800fd56726310dcd1",
      "parents": [
        "10f2740a629c2ef9c05eb2b6aec6fdb796a957c7",
        "ca65fd5116ff9605f143aef40b8d7b6f497f9ff9"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Oct 22 23:41:58 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 23:41:58 2015 +0000"
      },
      "message": "Use libpackageparser am: 6d5e6edc21\nam: ca65fd5116\n\n* commit \u0027ca65fd5116ff9605f143aef40b8d7b6f497f9ff9\u0027:\n  Use libpackageparser\n"
    },
    {
      "commit": "ca65fd5116ff9605f143aef40b8d7b6f497f9ff9",
      "tree": "c43ae5f3611a32519e1dfe4800fd56726310dcd1",
      "parents": [
        "04badd25be333633a686452bfadc5c960973035a",
        "6d5e6edc21b1c41e815403a7ff9d8678642b744d"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Oct 22 23:12:06 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 22 23:12:06 2015 +0000"
      },
      "message": "Use libpackageparser\nam: 6d5e6edc21\n\n* commit \u00276d5e6edc21b1c41e815403a7ff9d8678642b744d\u0027:\n  Use libpackageparser\n"
    },
    {
      "commit": "6d5e6edc21b1c41e815403a7ff9d8678642b744d",
      "tree": "c43ae5f3611a32519e1dfe4800fd56726310dcd1",
      "parents": [
        "2857a7ec6766cd030d0e15fc1c28fdbd3087bbd3"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Fri Jul 31 13:05:47 2015 -0700"
      },
      "committer": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Wed Oct 14 16:31:51 2015 -0700"
      },
      "message": "Use libpackageparser\n\nSwitch from the internal packages.list parser implementation\nto a common parser library.\n\nChange-Id: I7aee10c9395310919779ed2463aab6b2f8b380cc\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n"
    },
    {
      "commit": "10f2740a629c2ef9c05eb2b6aec6fdb796a957c7",
      "tree": "0424ee19c7ae14361ce0ec6dcd1aaacb5e4510aa",
      "parents": [
        "f42083e0ef1976d731a767b54401a80e12fe2799",
        "04badd25be333633a686452bfadc5c960973035a"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Oct 14 21:48:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 21:48:22 2015 +0000"
      },
      "message": "am 04badd25: am 2857a7ec: Add privapp flag to libselinux\n\n* commit \u002704badd25be333633a686452bfadc5c960973035a\u0027:\n  Add privapp flag to libselinux\n"
    },
    {
      "commit": "04badd25be333633a686452bfadc5c960973035a",
      "tree": "0424ee19c7ae14361ce0ec6dcd1aaacb5e4510aa",
      "parents": [
        "a31a56a6a47f92d33994b325d85897fd37ba4341",
        "2857a7ec6766cd030d0e15fc1c28fdbd3087bbd3"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Wed Oct 14 21:38:31 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 14 21:38:31 2015 +0000"
      },
      "message": "am 2857a7ec: Add privapp flag to libselinux\n\n* commit \u00272857a7ec6766cd030d0e15fc1c28fdbd3087bbd3\u0027:\n  Add privapp flag to libselinux\n"
    },
    {
      "commit": "2857a7ec6766cd030d0e15fc1c28fdbd3087bbd3",
      "tree": "0424ee19c7ae14361ce0ec6dcd1aaacb5e4510aa",
      "parents": [
        "80890a97507d6d117282c9d2077ed9e3e927c9fc"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Oct 12 08:37:00 2015 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Tue Oct 13 19:06:51 2015 -0700"
      },
      "message": "Add privapp flag to libselinux\n\nRun privileged apps in their own domain. Search seinfo string for\n\":privapp\" specifier.\n\nMotivation:\nUntrusted_app is overprivileged due to the inclusion of privileged\napps like gmscore, play store and finsky. Moving these and other\nprivileged apps to their own domain reduces the permissions required\nby untrusted_app.\n\nA separate priv_app domain also protects priv-apps by further\nisolating them from third party apps.\n\nBug: 22033466\nChange-Id: I6e85ae13cbd130415600ecc25ef8ac053a19d0d8\n"
    },
    {
      "commit": "f42083e0ef1976d731a767b54401a80e12fe2799",
      "tree": "5c5fc355d04d03775d5181a02d60590ba908f76b",
      "parents": [
        "136dea0be37d07c2498453fdd4ae92ad871b8ae6",
        "a31a56a6a47f92d33994b325d85897fd37ba4341"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Oct 10 20:20:57 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 10 20:20:57 2015 +0000"
      },
      "message": "am a31a56a6: am 80890a97: Merge \"audit: log permissive from access decision\"\n\n* commit \u0027a31a56a6a47f92d33994b325d85897fd37ba4341\u0027:\n  audit: log permissive from access decision\n"
    },
    {
      "commit": "a31a56a6a47f92d33994b325d85897fd37ba4341",
      "tree": "5c5fc355d04d03775d5181a02d60590ba908f76b",
      "parents": [
        "deb18b511745d42d5c9dd0202db5e16b360577f7",
        "80890a97507d6d117282c9d2077ed9e3e927c9fc"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Oct 10 20:11:05 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 10 20:11:05 2015 +0000"
      },
      "message": "am 80890a97: Merge \"audit: log permissive from access decision\"\n\n* commit \u002780890a97507d6d117282c9d2077ed9e3e927c9fc\u0027:\n  audit: log permissive from access decision\n"
    },
    {
      "commit": "80890a97507d6d117282c9d2077ed9e3e927c9fc",
      "tree": "5c5fc355d04d03775d5181a02d60590ba908f76b",
      "parents": [
        "0feca1ddebfc786a2b1e17e59381a0dfde6869de",
        "c49a2755ee3b6a32347e69856116ec7b32e7c5a6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Oct 10 20:07:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 10 20:07:22 2015 +0000"
      },
      "message": "Merge \"audit: log permissive from access decision\""
    },
    {
      "commit": "c49a2755ee3b6a32347e69856116ec7b32e7c5a6",
      "tree": "5c5fc355d04d03775d5181a02d60590ba908f76b",
      "parents": [
        "87ceb1e29e97a79091b51936c12f1f82d5a328d0"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Mon Oct 05 12:31:03 2015 -0700"
      },
      "committer": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Tue Oct 06 11:59:56 2015 -0700"
      },
      "message": "audit: log permissive from access decision\n\nThe userspace object managers were missing the permissive\u003d0|1 as found in the\nkernel logs. This is important when debugging potential policy issues.\n\nTo remedy this, add the permissive result from the access decision at the\nend of the audit logs. A shortened log sample from Android:\n\navc:  denied  { find } \u003csnip\u003e tclass\u003dservice_manager permissive\u003d1\n\nChange-Id: Ic92852f3bad258982d8f68dc93d978612a52db04\nSigned-off-by: William Roberts \u003cwilliam.c.roberts@intel.com\u003e\n"
    },
    {
      "commit": "136dea0be37d07c2498453fdd4ae92ad871b8ae6",
      "tree": "a047491a9b28d5c24cbb21cf8ec5623fd467dcde",
      "parents": [
        "7914896d2f4a46b469b4eed7bba0d698379ade8f",
        "deb18b511745d42d5c9dd0202db5e16b360577f7"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Tue Sep 22 20:04:22 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 22 20:04:22 2015 +0000"
      },
      "message": "am deb18b51: am 0feca1dd: am 87ceb1e2: Enable restorecon to properly label symlinks.\n\n* commit \u0027deb18b511745d42d5c9dd0202db5e16b360577f7\u0027:\n  Enable restorecon to properly label symlinks.\n"
    },
    {
      "commit": "deb18b511745d42d5c9dd0202db5e16b360577f7",
      "tree": "a047491a9b28d5c24cbb21cf8ec5623fd467dcde",
      "parents": [
        "72a4168cea8671c1c8e6922ef2171b627b197e8a",
        "0feca1ddebfc786a2b1e17e59381a0dfde6869de"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Tue Sep 22 15:28:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 22 15:28:04 2015 +0000"
      },
      "message": "am 0feca1dd: am 87ceb1e2: Enable restorecon to properly label symlinks.\n\n* commit \u00270feca1ddebfc786a2b1e17e59381a0dfde6869de\u0027:\n  Enable restorecon to properly label symlinks.\n"
    },
    {
      "commit": "0feca1ddebfc786a2b1e17e59381a0dfde6869de",
      "tree": "a047491a9b28d5c24cbb21cf8ec5623fd467dcde",
      "parents": [
        "3763c3218ec464ac60fe194f5093d16023bf787e",
        "87ceb1e29e97a79091b51936c12f1f82d5a328d0"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Tue Sep 22 15:20:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 22 15:20:32 2015 +0000"
      },
      "message": "am 87ceb1e2: Enable restorecon to properly label symlinks.\n\n* commit \u002787ceb1e29e97a79091b51936c12f1f82d5a328d0\u0027:\n  Enable restorecon to properly label symlinks.\n"
    },
    {
      "commit": "87ceb1e29e97a79091b51936c12f1f82d5a328d0",
      "tree": "a047491a9b28d5c24cbb21cf8ec5623fd467dcde",
      "parents": [
        "d4b197ab1b4a2d694114b2c127fe009326fb0958"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Sep 10 09:42:15 2015 -0700"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Mon Sep 21 14:43:23 2015 -0700"
      },
      "message": "Enable restorecon to properly label symlinks.\n\ncommit: 06d45512e2df93f65a51877a51549e522b4f2cf5 changed restorecon to only\noperate on paths which had undergone a realpath transformation.  Unfortunately,\nthis made it impossible to directly restorecon a symlink, since the symlink\nwould be followed.  Change restorecon to only perform realpath on the directory\nprefix, so that symlinks can be labeled.\n\nBug: 21732016\nChange-Id: Iebb5d5e9c637c2ef3da5d5674f73babf094af131\n"
    },
    {
      "commit": "7914896d2f4a46b469b4eed7bba0d698379ade8f",
      "tree": "324609fe241a5f2aeba5b77147758271f593ec46",
      "parents": [
        "c838d9bf57c1b1b5899dfd589d90f961825bcf73",
        "72a4168cea8671c1c8e6922ef2171b627b197e8a"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Sep 21 00:03:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 21 00:03:59 2015 +0000"
      },
      "message": "am 72a4168c: am 3763c321: am d4b197ab: Merge \"Fix mmap memory release for file labeling\"\n\n* commit \u002772a4168cea8671c1c8e6922ef2171b627b197e8a\u0027:\n  Fix mmap memory release for file labeling\n"
    },
    {
      "commit": "72a4168cea8671c1c8e6922ef2171b627b197e8a",
      "tree": "324609fe241a5f2aeba5b77147758271f593ec46",
      "parents": [
        "a3fcb4a292725dd8e5421008e6335367e202aa7e",
        "3763c3218ec464ac60fe194f5093d16023bf787e"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Sun Sep 20 23:56:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 20 23:56:50 2015 +0000"
      },
      "message": "am 3763c321: am d4b197ab: Merge \"Fix mmap memory release for file labeling\"\n\n* commit \u00273763c3218ec464ac60fe194f5093d16023bf787e\u0027:\n  Fix mmap memory release for file labeling\n"
    },
    {
      "commit": "3763c3218ec464ac60fe194f5093d16023bf787e",
      "tree": "324609fe241a5f2aeba5b77147758271f593ec46",
      "parents": [
        "def6f14fc604a41e2c75fddb0f54baccc7567b7b",
        "d4b197ab1b4a2d694114b2c127fe009326fb0958"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Sun Sep 20 23:19:37 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Sep 20 23:19:37 2015 +0000"
      },
      "message": "am d4b197ab: Merge \"Fix mmap memory release for file labeling\"\n\n* commit \u0027d4b197ab1b4a2d694114b2c127fe009326fb0958\u0027:\n  Fix mmap memory release for file labeling\n"
    },
    {
      "commit": "d4b197ab1b4a2d694114b2c127fe009326fb0958",
      "tree": "324609fe241a5f2aeba5b77147758271f593ec46",
      "parents": [
        "02797a0e21cea245998ee7cb0976972f67aee8ce",
        "2bd2cf596ddbd044ff90c035bb03a2a2ded24f33"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Sun Sep 20 23:13:15 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Sep 20 23:13:15 2015 +0000"
      },
      "message": "Merge \"Fix mmap memory release for file labeling\""
    },
    {
      "commit": "2bd2cf596ddbd044ff90c035bb03a2a2ded24f33",
      "tree": "324609fe241a5f2aeba5b77147758271f593ec46",
      "parents": [
        "91b7d911c51f972f127972bc5c529310387fba8b"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Sun Sep 20 12:38:07 2015 +0100"
      },
      "committer": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Sun Sep 20 12:38:07 2015 +0100"
      },
      "message": "Fix mmap memory release for file labeling\n\nEnsure the mmap start address and length are not modified so the memory\nused can be released when selabel_close(3) is called.\n\nChange-Id: I241ca517cc0a2b3d10faacb4a370d3770803781c\nSigned-off-by: Richard Haines \u003crichard_c_haines@btinternet.com\u003e\n"
    },
    {
      "commit": "c838d9bf57c1b1b5899dfd589d90f961825bcf73",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "e036e11fb1268622cbc8a6ca474a5c17a6d320f8",
        "a3fcb4a292725dd8e5421008e6335367e202aa7e"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Sat Sep 19 20:07:29 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 19 20:07:29 2015 +0000"
      },
      "message": "am a3fcb4a2: am def6f14f: am 02797a0e: Revert \"Enable restorecon to properly label symlinks.\"\n\n* commit \u0027a3fcb4a292725dd8e5421008e6335367e202aa7e\u0027:\n  Revert \"Enable restorecon to properly label symlinks.\"\n"
    },
    {
      "commit": "a3fcb4a292725dd8e5421008e6335367e202aa7e",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "01dad8c12e9c8908c60bc87c9d81be3764c63c55",
        "def6f14fc604a41e2c75fddb0f54baccc7567b7b"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Sat Sep 19 19:59:54 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 19 19:59:54 2015 +0000"
      },
      "message": "am def6f14f: am 02797a0e: Revert \"Enable restorecon to properly label symlinks.\"\n\n* commit \u0027def6f14fc604a41e2c75fddb0f54baccc7567b7b\u0027:\n  Revert \"Enable restorecon to properly label symlinks.\"\n"
    },
    {
      "commit": "def6f14fc604a41e2c75fddb0f54baccc7567b7b",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "74900f76ef6969aae5e87304395c99c780156b18",
        "02797a0e21cea245998ee7cb0976972f67aee8ce"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Sat Sep 19 19:52:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 19 19:52:40 2015 +0000"
      },
      "message": "am 02797a0e: Revert \"Enable restorecon to properly label symlinks.\"\n\n* commit \u002702797a0e21cea245998ee7cb0976972f67aee8ce\u0027:\n  Revert \"Enable restorecon to properly label symlinks.\"\n"
    },
    {
      "commit": "e036e11fb1268622cbc8a6ca474a5c17a6d320f8",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "01dad8c12e9c8908c60bc87c9d81be3764c63c55"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 18 16:01:17 2015 -0700"
      },
      "committer": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 18 16:35:08 2015 -0700"
      },
      "message": "Revert \"Enable restorecon to properly label symlinks.\"\n\nThis change resulted in //data being used for restorecon, rather than\n/data, causing the check to fail when deciding whether or not init\nshould label app data files.\n\nThis reverts commit 249094fcb1b4d3a37be10e394023bcba75fff2b1.\n\n(cherry-pick of commit: 02797a0e21cea245998ee7cb0976972f67aee8ce)\n\nBug: 24190361\nChange-Id: I1a0f64404da3c54a03890df60b8b5d9102d1efa3\n"
    },
    {
      "commit": "02797a0e21cea245998ee7cb0976972f67aee8ce",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "249094fcb1b4d3a37be10e394023bcba75fff2b1"
      ],
      "author": {
        "name": "dcashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 18 16:01:17 2015 -0700"
      },
      "committer": {
        "name": "Daniel Cashman",
        "email": "dcashman@google.com",
        "time": "Fri Sep 18 23:22:37 2015 +0000"
      },
      "message": "Revert \"Enable restorecon to properly label symlinks.\"\n\nThis change resulted in //data being used for restorecon, rather than\n/data, causing the check to fail when deciding whether or not init\nshould label app data files.\n\nThis reverts commit 249094fcb1b4d3a37be10e394023bcba75fff2b1.\n\nBug: 24190361\nChange-Id: I803b9a644e02983c30f47b00806b52a4493801ed"
    },
    {
      "commit": "01dad8c12e9c8908c60bc87c9d81be3764c63c55",
      "tree": "4c8c5578f36198ed829176ccf7b55295b94d5e7c",
      "parents": [
        "5772f5579e580d15652552cab13397870d80d4c1",
        "74900f76ef6969aae5e87304395c99c780156b18"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Sep 17 17:33:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 17 17:33:27 2015 +0000"
      },
      "message": "am 74900f76: am 249094fc: Enable restorecon to properly label symlinks.\n\n* commit \u002774900f76ef6969aae5e87304395c99c780156b18\u0027:\n  Enable restorecon to properly label symlinks.\n"
    },
    {
      "commit": "74900f76ef6969aae5e87304395c99c780156b18",
      "tree": "4c8c5578f36198ed829176ccf7b55295b94d5e7c",
      "parents": [
        "a0fb33c1a45b57c2aa4bd00855ab4ba77dc40396",
        "249094fcb1b4d3a37be10e394023bcba75fff2b1"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Sep 17 17:25:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 17 17:25:40 2015 +0000"
      },
      "message": "am 249094fc: Enable restorecon to properly label symlinks.\n\n* commit \u0027249094fcb1b4d3a37be10e394023bcba75fff2b1\u0027:\n  Enable restorecon to properly label symlinks.\n"
    },
    {
      "commit": "249094fcb1b4d3a37be10e394023bcba75fff2b1",
      "tree": "4c8c5578f36198ed829176ccf7b55295b94d5e7c",
      "parents": [
        "91b7d911c51f972f127972bc5c529310387fba8b"
      ],
      "author": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Sep 10 09:42:15 2015 -0700"
      },
      "committer": {
        "name": "Dan Cashman",
        "email": "dcashman@google.com",
        "time": "Thu Sep 17 09:23:16 2015 -0700"
      },
      "message": "Enable restorecon to properly label symlinks.\n\ncommit: 06d45512e2df93f65a51877a51549e522b4f2cf5 changed restorecon to only\noperate on paths which had undergone a realpath transformation.  Unfortunately,\nthis made it impossible to directly restorecon a symlink, since the symlink\nwould be followed.  Change restorecon to only perform realpath on the directory\nprefix, so that symlinks can be labeled.\n\nBug: 21732016\nChange-Id: I95e18f9a8e9ffda8cf9ab8676052486c68216b00\n"
    },
    {
      "commit": "5772f5579e580d15652552cab13397870d80d4c1",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "c7d6cd333c16b74b30decf33b28e98fd777da233",
        "a0fb33c1a45b57c2aa4bd00855ab4ba77dc40396"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Thu Aug 27 05:10:09 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:09 2015 +0000"
      },
      "message": "am a0fb33c1: (-s ours) am 91b7d911: Set SELABEL_OPT_BASEONLY to stop additional file checks\n\n* commit \u0027a0fb33c1a45b57c2aa4bd00855ab4ba77dc40396\u0027:\n"
    },
    {
      "commit": "c7d6cd333c16b74b30decf33b28e98fd777da233",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "ed25e4e1082b7be9e6a4c3163168ced0d576ddc3",
        "5f83d69a64162c4031549601bbcc25b9daef918d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Aug 27 05:10:09 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:09 2015 +0000"
      },
      "message": "am 5f83d69a: (-s ours) am 95736e8c: Merge changes from topic \\\u0027file_contexts.bin\\\u0027\n\n* commit \u00275f83d69a64162c4031549601bbcc25b9daef918d\u0027:\n"
    },
    {
      "commit": "ed25e4e1082b7be9e6a4c3163168ced0d576ddc3",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "0ed252efdaa41918932dc58a6c1d19c4a56cc943",
        "d59496a015f53251171cb19b300fec25d755fe41"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Aug 27 05:10:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:08 2015 +0000"
      },
      "message": "am d59496a0: (-s ours) am 2ef4270c: Merge \"libselinux: fail hard on invalid file_contexts entries\"\n\n* commit \u0027d59496a015f53251171cb19b300fec25d755fe41\u0027:\n"
    },
    {
      "commit": "0ed252efdaa41918932dc58a6c1d19c4a56cc943",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "dccb6af5225de6776483fe7771778b840363bfdb",
        "80fe5f150070262ef6e36f2910215457e89dc8a1"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Thu Aug 27 05:10:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:08 2015 +0000"
      },
      "message": "am 80fe5f15: (-s ours) am 82216295: libselinux: fail hard on invalid property_contexts entries\n\n* commit \u002780fe5f150070262ef6e36f2910215457e89dc8a1\u0027:\n"
    },
    {
      "commit": "dccb6af5225de6776483fe7771778b840363bfdb",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "aafa496af7957e93df24201d9dadbcbbed488e04",
        "09fbb9669af14fd9bb97234ec518f8ac91819368"
      ],
      "author": {
        "name": "William Roberts",
        "email": "william.c.roberts@intel.com",
        "time": "Thu Aug 27 05:10:07 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:07 2015 +0000"
      },
      "message": "am 09fbb966: (-s ours) am be86166f: restorecon: do not set security.restorecon_last on ramfs and tmpfs\n\n* commit \u002709fbb9669af14fd9bb97234ec518f8ac91819368\u0027:\n"
    },
    {
      "commit": "aafa496af7957e93df24201d9dadbcbbed488e04",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "3dd723a9cf1f9249e357af6703c2b23cb6d8d5c5",
        "dc022606befb80fd6c8a10312b79cedbc40dddab"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Thu Aug 27 05:10:07 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 05:10:07 2015 +0000"
      },
      "message": "am dc022606: (-s ours) am 6d0b91bb: libselinux: Enhance spec file support\n\n* commit \u0027dc022606befb80fd6c8a10312b79cedbc40dddab\u0027:\n"
    },
    {
      "commit": "3dd723a9cf1f9249e357af6703c2b23cb6d8d5c5",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "2cef6676a4a25857fbcd560a2280f545bb11476b",
        "91b7d911c51f972f127972bc5c529310387fba8b"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Aug 24 15:39:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 24 15:39:13 2015 +0000"
      },
      "message": "am 91b7d911: Set SELABEL_OPT_BASEONLY to stop additional file checks\n\n* commit \u002791b7d911c51f972f127972bc5c529310387fba8b\u0027:\n  Set SELABEL_OPT_BASEONLY to stop additional file checks\n"
    },
    {
      "commit": "a0fb33c1a45b57c2aa4bd00855ab4ba77dc40396",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "5f83d69a64162c4031549601bbcc25b9daef918d",
        "91b7d911c51f972f127972bc5c529310387fba8b"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Aug 24 14:59:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 24 14:59:50 2015 +0000"
      },
      "message": "am 91b7d911: Set SELABEL_OPT_BASEONLY to stop additional file checks\n\n* commit \u002791b7d911c51f972f127972bc5c529310387fba8b\u0027:\n  Set SELABEL_OPT_BASEONLY to stop additional file checks\n"
    },
    {
      "commit": "91b7d911c51f972f127972bc5c529310387fba8b",
      "tree": "9bef3f305fcd1c2a083098e5c4b4cd7a2beb62e7",
      "parents": [
        "95736e8c6bd7a1e1717cf8abe10f6af910b7e429"
      ],
      "author": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Aug 24 11:18:06 2015 +0100"
      },
      "committer": {
        "name": "Richard Haines",
        "email": "richard_c_haines@btinternet.com",
        "time": "Mon Aug 24 11:18:06 2015 +0100"
      },
      "message": "Set SELABEL_OPT_BASEONLY to stop additional file checks\n\nStop checking for the homedirs and local file_contexts files as they do not\nexist on Android and therefore always fail.\n\nChange-Id: Idba7ea4757073f428ce2a3e02e63796fdde71cdb\nSigned-off-by: Richard Haines \u003crichard_c_haines@btinternet.com\u003e\n"
    },
    {
      "commit": "2cef6676a4a25857fbcd560a2280f545bb11476b",
      "tree": "93c806039c790717faed2f8d840c8f9a0b82d47a",
      "parents": [
        "6a3630b3101efbb51204533af56e517e9b4b9027",
        "95736e8c6bd7a1e1717cf8abe10f6af910b7e429"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Aug 13 00:01:12 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 00:01:12 2015 +0000"
      },
      "message": "am 95736e8c: Merge changes from topic \\\u0027file_contexts.bin\\\u0027\n\n* commit \u002795736e8c6bd7a1e1717cf8abe10f6af910b7e429\u0027:\n  libselinux: support context validation on file_contexts.bin\n  libselinux: test for file_contexts.bin format\n  libselinux: add selabel_cmp interface and label_file backend\n  libselinux: switch to file_contexts.bin\n  libselinux: support specifying file_contexts.bin file path\n  libselinux: support file_contexts.bin without file_contexts\n"
    },
    {
      "commit": "5f83d69a64162c4031549601bbcc25b9daef918d",
      "tree": "93c806039c790717faed2f8d840c8f9a0b82d47a",
      "parents": [
        "d59496a015f53251171cb19b300fec25d755fe41",
        "95736e8c6bd7a1e1717cf8abe10f6af910b7e429"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Aug 13 00:00:37 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 13 00:00:37 2015 +0000"
      },
      "message": "am 95736e8c: Merge changes from topic \\\u0027file_contexts.bin\\\u0027\n\n* commit \u002795736e8c6bd7a1e1717cf8abe10f6af910b7e429\u0027:\n  libselinux: support context validation on file_contexts.bin\n  libselinux: test for file_contexts.bin format\n  libselinux: add selabel_cmp interface and label_file backend\n  libselinux: switch to file_contexts.bin\n  libselinux: support specifying file_contexts.bin file path\n  libselinux: support file_contexts.bin without file_contexts\n"
    },
    {
      "commit": "95736e8c6bd7a1e1717cf8abe10f6af910b7e429",
      "tree": "93c806039c790717faed2f8d840c8f9a0b82d47a",
      "parents": [
        "2ef4270c9ba60b895ad9b9b9155fca9af5cc07a4",
        "727421b9f161b1273f773e48bff814ef17038568"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Wed Aug 12 23:46:28 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 12 23:46:28 2015 +0000"
      },
      "message": "Merge changes from topic \u0027file_contexts.bin\u0027\n\n* changes:\n  libselinux: support context validation on file_contexts.bin\n  libselinux: test for file_contexts.bin format\n  libselinux: add selabel_cmp interface and label_file backend\n  libselinux: switch to file_contexts.bin\n  libselinux: support specifying file_contexts.bin file path\n  libselinux: support file_contexts.bin without file_contexts\n"
    },
    {
      "commit": "d59496a015f53251171cb19b300fec25d755fe41",
      "tree": "9d19a1362c5bbb9b19bb46a9c8668d35235e7d7c",
      "parents": [
        "80fe5f150070262ef6e36f2910215457e89dc8a1",
        "2ef4270c9ba60b895ad9b9b9155fca9af5cc07a4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Aug 08 15:00:09 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 08 15:00:09 2015 +0000"
      },
      "message": "am 2ef4270c: Merge \"libselinux: fail hard on invalid file_contexts entries\"\n\n* commit \u00272ef4270c9ba60b895ad9b9b9155fca9af5cc07a4\u0027:\n  libselinux: fail hard on invalid file_contexts entries\n"
    },
    {
      "commit": "6a3630b3101efbb51204533af56e517e9b4b9027",
      "tree": "9d19a1362c5bbb9b19bb46a9c8668d35235e7d7c",
      "parents": [
        "7de1d93403ecfce278efcc617f889d09c590980e",
        "2ef4270c9ba60b895ad9b9b9155fca9af5cc07a4"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Aug 08 14:59:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 08 14:59:04 2015 +0000"
      },
      "message": "am 2ef4270c: Merge \"libselinux: fail hard on invalid file_contexts entries\"\n\n* commit \u00272ef4270c9ba60b895ad9b9b9155fca9af5cc07a4\u0027:\n  libselinux: fail hard on invalid file_contexts entries\n"
    },
    {
      "commit": "2ef4270c9ba60b895ad9b9b9155fca9af5cc07a4",
      "tree": "9d19a1362c5bbb9b19bb46a9c8668d35235e7d7c",
      "parents": [
        "82216295fac4bb483624e7870b42ac9e95fc7889",
        "a4b36fa45f964b6d23bc7e12a7acb16ad4bcc624"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sat Aug 08 14:46:58 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 08 14:46:58 2015 +0000"
      },
      "message": "Merge \"libselinux: fail hard on invalid file_contexts entries\""
    },
    {
      "commit": "7de1d93403ecfce278efcc617f889d09c590980e",
      "tree": "9dbb6ef9c4ee9d777a7610f195c174a7dd28fce5",
      "parents": [
        "dee85174bd2465317a809c3f42d38f01506ad558",
        "82216295fac4bb483624e7870b42ac9e95fc7889"
      ],
      "author": {
        "name": "Stephen Smalley",
        "email": "sds@tycho.nsa.gov",
        "time": "Sat Aug 08 14:46:25 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Aug 08 14:46:25 2015 +0000"
      },
      "message": "am 82216295: libselinux: fail hard on invalid property_contexts entries\n\n* commit \u002782216295fac4bb483624e7870b42ac9e95fc7889\u0027:\n  libselinux: fail hard on invalid property_contexts entries\n"
    }
  ],
  "next": "80fe5f150070262ef6e36f2910215457e89dc8a1"
}
