)]}'
{
  "log": [
    {
      "commit": "c339766a51d2db711171cb704e30b7ae916a987f",
      "tree": "a943be297395d2202aa7ad29d2824078354bb9b1",
      "parents": [
        "58e367fd6501efc2f11adb0b44f1c7cde9b39c2a"
      ],
      "author": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Sun Feb 05 16:24:49 2017 -0500"
      },
      "committer": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Sun Feb 05 16:41:08 2017 -0500"
      },
      "message": "Do not depend on internals of the SSL state machine.\n\ntlsdate has a \"time_is_an_illusion\" parameter which uses the server\u0027s\nreported time (within some bounds) to check the certificate against. It\ndoes this by configuring the time on the SSL\u0027s X509_VERIFY_PARAM when\none of the SSL3_ST_CR_SRVR_HELLO_A and SSL3_ST_CR_SRVR_HELLO_B states\npasses.\n\nIn addition to depending on quirks of the OpenSSL state machine which\nBoringSSL would otherwise need to emulate, this code is wrong. It needs\nto run at a point after the server_random is filled in.  In the original\nOpenSSL code, SSL3_ST_CR_SRVR_HELLO_A is when the message header is\nread, so this is too early. The _B also wouldn\u0027t work in a non-blocking\nsocket because state mcahine might pause halfway through reading the\nbody. This probably only worked because it only uses blocking BIOs.\n\nThis also depends on OpenSSL\u0027s info_callback hacking the state\ntransitions so SSL_state returned the previous state during the\ncallback.\n\nRather than ossify all these bugs, use SSL_CTX_set_cert_verify_callback.\nThis overrides OpenSSL\u0027s call to X509_verify_cert. By looking up the\nserver random immediately before verification, we are guaranteed\nserver_random is filled in. At this point we also have an X509_STORE_CTX\navailable, so we may set the time on it directly.\n\nChange-Id: I0a830984539d7e9e53c78891dea07f27f71edcbf\nTest: mma\n"
    },
    {
      "commit": "58e367fd6501efc2f11adb0b44f1c7cde9b39c2a",
      "tree": "7a5d901ceae854480658ef2cf630e24a39433608",
      "parents": [
        "5277834396f52a760bb237044d5539fc4aaa87bb",
        "74ea02aa6618f6b317a5d7056ede68a48980e524"
      ],
      "author": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Wed Oct 05 20:47:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 05 20:47:48 2016 +0000"
      },
      "message": "Don\u0027t reach into BoringSSL structs. am: 5a3de7f113 am: cfb7a5c7aa\nam: 74ea02aa66\n\nChange-Id: Icd52bce4997ee577ef096b82cfdf3f479064b381\n"
    },
    {
      "commit": "74ea02aa6618f6b317a5d7056ede68a48980e524",
      "tree": "7a5d901ceae854480658ef2cf630e24a39433608",
      "parents": [
        "5277834396f52a760bb237044d5539fc4aaa87bb",
        "cfb7a5c7aa52b74338df1ef2cf3425f0e43ef1d5"
      ],
      "author": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Wed Oct 05 20:45:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 05 20:45:17 2016 +0000"
      },
      "message": "Don\u0027t reach into BoringSSL structs. am: 5a3de7f113\nam: cfb7a5c7aa\n\nChange-Id: Ibd161dd4080b7d317cf3baeb34f14c404ae7351e\n"
    },
    {
      "commit": "cfb7a5c7aa52b74338df1ef2cf3425f0e43ef1d5",
      "tree": "7a5d901ceae854480658ef2cf630e24a39433608",
      "parents": [
        "5277834396f52a760bb237044d5539fc4aaa87bb",
        "5a3de7f1137f650c5b4da38fcf3da3a00be905d2"
      ],
      "author": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Wed Oct 05 20:42:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 05 20:42:16 2016 +0000"
      },
      "message": "Don\u0027t reach into BoringSSL structs.\nam: 5a3de7f113\n\nChange-Id: I7b54b1c354934ed2dae616dc6e088f27a9c08ac5\n"
    },
    {
      "commit": "5a3de7f1137f650c5b4da38fcf3da3a00be905d2",
      "tree": "7a5d901ceae854480658ef2cf630e24a39433608",
      "parents": [
        "5277834396f52a760bb237044d5539fc4aaa87bb"
      ],
      "author": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Fri Sep 23 14:57:05 2016 -0400"
      },
      "committer": {
        "name": "David Benjamin",
        "email": "davidben@google.com",
        "time": "Fri Sep 23 18:07:42 2016 -0400"
      },
      "message": "Don\u0027t reach into BoringSSL structs.\n\nInstead, use the corresponding accessor.\n\nNote that SSL_get0_param is not quite what the old code was doing, but\nis the correct way to do this. I\u0027ve confirmed the time still gets set\neither way.  (The parameters ultimately used in the X509_STORE_CTX are\nfirst seeded from the X509_STORE, where the old code was modifying\nthings, and then any parameters set via SSL_get0_param are applied.)\n\nSee upstream docs here:\nhttps://www.openssl.org/docs/manmaster/ssl/SSL_get0_param.html\n\nTest: mmma -j200 external/tlsdate\nChange-Id: I6bffe27d1016ed4abad7f7c90ed72d5971fc7b23\n"
    },
    {
      "commit": "5277834396f52a760bb237044d5539fc4aaa87bb",
      "tree": "48bdeb47bfefb8113b451c7cd41de94bdb704606",
      "parents": [
        "9766720c18edbd681c4a179434361f41a92909e8",
        "8e4be28465ee3c7732074443359cad925a9bf264"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 18 23:52:00 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 18 23:52:00 2015 +0000"
      },
      "message": "Fix mips64 build.\nam: 8e4be28465\n\n* commit \u00278e4be28465ee3c7732074443359cad925a9bf264\u0027:\n  Fix mips64 build.\n"
    },
    {
      "commit": "8e4be28465ee3c7732074443359cad925a9bf264",
      "tree": "48bdeb47bfefb8113b451c7cd41de94bdb704606",
      "parents": [
        "ce31a91f92f677e2712d1a7f03da607db17a6b82"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 18 15:28:14 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Dec 18 15:28:14 2015 -0800"
      },
      "message": "Fix mips64 build.\n\nChange-Id: I2cdc6527921915005c630aba7a183c6523d7f2c6\n"
    },
    {
      "commit": "9766720c18edbd681c4a179434361f41a92909e8",
      "tree": "4c856af2ec0db43ad58e6ff5ed37fd5d73aa2435",
      "parents": [
        "da05f95494bde31ee5f36ab56df1869d691a70b2",
        "ce31a91f92f677e2712d1a7f03da607db17a6b82"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Dec 16 08:51:58 2015 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 16 08:51:58 2015 -0800"
      },
      "message": "Add MIPS little endian architectures and fix preprocessor indentation\nam: ce31a91f92\n\n* commit \u0027ce31a91f92f677e2712d1a7f03da607db17a6b82\u0027:\n  Add MIPS little endian architectures and fix preprocessor indentation\n"
    },
    {
      "commit": "ce31a91f92f677e2712d1a7f03da607db17a6b82",
      "tree": "4c856af2ec0db43ad58e6ff5ed37fd5d73aa2435",
      "parents": [
        "75bc1ed95f269e1274dee1c13a1ce63bb6065ddb"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Thu Oct 22 12:34:56 2015 +0100"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Mon Dec 14 20:28:32 2015 +0000"
      },
      "message": "Add MIPS little endian architectures and fix preprocessor indentation\n\nMIPS has distinct architecture identifiers for big endian and little\nendian. This change adds the little endian identifiers and updates the\npreprocessor indentation to consistently use 2 spaces. \n\nChange-Id: Ia48ec946a5b4619cf29f83deef8de2adc0136af5\n"
    },
    {
      "commit": "da05f95494bde31ee5f36ab56df1869d691a70b2",
      "tree": "5b1fe10f035e2fd438e7a3c440f7023b901fe89f",
      "parents": [
        "9b4a50daa6b36dc1fd92abcaf0971ade56990c36",
        "75bc1ed95f269e1274dee1c13a1ce63bb6065ddb"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 04 23:09:10 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 04 23:09:10 2015 +0000"
      },
      "message": "tlsdate: prevent unnecessary rebuilds\nam: 75bc1ed95f\n\n* commit \u002775bc1ed95f269e1274dee1c13a1ce63bb6065ddb\u0027:\n  tlsdate: prevent unnecessary rebuilds\n"
    },
    {
      "commit": "75bc1ed95f269e1274dee1c13a1ce63bb6065ddb",
      "tree": "5b1fe10f035e2fd438e7a3c440f7023b901fe89f",
      "parents": [
        "46e11a854350ef2e36aaef2d9daf34f8d7af31f1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 04 14:46:54 2015 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 04 22:55:29 2015 +0000"
      },
      "message": "tlsdate: prevent unnecessary rebuilds\n\ntlsdate rebuilds every time the makefiles are reparsed because it embeds\nthe output of a shell date command into the command line, and ninja\nreruns the command every time it changes.  Replace $(shell date +%sL)\nwith $$$(BUILD_NUMBER_FROM_FILE)L, which will read the build date from\n$(OUT_DIR)/build_date.txt.  This date file will be updated on every\nbuild, but will not cause a rebuild if it changes, so the date from the\nmost recent time the file was recompiled for other reasons will be used.\n\nBug: 24790431\nChange-Id: Ib93ead6512706e13ae6dbd271e7560a3e8c00e8a\n"
    },
    {
      "commit": "9b4a50daa6b36dc1fd92abcaf0971ade56990c36",
      "tree": "289ca3b17444633cd0a6c19802151556579f081b",
      "parents": [
        "616a5a62a0a6c17154cbd18f445a1ea04987d241",
        "46e11a854350ef2e36aaef2d9daf34f8d7af31f1"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Wed Oct 21 17:18:34 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 21 17:18:34 2015 +0000"
      },
      "message": "Fix /data dir creation, \\\u0027tlsdated\\\u0027 service class.\nam: 46e11a8543\n\n* commit \u002746e11a854350ef2e36aaef2d9daf34f8d7af31f1\u0027:\n  Fix /data dir creation, \u0027tlsdated\u0027 service class.\n"
    },
    {
      "commit": "46e11a854350ef2e36aaef2d9daf34f8d7af31f1",
      "tree": "289ca3b17444633cd0a6c19802151556579f081b",
      "parents": [
        "fa9e6d3cc3048f13a629e50808fc914a0f1a331a"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Oct 20 15:30:40 2015 -0700"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Oct 20 15:33:17 2015 -0700"
      },
      "message": "Fix /data dir creation, \u0027tlsdated\u0027 service class.\n\n/data is not guaranteed to be mounted when \u0027boot\u0027 triggers.\n\u0027post-fs-data\u0027 guarantees that. Also, move the daemon to class\n\u0027late_start\u0027, since post-fs-data will not happen in time for class\n\u0027main\u0027.\n\nBug: 25122706\nChange-Id: I2a636df27461ebc21270dd2380c6d5d69f253d3d\n"
    },
    {
      "commit": "616a5a62a0a6c17154cbd18f445a1ea04987d241",
      "tree": "1d1d63c7770c237cb9006dda263f1c3f16d99a27",
      "parents": [
        "1ade1ff2fc357c922d9fbd67006dbd7137ed6e36",
        "fa9e6d3cc3048f13a629e50808fc914a0f1a331a"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Oct 13 15:39:35 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 15:39:35 2015 +0000"
      },
      "message": "am fa9e6d3c: Remove verbose logging in \\\u0027tlsdated\\\u0027 and \\\u0027tlsdate\\\u0027.\n\n* commit \u0027fa9e6d3cc3048f13a629e50808fc914a0f1a331a\u0027:\n  Remove verbose logging in \u0027tlsdated\u0027 and \u0027tlsdate\u0027.\n"
    },
    {
      "commit": "fa9e6d3cc3048f13a629e50808fc914a0f1a331a",
      "tree": "1d1d63c7770c237cb9006dda263f1c3f16d99a27",
      "parents": [
        "e690a81d99d4c1c88abf235b306ead73bbfaa012"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Mon Oct 12 21:31:42 2015 -0700"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Mon Oct 12 21:31:42 2015 -0700"
      },
      "message": "Remove verbose logging in \u0027tlsdated\u0027 and \u0027tlsdate\u0027.\n\n\u0027tlsdated\u0027 and \u0027tlsdate\u0027 account for more than 50% of all logcat output\nin any Brillo build. Now that tlsdate is working, remove verbose logging.\n\nBug: None\nChange-Id: I7c0461620df66a6dcc3ed2b391b2bada577a6a07\n"
    },
    {
      "commit": "1ade1ff2fc357c922d9fbd67006dbd7137ed6e36",
      "tree": "fb68b7d0cf119b7ca6ac55979a1585792e10ef55",
      "parents": [
        "5018eda71e4b3294928013d87163575479be9473",
        "e690a81d99d4c1c88abf235b306ead73bbfaa012"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Oct 02 18:52:16 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Oct 02 18:52:16 2015 +0000"
      },
      "message": "am e690a81d: Use a dedicated UID/GID for unprivileged execution.\n\n* commit \u0027e690a81d99d4c1c88abf235b306ead73bbfaa012\u0027:\n  Use a dedicated UID/GID for unprivileged execution.\n"
    },
    {
      "commit": "e690a81d99d4c1c88abf235b306ead73bbfaa012",
      "tree": "fb68b7d0cf119b7ca6ac55979a1585792e10ef55",
      "parents": [
        "1632583d26b8e926d84afec05f0e0d9bdf9ab0ca"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Oct 02 07:22:47 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Oct 02 08:42:58 2015 -0700"
      },
      "message": "Use a dedicated UID/GID for unprivileged execution.\n\nBug: 23651876\nChange-Id: Ie924bbe5cee74e3095876d6386a6ea21399b8d97\n"
    },
    {
      "commit": "5018eda71e4b3294928013d87163575479be9473",
      "tree": "07c85d4f92ac2c7614a935fc0b9c9deebf158608",
      "parents": [
        "acf1cf3c819e5d6b68ded9cca9a21ebc88968db0",
        "1632583d26b8e926d84afec05f0e0d9bdf9ab0ca"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Oct 01 20:15:25 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 01 20:15:25 2015 +0000"
      },
      "message": "am 1632583d: Remove \\\u0027seclabel\\\u0027 option.\n\n* commit \u00271632583d26b8e926d84afec05f0e0d9bdf9ab0ca\u0027:\n  Remove \u0027seclabel\u0027 option.\n"
    },
    {
      "commit": "1632583d26b8e926d84afec05f0e0d9bdf9ab0ca",
      "tree": "07c85d4f92ac2c7614a935fc0b9c9deebf158608",
      "parents": [
        "e9132c014d2a05e410f98cb777a4806dddde3e8e"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Oct 01 11:44:35 2015 -0700"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Oct 01 11:44:35 2015 -0700"
      },
      "message": "Remove \u0027seclabel\u0027 option.\n\nThe executable is already labelled in the filesystem.\n\nBug: 24571067\nChange-Id: Ic6b9f85628ca391fc8e9d3232bc74d2df730be35\n"
    },
    {
      "commit": "acf1cf3c819e5d6b68ded9cca9a21ebc88968db0",
      "tree": "f2a4fa351099787d32a4f1a0e91c49c75cdfb206",
      "parents": [
        "16b0468baacf64d60b9b2b533fdd96769baf482c",
        "e9132c014d2a05e410f98cb777a4806dddde3e8e"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Sep 04 18:17:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 04 18:17:44 2015 +0000"
      },
      "message": "am e9132c01: Make tlsdated persist and load last set time.\n\n* commit \u0027e9132c014d2a05e410f98cb777a4806dddde3e8e\u0027:\n  Make tlsdated persist and load last set time.\n"
    },
    {
      "commit": "e9132c014d2a05e410f98cb777a4806dddde3e8e",
      "tree": "f2a4fa351099787d32a4f1a0e91c49c75cdfb206",
      "parents": [
        "4a0ae0177f07c62d336268082539dd64149aa288"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Sep 04 08:28:37 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Sep 04 10:14:52 2015 -0700"
      },
      "message": "Make tlsdated persist and load last set time.\n\nThis enables use of a timestamp file. Note the fchmod(2) call after file\nopening/creation, used for working around unfavorable umask settings.\n\nBug: 22373707\nChange-Id: Id759d3eda55c9c2215991268291ceeac490373d6\n"
    },
    {
      "commit": "16b0468baacf64d60b9b2b533fdd96769baf482c",
      "tree": "412efbc04977d7a682ecbbba0c8d64f23cf5578e",
      "parents": [
        "5b2e0d357a8a1d6681e0c623feae6dff38f9f404",
        "4a0ae0177f07c62d336268082539dd64149aa288"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 18:36:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 18:36:19 2015 +0000"
      },
      "message": "am 4a0ae017: Relocate a function to fix a build failure.\n\n* commit \u00274a0ae0177f07c62d336268082539dd64149aa288\u0027:\n  Relocate a function to fix a build failure.\n"
    },
    {
      "commit": "5b2e0d357a8a1d6681e0c623feae6dff38f9f404",
      "tree": "55712870389f28b8aa073182a04f6ae1ef5fc8f6",
      "parents": [
        "055d281f061421a032b9aec4929986f3545f912b",
        "727698b640dad91c1016d26e6cac74e5bc893598"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 18:36:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 18:36:19 2015 +0000"
      },
      "message": "am 727698b6: Free memory for supplementary groups as soon as possible.\n\n* commit \u0027727698b640dad91c1016d26e6cac74e5bc893598\u0027:\n  Free memory for supplementary groups as soon as possible.\n"
    },
    {
      "commit": "055d281f061421a032b9aec4929986f3545f912b",
      "tree": "aa0cd5e1ffa15154ac7e0a874d5722b0f155f839",
      "parents": [
        "18f2fc496305e80e9e1c63e36ac41ebbe995994c",
        "9451a040340733ef044493ca396d8fb087df59e0"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 18:10:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 18:10:59 2015 +0000"
      },
      "message": "am 9451a040: Drop privileges to nobody:nobody, use supplementary groups as needed.\n\n* commit \u00279451a040340733ef044493ca396d8fb087df59e0\u0027:\n  Drop privileges to nobody:nobody, use supplementary groups as needed.\n"
    },
    {
      "commit": "4a0ae0177f07c62d336268082539dd64149aa288",
      "tree": "412efbc04977d7a682ecbbba0c8d64f23cf5578e",
      "parents": [
        "727698b640dad91c1016d26e6cac74e5bc893598"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 11:06:40 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 11:08:56 2015 -0700"
      },
      "message": "Relocate a function to fix a build failure.\n\nThis ensures that parse_supp_groups() is only built with main().\n\nBug: 22373707\nChange-Id: I81ab8b7718592d43a8ccccb1ee1e694367205463\n"
    },
    {
      "commit": "727698b640dad91c1016d26e6cac74e5bc893598",
      "tree": "55712870389f28b8aa073182a04f6ae1ef5fc8f6",
      "parents": [
        "9451a040340733ef044493ca396d8fb087df59e0"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 10:42:59 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 10:42:59 2015 -0700"
      },
      "message": "Free memory for supplementary groups as soon as possible.\n\nBug: 22373707\nBug: 23651876\nChange-Id: I51112d65f53489ff04a0f14b31c198ee4f49c0a3\n"
    },
    {
      "commit": "9451a040340733ef044493ca396d8fb087df59e0",
      "tree": "aa0cd5e1ffa15154ac7e0a874d5722b0f155f839",
      "parents": [
        "aab9382297008c1d1b7cef361159a44885d52af0"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 10:08:56 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 10:41:48 2015 -0700"
      },
      "message": "Drop privileges to nobody:nobody, use supplementary groups as needed.\n\nThis ensures that, by default, tlsdated runs with the least privileges.\nWe use the new supplementary groups feature to allow use of specific\nsystem resources (TCP sockets, DBus).\n\nBug: 22373707\nBug: 23651876\nChange-Id: I157f40c0fb42158bbc8f5233af49fe368d23892b\n"
    },
    {
      "commit": "18f2fc496305e80e9e1c63e36ac41ebbe995994c",
      "tree": "0a5a172e84b8845a863d74058b6f3f64abef8734",
      "parents": [
        "6418bbed7fb53edf19467c19514ad6d2708c1ad7",
        "aab9382297008c1d1b7cef361159a44885d52af0"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:26:21 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:26:21 2015 +0000"
      },
      "message": "am aab93822: Support for dropping privileges with supplementary groups.\n\n* commit \u0027aab9382297008c1d1b7cef361159a44885d52af0\u0027:\n  Support for dropping privileges with supplementary groups.\n"
    },
    {
      "commit": "6418bbed7fb53edf19467c19514ad6d2708c1ad7",
      "tree": "9d1101bf6c580af65a8daa72a4d9997b3709dc39",
      "parents": [
        "0bb8b2361dbace6807f04eb31b1eb3577f6ab395",
        "98fc05cbb94eed6925d76de5a75e993296252e7c"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:51 2015 +0000"
      },
      "message": "am 98fc05cb: Run tlsdated without DBus.\n\n* commit \u002798fc05cbb94eed6925d76de5a75e993296252e7c\u0027:\n  Run tlsdated without DBus.\n"
    },
    {
      "commit": "0bb8b2361dbace6807f04eb31b1eb3577f6ab395",
      "tree": "671405e3eca9713be4182a9f20307bf8d37a3fb8",
      "parents": [
        "ed800d7483c0510631ad60f963738a645c818514",
        "5dc2a431699336ef28d568ca41563e9f6ab84093"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:50 2015 +0000"
      },
      "message": "am 5dc2a431: Run tlsdated as root.\n\n* commit \u00275dc2a431699336ef28d568ca41563e9f6ab84093\u0027:\n  Run tlsdated as root.\n"
    },
    {
      "commit": "ed800d7483c0510631ad60f963738a645c818514",
      "tree": "c487959067722ceff4afed752fab7b84ebd4b568",
      "parents": [
        "daecefc23b936e7655b4e0117f9bc994cba35882",
        "e779a4ea234801eb279f378b6999705f10cd5abc"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:50 2015 +0000"
      },
      "message": "am e779a4ea: Check whether DBus is initialized before attempting platform init.\n\n* commit \u0027e779a4ea234801eb279f378b6999705f10cd5abc\u0027:\n  Check whether DBus is initialized before attempting platform init.\n"
    },
    {
      "commit": "daecefc23b936e7655b4e0117f9bc994cba35882",
      "tree": "921a92007887e748ed8ae29ca1ed0889877df35e",
      "parents": [
        "5269f779baa900c1715d2f2610633858f7f44234",
        "b470cc18ef58c7c6d7e99f80559a69f65f5167e3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:49 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:49 2015 +0000"
      },
      "message": "am b470cc18: Run as non-root; drop privileges to inet:inet.\n\n* commit \u0027b470cc18ef58c7c6d7e99f80559a69f65f5167e3\u0027:\n  Run as non-root; drop privileges to inet:inet.\n"
    },
    {
      "commit": "5269f779baa900c1715d2f2610633858f7f44234",
      "tree": "a17d1f35636241274a99ce377ea15f4804c87c0c",
      "parents": [
        "365b9eb41fcd7d614f14c3afa585c20716a8aefd",
        "f73a0e44adc986e575e9cb8e92a70f406e9d88f9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:48 2015 +0000"
      },
      "message": "am f73a0e44: Do not open a BIO on stdout.\n\n* commit \u0027f73a0e44adc986e575e9cb8e92a70f406e9d88f9\u0027:\n  Do not open a BIO on stdout.\n"
    },
    {
      "commit": "365b9eb41fcd7d614f14c3afa585c20716a8aefd",
      "tree": "9161cfe97b6adf46b2b292f54fff87f6f91a4cf3",
      "parents": [
        "9102b43b02ca43d585fbbdbbe6df03f6fbbf5b8e",
        "6b0a9342d07cce9b66dea2d3230f9bdadb9d44d9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:48 2015 +0000"
      },
      "message": "am 6b0a9342: Build tlsdate-helper in AOSP.\n\n* commit \u00276b0a9342d07cce9b66dea2d3230f9bdadb9d44d9\u0027:\n  Build tlsdate-helper in AOSP.\n"
    },
    {
      "commit": "9102b43b02ca43d585fbbdbbe6df03f6fbbf5b8e",
      "tree": "6a1994a0d714cfac3e8b6d2c2a2d386d043e8396",
      "parents": [
        "2aa3662a203c251f45d34cf581b05249b92f118d",
        "5f27bddadbe222956e963686151a993ab07c7f94"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 17:04:47 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 17:04:47 2015 +0000"
      },
      "message": "am 5f27bdda: Better handling of EVP_PKEY types.\n\n* commit \u00275f27bddadbe222956e963686151a993ab07c7f94\u0027:\n  Better handling of EVP_PKEY types.\n"
    },
    {
      "commit": "2aa3662a203c251f45d34cf581b05249b92f118d",
      "tree": "5bc11ed82831c1166ddeaac8bb83f906bf8ddc69",
      "parents": [
        "2fca20907d8b0ec69d9038b25a689bac464c9af3",
        "6b31c0f559f7e7e9f3ccf29b4ffc4e7dbde420f3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 16:53:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 01 16:53:13 2015 +0000"
      },
      "message": "am 6b31c0f5: Stop using SSL BIO.\n\n* commit \u00276b31c0f559f7e7e9f3ccf29b4ffc4e7dbde420f3\u0027:\n  Stop using SSL BIO.\n"
    },
    {
      "commit": "aab9382297008c1d1b7cef361159a44885d52af0",
      "tree": "0a5a172e84b8845a863d74058b6f3f64abef8734",
      "parents": [
        "98fc05cbb94eed6925d76de5a75e993296252e7c"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 08:19:02 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Sep 01 09:38:24 2015 -0700"
      },
      "message": "Support for dropping privileges with supplementary groups.\n\nOn Android, we need support for supplementary groups when dropping\nprivileges in order to retain permissions for accessing system resources\nsuch as the DBus socket. This CL:\n\n1) Adds a flag -G to tlsdated for listing supplementary groups used when\n   dropping privileges.\n\n2) Adds \u0027-G dbus\u0027 to tlsdated Android init script.\n\nBug: 22373707\nBug: 23651876\nChange-Id: I0769d5ef496d073c20016c3252c5edbfead2aaa5\n"
    },
    {
      "commit": "98fc05cbb94eed6925d76de5a75e993296252e7c",
      "tree": "9d1101bf6c580af65a8daa72a4d9997b3709dc39",
      "parents": [
        "5dc2a431699336ef28d568ca41563e9f6ab84093"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 22:16:17 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 22:16:17 2015 -0700"
      },
      "message": "Run tlsdated without DBus.\n\nDue to dropping privileges early on in its execution, and due to\nAndroid\u0027s restricted access to DBus and limitations on supplementary GID\nsetup, we temporarily disable tlsdated\u0027s connection to DBus.\n\nBug: 22373707\nBug: 23651876\nChange-Id: I392d41381e7515223a098457583d3019d65dc6e1\n"
    },
    {
      "commit": "5dc2a431699336ef28d568ca41563e9f6ab84093",
      "tree": "671405e3eca9713be4182a9f20307bf8d37a3fb8",
      "parents": [
        "e779a4ea234801eb279f378b6999705f10cd5abc"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 22:13:57 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 22:16:07 2015 -0700"
      },
      "message": "Run tlsdated as root.\n\nThis is actually needed so it can drop privileges shortly after\nstarting.\n\nBug: 22373707\nChange-Id: Ie114a96b80bc5e50525411904c1266fa7072ded0\n"
    },
    {
      "commit": "e779a4ea234801eb279f378b6999705f10cd5abc",
      "tree": "c487959067722ceff4afed752fab7b84ebd4b568",
      "parents": [
        "b470cc18ef58c7c6d7e99f80559a69f65f5167e3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 12:26:13 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 12:40:52 2015 -0700"
      },
      "message": "Check whether DBus is initialized before attempting platform init.\n\nOtherwise, we segfault.\n\nBug: 22373707\nChange-Id: I94601696055e5f649334f470f4827f92614ff74a\n"
    },
    {
      "commit": "b470cc18ef58c7c6d7e99f80559a69f65f5167e3",
      "tree": "921a92007887e748ed8ae29ca1ed0889877df35e",
      "parents": [
        "f73a0e44adc986e575e9cb8e92a70f406e9d88f9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 18:58:11 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 31 12:40:48 2015 -0700"
      },
      "message": "Run as non-root; drop privileges to inet:inet.\n\n1) We are adding a specific file capability (CAP_SYS_TIME) that allows\n   tlsdated to start as user \u0027system\u0027, like other services. Hence,\n   switching to use the standard init template.\n\n2) Our unprivileged execution needs to connect a socket so we\u0027re reusing\n   the existing \u0027inet\u0027 user/group. In the long run, we should have\n   dedicated UID/GID for tlsdated that will provide these privileges.\n\nBug: 22373707\nChange-Id: I85f9a5ee744be71691f1187030021d3178ca0861\n"
    },
    {
      "commit": "f73a0e44adc986e575e9cb8e92a70f406e9d88f9",
      "tree": "a17d1f35636241274a99ce377ea15f4804c87c0c",
      "parents": [
        "6b0a9342d07cce9b66dea2d3230f9bdadb9d44d9"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 17:07:24 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Sat Aug 29 21:46:59 2015 -0700"
      },
      "message": "Do not open a BIO on stdout.\n\nThe returned object isn\u0027t used anyway.\n\nBug: 22373707\nChange-Id: I93fb7ef9c64ab4ffc60eed242264fe375ec55a95\n"
    },
    {
      "commit": "6b0a9342d07cce9b66dea2d3230f9bdadb9d44d9",
      "tree": "9161cfe97b6adf46b2b292f54fff87f6f91a4cf3",
      "parents": [
        "5f27bddadbe222956e963686151a993ab07c7f94"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 15:36:13 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Sat Aug 29 21:46:59 2015 -0700"
      },
      "message": "Build tlsdate-helper in AOSP.\n\nBug: 22373707\nChange-Id: I3b6cc6febc272926edaaf0a98fdd2908155a9ec1\n"
    },
    {
      "commit": "5f27bddadbe222956e963686151a993ab07c7f94",
      "tree": "6a1994a0d714cfac3e8b6d2c2a2d386d043e8396",
      "parents": [
        "6b31c0f559f7e7e9f3ccf29b4ffc4e7dbde420f3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 15:50:34 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Sat Aug 29 21:46:54 2015 -0700"
      },
      "message": "Better handling of EVP_PKEY types.\n\n1) EVP_PKEY_bits already returns the number of bits of keys of any type,\n   so no need for case-by-case handling.\n\n2) Some EVP_PKEY constants are not defined in BoringSSL, so we only test\n   them if they\u0027re defined.\n\nThe conversion from key types values to strings was moved to a separate\nfunction.\n\nBug: 22373707\nChange-Id: I73c383367147afb316fa6e92e456f24078d48c32\n"
    },
    {
      "commit": "6b31c0f559f7e7e9f3ccf29b4ffc4e7dbde420f3",
      "tree": "5bc11ed82831c1166ddeaac8bb83f906bf8ddc69",
      "parents": [
        "6198a2fae5cc4f2ccd3ee29160605cab75d7418c"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 14:22:28 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 16:59:51 2015 -0700"
      },
      "message": "Stop using SSL BIO.\n\nThis type of BIO is not support in BoringSSL. Also, it is not really\nneeded: the same can achieved with an ordinary connect BIO that is added\nto an SSL object.  This form is backward compatible with OpenSSL and\ntherefore preferable.\n\nBug: 22373707\nChange-Id: Ib140da3ce534c687dec1502c2cb1bb0b846bcad1\n"
    },
    {
      "commit": "2fca20907d8b0ec69d9038b25a689bac464c9af3",
      "tree": "87f0b067b1c10124df1cd3de2e73244e9e365f0b",
      "parents": [
        "bcfac86c200c3563abd2546963dcb1870a6b48a6",
        "6198a2fae5cc4f2ccd3ee29160605cab75d7418c"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 16:08:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 28 16:08:59 2015 +0000"
      },
      "message": "am 6198a2fa: Rename init.tlsdated.rc and tie it to the correct build target.\n\n* commit \u00276198a2fae5cc4f2ccd3ee29160605cab75d7418c\u0027:\n  Rename init.tlsdated.rc and tie it to the correct build target.\n"
    },
    {
      "commit": "6198a2fae5cc4f2ccd3ee29160605cab75d7418c",
      "tree": "87f0b067b1c10124df1cd3de2e73244e9e365f0b",
      "parents": [
        "793a81172b131dda5b85e009496344e24cfeab9f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 08:19:47 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 08:39:28 2015 -0700"
      },
      "message": "Rename init.tlsdated.rc and tie it to the correct build target.\n\n1) With the new Android initrc installation schema, all init files are\n   simply named \u003cdaemon_name\u003e.rc. No reason to be different.\n\n2) Actually tie it to tlsdated (and not tlsdated_unittest).\n\nBug: 22373707\nChange-Id: Icb0bc5794da81b81683982f5cae3056c2859877c\n"
    },
    {
      "commit": "bcfac86c200c3563abd2546963dcb1870a6b48a6",
      "tree": "4c4dd9041af7e78c2b1edcacb4e77593fc5dc1e2",
      "parents": [
        "13cfab0f4a53b9aa13d341b1ffb80bd00249913e",
        "793a81172b131dda5b85e009496344e24cfeab9f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Fri Aug 28 02:12:56 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 28 02:12:56 2015 +0000"
      },
      "message": "am 793a8117: Add init.tlsdated.rc.\n\n* commit \u0027793a81172b131dda5b85e009496344e24cfeab9f\u0027:\n  Add init.tlsdated.rc.\n"
    },
    {
      "commit": "793a81172b131dda5b85e009496344e24cfeab9f",
      "tree": "4c4dd9041af7e78c2b1edcacb4e77593fc5dc1e2",
      "parents": [
        "c31964b2951090a14d1135e4738fe724e6136403"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 10:52:10 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 17:55:31 2015 -0700"
      },
      "message": "Add init.tlsdated.rc.\n\nBug: 22373707\n\nChange-Id: I6431bc535cbf19738c5b109f3ab56bcef1ad8fdd\n"
    },
    {
      "commit": "13cfab0f4a53b9aa13d341b1ffb80bd00249913e",
      "tree": "68bb2a8585ff9852e2c1116ed3cccc12c0bd7f90",
      "parents": [
        "dc6e41753adf3c958e24e29b100df727738ffdf4",
        "c31964b2951090a14d1135e4738fe724e6136403"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:17:32 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:17:32 2015 +0000"
      },
      "message": "am c31964b2: Use a group name that actually exists.\n\n* commit \u0027c31964b2951090a14d1135e4738fe724e6136403\u0027:\n  Use a group name that actually exists.\n"
    },
    {
      "commit": "dc6e41753adf3c958e24e29b100df727738ffdf4",
      "tree": "85295236d456239e6fa83adfc2177013ee43f0a2",
      "parents": [
        "31b8f34d25d371b715399e999fb66edcd04f2c84",
        "4def35436a9e7d8531fb29b1e6e8c511cf556822"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:06:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:06:28 2015 +0000"
      },
      "message": "am 4def3543: More signed/unsigned comparison and function pointer fixes.\n\n* commit \u00274def35436a9e7d8531fb29b1e6e8c511cf556822\u0027:\n  More signed/unsigned comparison and function pointer fixes.\n"
    },
    {
      "commit": "31b8f34d25d371b715399e999fb66edcd04f2c84",
      "tree": "5643c0784023522960f0af4f2a0f14253b8d5ddd",
      "parents": [
        "0e341866a3534feb73791bc0f1b768c3bd1c3f1f",
        "7a429cf71b1332a1096b2f737610969e9c4c9a6d"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:06:28 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:06:28 2015 +0000"
      },
      "message": "am 7a429cf7: Build tlsdated unit tests.\n\n* commit \u00277a429cf71b1332a1096b2f737610969e9c4c9a6d\u0027:\n  Build tlsdated unit tests.\n"
    },
    {
      "commit": "0e341866a3534feb73791bc0f1b768c3bd1c3f1f",
      "tree": "f2fab569f58d149a40bed11298e76c9be8df34ce",
      "parents": [
        "0664a4b749ec999c392300d50c1c5dfff9212cac",
        "e6832d33664c3188b623bf6f058029f229d364c3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:06:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:06:06 2015 +0000"
      },
      "message": "am e6832d33: Eliminate GNU old-style field initialization.\n\n* commit \u0027e6832d33664c3188b623bf6f058029f229d364c3\u0027:\n  Eliminate GNU old-style field initialization.\n"
    },
    {
      "commit": "0664a4b749ec999c392300d50c1c5dfff9212cac",
      "tree": "88fc41c50a0832cb0182d9ea61dea508afb550cd",
      "parents": [
        "70cef9408af41a322b0c4344567617d9b30c940c",
        "838d8b3ff0194a05fdac52e2ad66e12d8572aa4e"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:04:14 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:04:14 2015 +0000"
      },
      "message": "am 838d8b3f: Properly handle legacy/new syscalls.\n\n* commit \u0027838d8b3ff0194a05fdac52e2ad66e12d8572aa4e\u0027:\n  Properly handle legacy/new syscalls.\n"
    },
    {
      "commit": "70cef9408af41a322b0c4344567617d9b30c940c",
      "tree": "88fc41c50a0832cb0182d9ea61dea508afb550cd",
      "parents": [
        "1cd7177c1bd9b5ff3b8a064ef4efcc43d58dc8d6",
        "a0f9aa398cbd2dc7e8e9d2fe6310fb422641655d"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:04:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:04:13 2015 +0000"
      },
      "message": "am a0f9aa39: Handle absence of BIO_CTRL_DUP.\n\n* commit \u0027a0f9aa398cbd2dc7e8e9d2fe6310fb422641655d\u0027:\n  Handle absence of BIO_CTRL_DUP.\n"
    },
    {
      "commit": "1cd7177c1bd9b5ff3b8a064ef4efcc43d58dc8d6",
      "tree": "ffac999ec1087141762e5285c9b8897c1134d174",
      "parents": [
        "ff3ade3cd436ceac8385424a853fafc4f8360b02",
        "929185047856de2ee2a0a4b8638847d8ac524b7f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 22:04:13 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 27 22:04:13 2015 +0000"
      },
      "message": "am 92918504: Change an argument type to compile against BoringSSL headers.\n\n* commit \u0027929185047856de2ee2a0a4b8638847d8ac524b7f\u0027:\n  Change an argument type to compile against BoringSSL headers.\n"
    },
    {
      "commit": "c31964b2951090a14d1135e4738fe724e6136403",
      "tree": "68bb2a8585ff9852e2c1116ed3cccc12c0bd7f90",
      "parents": [
        "4def35436a9e7d8531fb29b1e6e8c511cf556822"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 12:30:25 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 12:30:25 2015 -0700"
      },
      "message": "Use a group name that actually exists.\n\nBug: 22373707\nChange-Id: I14df7d3b385114f77a6577ddaf3a903307af0f0f\n"
    },
    {
      "commit": "4def35436a9e7d8531fb29b1e6e8c511cf556822",
      "tree": "85295236d456239e6fa83adfc2177013ee43f0a2",
      "parents": [
        "7a429cf71b1332a1096b2f737610969e9c4c9a6d"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 10:23:48 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 10:49:03 2015 -0700"
      },
      "message": "More signed/unsigned comparison and function pointer fixes.\n\nBug: 22373707\nChange-Id: I5e1ff790d37f14478392272a60d554955753ba5e\n"
    },
    {
      "commit": "7a429cf71b1332a1096b2f737610969e9c4c9a6d",
      "tree": "5643c0784023522960f0af4f2a0f14253b8d5ddd",
      "parents": [
        "e6832d33664c3188b623bf6f058029f229d364c3"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 10:13:44 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 10:15:22 2015 -0700"
      },
      "message": "Build tlsdated unit tests.\n\nBug: 22373707\nChange-Id: I687dcc8f63d06553905c0ccd5d615a37f155b845\n"
    },
    {
      "commit": "e6832d33664c3188b623bf6f058029f229d364c3",
      "tree": "f2fab569f58d149a40bed11298e76c9be8df34ce",
      "parents": [
        "838d8b3ff0194a05fdac52e2ad66e12d8572aa4e"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 07:07:37 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Thu Aug 27 09:01:28 2015 -0700"
      },
      "message": "Eliminate GNU old-style field initialization.\n\nBug: 22373707\nChange-Id: I330b06e800cf4e7c3baf947d23497fca38471c1b\n"
    },
    {
      "commit": "ff3ade3cd436ceac8385424a853fafc4f8360b02",
      "tree": "7a57c43f6bb74401e27269748c887ec95b263778",
      "parents": [
        "f1080e8c3503091620747d32718184c30156b151"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 17:20:47 2015 -0700"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Wed Aug 26 20:52:50 2015 -0700"
      },
      "message": "Properly handle legacy/new syscalls.\n\nSome platforms/archs don\u0027t support all legacy syscalls (open, fstat)\nwhereas others might not support new variants (openat, fstatat,\nnewfstatat). Furthermore, it is hard to tell how a standard API call\nmaps to an actual syscall (e.g. open() might use __NR_openat).\n\nThis ensures that we allow/deny the complete set of calls covering the\nsame functionality, whichever is present.\n\nThis fixes a build error in aosp_arm64 (__NR_open not supported).\n\nBug: 22373707\nChange-Id: I7a7a32f565bb59739c0d3fb30ee73dcb0efe2f1a\n"
    },
    {
      "commit": "838d8b3ff0194a05fdac52e2ad66e12d8572aa4e",
      "tree": "88fc41c50a0832cb0182d9ea61dea508afb550cd",
      "parents": [
        "a0f9aa398cbd2dc7e8e9d2fe6310fb422641655d"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 17:20:47 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 18:12:13 2015 -0700"
      },
      "message": "Properly handle legacy/new syscalls.\n\nSome platforms/archs don\u0027t support all legacy syscalls (open, fstat)\nwhereas others might not support new variants (openat, fstatat,\nnewfstatat). Furthermore, it is hard to tell how a standard API call\nmaps to an actual syscall (e.g. open() might use __NR_openat).\n\nThis ensures that we allow/deny the complete set of calls covering the\nsame functionality, whichever is present.\n\nThis fixes a build error in aosp_arm64 (__NR_open not supported).\n\nBug: 22373707\nChange-Id: I45e86201836b18d5dd1bcd12dd4ffd1ae5071214\n"
    },
    {
      "commit": "a0f9aa398cbd2dc7e8e9d2fe6310fb422641655d",
      "tree": "a8f23d9c4193d481e617eb15ee468621e7d3c94c",
      "parents": [
        "929185047856de2ee2a0a4b8638847d8ac524b7f"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 15:32:00 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 15:36:21 2015 -0700"
      },
      "message": "Handle absence of BIO_CTRL_DUP.\n\nThis constant is not defined in BoringSSL, so we don\u0027t need to handle\nit.\n\nBug: 22373707\nChange-Id: Id587bae5b38889ada14626a47e0d29c38e58c7bf\n"
    },
    {
      "commit": "929185047856de2ee2a0a4b8638847d8ac524b7f",
      "tree": "b699012af774a47ac6c0d2ebf7a8c2e4c1735ab8",
      "parents": [
        "f1080e8c3503091620747d32718184c30156b151"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 12:57:02 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 14:53:06 2015 -0700"
      },
      "message": "Change an argument type to compile against BoringSSL headers.\n\nFor some reason, there\u0027s a difference between how OpenSSL and BoringSSL\nspecify the type of this callback argument (\u0027bio_info_cb *\u0027 vs\n\u0027bio_info_cb\u0027, respectively). While these should generally be\nexchangeable, it turns out that using the former type with the latter\nheaders declarations fails due to an extra dereferencing level.\n\nThis fixes the problem with BoringSSL and is backward compatible when\nbuilding against OpenSSL.\n\nBug: 22373707\nChange-Id: Ibad02749fc46f7be23d3e5b4fa205da130549c2b\n"
    },
    {
      "commit": "f1080e8c3503091620747d32718184c30156b151",
      "tree": "df4918206721811cf17851df1ec0273667ec6518",
      "parents": [
        "8a05aa519b655ad1419f8b4d8af3d81b58e87dd4"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 24 14:55:07 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 10:41:44 2015 -0700"
      },
      "message": "Build tlsdate and tlsdated in AOSP (resubmitted).\n\nThe tlsdate-helper target fails due to OpenSSL/BoringSSL\nincompatibilities and is currently commented out.\n\nAdditionally new unprivileged user/group need to be allocated then set\nhere.\n\nBug: 22373707\nChange-Id: I08b3dfffb0c541ebd493c872de094e25ba7eec32\n"
    },
    {
      "commit": "8a05aa519b655ad1419f8b4d8af3d81b58e87dd4",
      "tree": "9eb36448b91543db8c6312af4995dfe68fe26d90",
      "parents": [
        "de1c20a5b68bc9d0499d3c21514b4ef461be9c85"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 10:39:57 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 10:41:43 2015 -0700"
      },
      "message": "Remove an unused #ifdef.\n\nThis constant HAVE_ANDROID_SYSTEM is never defined; the file in question\n(src/common/fmemopen.h) is included anyway when !defined(HAVE_FMEMOPEN).\n\nBug: 22373707\nChange-Id: I6c94118cd304ed311985835ac1218faea147a52c\n"
    },
    {
      "commit": "de1c20a5b68bc9d0499d3c21514b4ef461be9c85",
      "tree": "59c4794b421504c85b7cce025479e44e911a523a",
      "parents": [
        "49bc10aa7e889c3c52c1f62c1a61d3e439670461"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 06:18:42 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 10:33:35 2015 -0700"
      },
      "message": "Use correct AUDIT_ARCH_ constants for mips32/64 and arm64.\n\nBug: 22373707\nChange-Id: I98651768175e88d4ff174e085fab756f4d332dda\n"
    },
    {
      "commit": "49bc10aa7e889c3c52c1f62c1a61d3e439670461",
      "tree": "73b1df3ec4acd665f3d0d14ec996a6c22faf289b",
      "parents": [
        "b03c2540a04feb5d638051f044766a543250bc28"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 23:30:15 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 06:07:08 2015 -0700"
      },
      "message": "Fix another signed/unsigned comparison.\n\nThis one happens inside a netlink macro, despite the code seems to abide\nby the \"declared\" types. Regardless, now fixed.\n\nBug: 22373707\nChange-Id: Ib6ca5bd0abe3f7304dd56dad7c57e871d7f56007\n"
    },
    {
      "commit": "b03c2540a04feb5d638051f044766a543250bc28",
      "tree": "9deb20d80ed5084337db25fa61965dc0cff47e6d",
      "parents": [
        "0d7369fbb1bb4433b93117cc861880c527675d04"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 23:28:58 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Wed Aug 26 06:07:08 2015 -0700"
      },
      "message": "Remove unused variables.\n\nBug: 22373707\nChange-Id: If5ea9ea2885a388419c9cbf0910112b27dd1a536\n"
    },
    {
      "commit": "0d7369fbb1bb4433b93117cc861880c527675d04",
      "tree": "db4925d55b7abfc3f9bc1508ed83683d8ec49af4",
      "parents": [
        "c300c30a28a8673d5c53981c72149a9fb6b3d17a"
      ],
      "author": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Wed Aug 26 05:58:09 2015 +0000"
      },
      "committer": {
        "name": "Bart Sears",
        "email": "bsears@google.com",
        "time": "Wed Aug 26 05:58:09 2015 +0000"
      },
      "message": "Revert \"Build tlsdate and tlsdated in AOSP.\"\n\nThis reverts commit c300c30a28a8673d5c53981c72149a9fb6b3d17a.\n\nChange-Id: If1845b4321c360d02f6deef26aea07f7b502c35a\n"
    },
    {
      "commit": "c300c30a28a8673d5c53981c72149a9fb6b3d17a",
      "tree": "89d73efa111263069f4023d68bc2638bc8d23315",
      "parents": [
        "90cf470a3becacdfea8461f4848d51c1030436cd"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 24 14:55:07 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 20:01:22 2015 -0700"
      },
      "message": "Build tlsdate and tlsdated in AOSP.\n\nThe tlsdate-helper target fails due to OpenSSL/BoringSSL\nincompatibilities and is currently commented out.\n\nAdditionally new unprivileged user/group need to be allocated then set\nhere.\n\nBug: 22373707\n\nChange-Id: Ie3b7c0a4284dca4bfcbf2be90ec2870471279e75\n"
    },
    {
      "commit": "90cf470a3becacdfea8461f4848d51c1030436cd",
      "tree": "db4925d55b7abfc3f9bc1508ed83683d8ec49af4",
      "parents": [
        "5c103d4734ef0dfa1fb2f3359d41505acd0478ca"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 07:29:20 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 19:57:08 2015 -0700"
      },
      "message": "Remove an accidental semicolon and fix a typo.\n\nBug: 22373707\nChange-Id: I2a68db5a2a4afae896ad46a717ec944dee495730\n"
    },
    {
      "commit": "5c103d4734ef0dfa1fb2f3359d41505acd0478ca",
      "tree": "bd736fb612f77daa9c4ab3165ee8fef15d143f97",
      "parents": [
        "f162a324dd2c6bd9aa08741fc623d134eecbc2cf"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 24 18:19:18 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 19:51:15 2015 -0700"
      },
      "message": "Stop using preadv/pwritev.\n\nThese are non-standard functions that may not be supported in all\nenvironments.  We replace them with pread/pwrite, which provide similar\natomicity and side-effect semantics, and are also simpler to use.\n\nThis also adds EINTR protection around pread.\n\nBug: 22373707\nChange-Id: I78d813c14a958747ed5750e6d00c1ee8fe8031ad\n"
    },
    {
      "commit": "f162a324dd2c6bd9aa08741fc623d134eecbc2cf",
      "tree": "636413cc3bda2008bf51099711edda32ef004dac",
      "parents": [
        "47194ce69c05cd9bb636e13810afec732ff4067b"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 24 18:06:33 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 19:49:24 2015 -0700"
      },
      "message": "Stop comparing signed and unsigned integers.\n\nAlso fixes an implicit casting to unsigned of sprintf() return value.\n\nBug: 22373707\nChange-Id: I5f04f0abd0ecd2594e204dcfe70e161db94484d6\n"
    },
    {
      "commit": "47194ce69c05cd9bb636e13810afec732ff4067b",
      "tree": "e90fec913b394102453f88f46b53e531cfc58f3a",
      "parents": [
        "ae3f6773ded9386e679aaa49e6b0c49ec35ad173"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Mon Aug 24 18:00:44 2015 -0700"
      },
      "committer": {
        "name": "Gilad Arnold",
        "email": "garnold@google.com",
        "time": "Tue Aug 25 15:20:29 2015 -0700"
      },
      "message": "Remove src/common/android.{h,c}.\n\n1) Get rid of strchrnul use; this is a non-standard GNU extension that\u0027s\n   being used in one place.\n\n2) Move MIN into src/common/fmemopen.c, where it\u0027s actually being used.\n\nThereafter, remove all includes of src/common/android.h and any mention\nof android.c in the build files.\n\nBug: 22373707\nChange-Id: Ide6e47a24291e6971d08b4abae2f1cad9c151e0e\n"
    },
    {
      "commit": "ae3f6773ded9386e679aaa49e6b0c49ec35ad173",
      "tree": "bdca4cb1add3e53c811c26c533774870e41ddacf",
      "parents": [
        "e96e2217decd173041388dd2664b1985587b099f"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "drewry@google.com",
        "time": "Mon Aug 24 11:53:37 2015 -0700"
      },
      "committer": {
        "name": "Will Drewry",
        "email": "drewry@google.com",
        "time": "Mon Aug 24 11:53:37 2015 -0700"
      },
      "message": "Add copyright notices\n\nChange-Id: I1445df690afb8b5a1fe963d9006b9499b18b00d7\n"
    },
    {
      "commit": "e96e2217decd173041388dd2664b1985587b099f",
      "tree": "cc84b6e344438f3edda56caa5d8e33f0ff39667e",
      "parents": [
        "4a7dd9b16b350e4218dfefb9f82b030b01226248",
        "ae396da167a9e43ce10c2db0956fb2e2b0d400ea"
      ],
      "author": {
        "name": "Will Drewry",
        "email": "drewry@google.com",
        "time": "Mon Aug 24 11:52:15 2015 -0700"
      },
      "committer": {
        "name": "Will Drewry",
        "email": "drewry@google.com",
        "time": "Mon Aug 24 11:52:15 2015 -0700"
      },
      "message": "Import upstream tlsdate with history\n"
    },
    {
      "commit": "4a7dd9b16b350e4218dfefb9f82b030b01226248",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Mon Jul 06 22:08:45 2015 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Mon Jul 06 22:08:45 2015 -0700"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "ae396da167a9e43ce10c2db0956fb2e2b0d400ea",
      "tree": "cc84b6e344438f3edda56caa5d8e33f0ff39667e",
      "parents": [
        "f01d27fc8143c5b0dab09ba2d0ac3dead6028e98"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Thu May 28 18:49:40 2015 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Thu May 28 18:49:40 2015 +0000"
      },
      "message": "bump to 0.0.13\n"
    },
    {
      "commit": "f01d27fc8143c5b0dab09ba2d0ac3dead6028e98",
      "tree": "c52f2580e511561af97fbf81bcd8fe054e2ec94f",
      "parents": [
        "fd04f48ed60eb773c8e34d27ef2ee12ee7559a41",
        "2049a7c43f591b490a9840454c272a8629cd1356"
      ],
      "author": {
        "name": "\\033]2;Jacob Appelbaum\\007",
        "email": "jacob@appelbaum.net",
        "time": "Sat May 23 17:08:50 2015 +0000"
      },
      "committer": {
        "name": "\\033]2;Jacob Appelbaum\\007",
        "email": "jacob@appelbaum.net",
        "time": "Sat May 23 17:08:50 2015 +0000"
      },
      "message": "Merge pull request #174 from d1b/switch_default_host_to_google\n\nSwitch from www.ptb.de which is sending a randomised time to google.com."
    },
    {
      "commit": "2049a7c43f591b490a9840454c272a8629cd1356",
      "tree": "c52f2580e511561af97fbf81bcd8fe054e2ec94f",
      "parents": [
        "fd04f48ed60eb773c8e34d27ef2ee12ee7559a41"
      ],
      "author": {
        "name": "david",
        "email": "db@d1b.org",
        "time": "Wed Apr 29 23:07:10 2015 +1000"
      },
      "committer": {
        "name": "david",
        "email": "db@d1b.org",
        "time": "Wed Apr 29 23:07:10 2015 +1000"
      },
      "message": "Switch from www.ptb.de which is sending a randomised time to google.com.\n\nSigned-off-by: david \u003cdb@d1b.org\u003e\n"
    },
    {
      "commit": "fd04f48ed60eb773c8e34d27ef2ee12ee7559a41",
      "tree": "3bb1ff42444962a4fe7a4417e0a972c5be9517b5",
      "parents": [
        "ae06e5975cc2a2237d30282d8c64efea32064e74"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sun Oct 26 15:03:23 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sun Oct 26 15:03:23 2014 +0000"
      },
      "message": "ready for 0.0.12 release\n"
    },
    {
      "commit": "ae06e5975cc2a2237d30282d8c64efea32064e74",
      "tree": "81155a0c031b433f47d4c9d97e4299201e2df0a9",
      "parents": [
        "a85ad25501b21c7abe02388de35dccf28812c57c"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:32:19 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:32:19 2014 +0000"
      },
      "message": "Update systemd file\n"
    },
    {
      "commit": "a85ad25501b21c7abe02388de35dccf28812c57c",
      "tree": "e2a945af4f7dbec8b2465e5bc0f38f114c7a7758",
      "parents": [
        "b86448567b2432fff3526e67ede29006e1481407"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:28:46 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:28:46 2014 +0000"
      },
      "message": "Update CHANGELOG\n"
    },
    {
      "commit": "b86448567b2432fff3526e67ede29006e1481407",
      "tree": "88bf5ba11582e5cf8be1fa92fb9c22b3b6c66d04",
      "parents": [
        "ea2e47c55772106b0dbb5c930f753b52a7192219"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:27:19 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Sat Oct 25 12:27:19 2014 +0000"
      },
      "message": "remove TODO item\n"
    },
    {
      "commit": "ea2e47c55772106b0dbb5c930f753b52a7192219",
      "tree": "c5e2f8b3681531dd19c7a124671a79486f9ad057",
      "parents": [
        "8417507b745abb91fd798acaf77d500319d47bbf"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 10:56:32 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 10:56:32 2014 +0000"
      },
      "message": "Update CHANGELOG\n"
    },
    {
      "commit": "8417507b745abb91fd798acaf77d500319d47bbf",
      "tree": "2f130f9900998302aede71311ebede0cb760c415",
      "parents": [
        "e8567b29bcd4535eb0c2989a754266c1bc41d574"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 10:55:14 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 10:55:14 2014 +0000"
      },
      "message": "allow the unprivileged helper to read the time\n"
    },
    {
      "commit": "e8567b29bcd4535eb0c2989a754266c1bc41d574",
      "tree": "d3f92e84610185764ea5a73274b181cbeb98f4e7",
      "parents": [
        "2c22f6e6f2735c081f19999827b51663dd8b7c57"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 01:17:19 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 01:17:19 2014 +0000"
      },
      "message": "add TODO item\n"
    },
    {
      "commit": "2c22f6e6f2735c081f19999827b51663dd8b7c57",
      "tree": "30eb9933a407d922e382a146d9866645b390fb21",
      "parents": [
        "17f6d9b428dc09c3ad25f448ce062cf03265011d"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 01:12:23 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 01:12:30 2014 +0000"
      },
      "message": "add wad to AUTHORS\n"
    },
    {
      "commit": "17f6d9b428dc09c3ad25f448ce062cf03265011d",
      "tree": "49917cb5164cda0d97c948ba98b35791486a5e4f",
      "parents": [
        "bdcc9a41360899dfbed45fbd3e6979fce907bad2"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:31:05 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:31:05 2014 +0000"
      },
      "message": "bump to 0.0.12\n"
    },
    {
      "commit": "bdcc9a41360899dfbed45fbd3e6979fce907bad2",
      "tree": "b29fcc964920ffe05349c3d734b8f65ac59a07ed",
      "parents": [
        "b57b3ca8fb50396bce1cc2951c933bc015b04e44"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:29:56 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:29:56 2014 +0000"
      },
      "message": "actually fix output of --showtime\n"
    },
    {
      "commit": "b57b3ca8fb50396bce1cc2951c933bc015b04e44",
      "tree": "4a3c6a59a681256ef13eccd2e72bfb79895b7861",
      "parents": [
        "01bf93d833f52c8261bd37d4876c45aeae712d62"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:29:22 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:29:22 2014 +0000"
      },
      "message": "fix output of --showtime\n"
    },
    {
      "commit": "01bf93d833f52c8261bd37d4876c45aeae712d62",
      "tree": "58509fd536e6e2f5b1fd572c046598e467ecbafe",
      "parents": [
        "5be06def944a511cbda1f4c8a81975cfc361730e"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:26:50 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Wed Oct 22 00:26:50 2014 +0000"
      },
      "message": "Add TODO items\n"
    },
    {
      "commit": "5be06def944a511cbda1f4c8a81975cfc361730e",
      "tree": "9947068ece5e9299f667cdb3f15edd9e074e577e",
      "parents": [
        "19a227706b00eb6a8aacf58052a0c1d5f52fa607"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:50:17 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:50:28 2014 +0000"
      },
      "message": "Update TODO\n"
    },
    {
      "commit": "19a227706b00eb6a8aacf58052a0c1d5f52fa607",
      "tree": "7b65ed2408bdb33aa8720da32ccf323161d6ab43",
      "parents": [
        "8512b495d00051eb7d6e0421c36aa4666104f574"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:47:28 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:47:28 2014 +0000"
      },
      "message": "prepare for 0.0.11 release\n"
    },
    {
      "commit": "8512b495d00051eb7d6e0421c36aa4666104f574",
      "tree": "785e2fb4f0abbb8f6f99b076f7d4c873a2e7fddd",
      "parents": [
        "4a7b0771bfe66f6ef591c1cd0e83fd1ebfa5fe4f"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:39:09 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 17:39:09 2014 +0000"
      },
      "message": "cosmetic printing refactor\n"
    },
    {
      "commit": "4a7b0771bfe66f6ef591c1cd0e83fd1ebfa5fe4f",
      "tree": "dd2c1a262ef00307d7231266e43bbc69b81d1e33",
      "parents": [
        "bb62fad1d04a60c34d256e42bc8351fab19725cd"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 16:39:15 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 20 16:39:15 2014 +0000"
      },
      "message": "remove entry that will not make 0.0.11\n"
    },
    {
      "commit": "bb62fad1d04a60c34d256e42bc8351fab19725cd",
      "tree": "802275ab6f2ae5e99cb6753a152ad5a4cfc2ba28",
      "parents": [
        "b5a6a89d2be7ef891231891bbebd8624d130651a"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 17:04:29 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 17:04:43 2014 +0000"
      },
      "message": "disable seccomp in tlsdate-helper\n"
    },
    {
      "commit": "b5a6a89d2be7ef891231891bbebd8624d130651a",
      "tree": "5e36f5d54985139385035c8ace6cf7ecebfc329d",
      "parents": [
        "a97dcc05850c52d7495d429e28d3258aff692d4e"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 16:53:27 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 16:53:52 2014 +0000"
      },
      "message": "add git-buildpackage to INSTALL\n"
    },
    {
      "commit": "a97dcc05850c52d7495d429e28d3258aff692d4e",
      "tree": "7d4b420372216163968f434efb3c39eed73d2b98",
      "parents": [
        "9635c76a3937f74c0c48ddfe951cd9467fc57b4b"
      ],
      "author": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 16:37:10 2014 +0000"
      },
      "committer": {
        "name": "Jacob Appelbaum",
        "email": "jacob@appelbaum.net",
        "time": "Mon Oct 13 16:37:20 2014 +0000"
      },
      "message": "add sys_getuid\n"
    }
  ],
  "next": "9635c76a3937f74c0c48ddfe951cd9467fc57b4b"
}
