)]}'
{
  "log": [
    {
      "commit": "cc0fe6e8c0bb2dfb250522872be6facb4d4a0339",
      "tree": "73b9e54a979e9d4b1e2ce50ccc129e58b0484b31",
      "parents": [
        "4cd3550d50cb14efe3d86ab9732ce75def5b85bd"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 30 08:54:12 2018 -0800"
      },
      "message": "The future is now (2018 edition).\n\nBug: N/A\nTest: builds\nChange-Id: Ic638e5b1f4e5901885fe7bc60b2a265817636b21\n"
    },
    {
      "commit": "5033918092f27179b0c2bbe3babceaed509d4935",
      "tree": "77f5a0f1eb5fec80dc7bc6a297eed66af83713b9",
      "parents": [
        "a27bfd4131441a24fcfe6b5b3cf1cf9469be6719"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Oct 13 17:52:01 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sun Oct 15 10:37:51 2017 -0700"
      },
      "message": "Complete \u003cnetdb.h\u003e.\n\nAdd all the missing \u003cnetdb.h\u003e functions.\n\nAlso fix getservbyport to handle a null protocol correctly.\n\nAlso fix getservbyname/getservbyport to not interfere with getservent.\n\nAlso fix endservent to reset getservent iteration.\n\nAlso reduce unnecessary differences from upstream NetBSD sethostent.c.\n\nThe servent implementation is still horrific, and we should\nprobably support protoent too so that debugging tools can use\ngetprotobyname/getprotobynumber.\n\nBug: N/A\nTest: ran tests\nChange-Id: I639108c46df0a768af297cf3bbce857cb1bef9d9\n"
    },
    {
      "commit": "ff26a16c1de7be696719e9001f0707b7c55b52cf",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "9af9120091ceb96641d7c6c645fabad96db4bc0d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Aug 17 22:34:21 2017 +0000"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 18 00:00:38 2017 +0000"
      },
      "message": "Re-submit \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert\nof 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is\nfixed.\n\nBug: http://b/64613623 # header bug\nBug: http://b/64802958 # versioner bug\nChange-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d\n"
    },
    {
      "commit": "9af9120091ceb96641d7c6c645fabad96db4bc0d",
      "tree": "0ac35e33169ae9b07c075a3c623148d2e974d14f",
      "parents": [
        "079bff4fa52b0c3c76057451cc9cdecf1827fce0"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 17 18:29:54 2017 +0000"
      },
      "message": "Revert \"Name function arguments in libc headers for Studio.\"\n\nThis reverts commit 079bff4fa52b0c3c76057451cc9cdecf1827fce0.\n\nBroke builds with SANITIZE_HOST\u003daddress with an asan failure in versioner.\n\nChange-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f\n"
    },
    {
      "commit": "079bff4fa52b0c3c76057451cc9cdecf1827fce0",
      "tree": "1f2667df4a1ed2dd79cb53a6231cb88d3d9ade13",
      "parents": [
        "67e7bf137e00a6c9ef79396e40be6b1705a2758c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Aug 16 16:30:54 2017 -0700"
      },
      "message": "Name function arguments in libc headers for Studio.\n\nSecond batch of headers...\n\nBug: http://b/64613623\nTest: builds\nChange-Id: I8eef043dbf32afee8ff814e9d005f46aee8fa21f\n"
    },
    {
      "commit": "ecb761153857de16b880cb477f41a094de503159",
      "tree": "39c70726b3da3a2d117e3c3fe360fc0bb6232947",
      "parents": [
        "fe4ab7dc30154f83a45769150392d6b47885c164"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 15:05:28 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Aug 16 15:05:57 2016 -0700"
      },
      "message": "Document that our getnameinfo(3) prototype is unfixably wrong.\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/functions/getnameinfo.html\n\nWe could fix it for LP32, but that\u0027s probably just more confusing and\ninconvenient.\n\nChange-Id: Ic37c60fe3665a309cc35c89961712b484dbdaa4c\n"
    },
    {
      "commit": "e43778880e622bd4a8ed6fa5a21a35f84d43db09",
      "tree": "40b98e92bfad370be69155107473c98c13bd1f32",
      "parents": [
        "166f875eabdd2b7c508fc4ed1789a0d37fb1bdce"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:38:35 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 12 10:38:35 2016 -0700"
      },
      "message": "POSIX says IPPORT_RESERVED is in \u003cnetdb.h\u003e.\n\nIn \u003cnetdb.h\u003e:\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netdb.h.html\n\nNot in \u003cnetinet/in.h\u003e:\n\nhttp://pubs.opengroup.org/onlinepubs/9699919799/basedefs/netinet_in.h.html\n\nChange-Id: Ie34cdb80eeb1443cf292944f3c68d8383aee2295\n"
    },
    {
      "commit": "7b737e43f82682bcfaa086af116ddcddb9c1de8d",
      "tree": "a30c4a77b57beacacce71afeba2b905f389cde1d",
      "parents": [
        "e656a3acaf1001cdb8bf3ae9be84ed070ebe93f2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 15:57:02 2016 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jul 25 15:57:02 2016 -0700"
      },
      "message": "Remove #pragma GCC visibility.\n\nWe have better control over visibility now.\n\nBug: http://b/24767418\nChange-Id: Ifa9a1e5af4bd4217db08422050908770247b3b69\n"
    },
    {
      "commit": "14adff1cfa06a3d4d3281a9bf7848b556d84c20d",
      "tree": "ce1fb2867f69e49f57d0bbe8a9099b09beda0c19",
      "parents": [
        "5a3d5cac642f9e58b2c510eab23789fb4fc3a753"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 12:00:55 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Apr 29 16:39:50 2016 -0700"
      },
      "message": "Add versioning information to symbols.\n\nBug: http://b/28178111\nChange-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c\n"
    },
    {
      "commit": "c194fd30c6fa3537d918939dd0a762786f21d764",
      "tree": "d10e17f4230f6fe467d876d26044ca5450df950c",
      "parents": [
        "e1be20f648abffd115bb699d3b14bd07c7c1430b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Mon Apr 25 17:04:10 2016 -0700"
      },
      "committer": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Wed Apr 27 16:50:54 2016 -0700"
      },
      "message": "Delete declarations which don\u0027t exist.\n\nBug: http://b/28178111\nChange-Id: I72d5d015d7927a8df24b3973bf8a052053a067fb\n"
    },
    {
      "commit": "2d8f9b5aea90b57cd01c0a07cfff032092b4672e",
      "tree": "5e0c6af872e20d46e99e1b47a6378360915b70bf",
      "parents": [
        "a4fc89badf4ef4d42df0927340c6f0d02167a3d6"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 13:58:28 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Feb 09 19:56:47 2015 -0800"
      },
      "message": "Define MAXHOSTNAMELEN explicitly in source files.\n\nBug: 19093777\nBug: 19092844\nChange-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817\n"
    },
    {
      "commit": "58d33a51f336d6823ef1ec915949a5884699ff5f",
      "tree": "6a57ae4b11a8338089aa56a7879a78be936a17ee",
      "parents": [
        "16ea2790a84b1e65dc1e485c3ec494de787cc490"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Dec 16 17:03:44 2014 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Wed Dec 17 16:19:27 2014 -0800"
      },
      "message": "Sync with upstream for gethnamaddr.c.\n\nBug: 18566967\nChange-Id: I37e7410226b49eec67614e20b2c1d5e3e47817a5\n"
    },
    {
      "commit": "8563802b04347951d8878747a830987e5ca145f5",
      "tree": "00275345ccc73dce97c2363848a3fcee485d983d",
      "parents": [
        "b67a3c271616d7b2506ead15e97c6a840b5eb5a8"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri May 16 12:04:10 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 13:35:41 2014 -0700"
      },
      "message": "Use default hidden visibility to build libc_dns.\n\nBug: 11156955\nChange-Id: Ia443705f5fbee0681039d4480abc89850968f475\n"
    },
    {
      "commit": "ea9bf6788144b83cc51c454b2bfe6b980d6e947c",
      "tree": "eb73d23bcba8dcc1f2d88b76bfd1afa1be2d639b",
      "parents": [
        "bc475bc8d1d202baa48f6c9829fe1cced9122332"
      ],
      "author": {
        "name": "Szymon Jakubczak",
        "email": "szym@google.com",
        "time": "Fri Feb 14 17:07:23 2014 -0500"
      },
      "committer": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Tue Apr 01 16:25:49 2014 -0400"
      },
      "message": "bionic: Replace iface with opaque netid in resolver.\n\nReplace iface cache key with netid.\n\nReplace _mark with netid.\n\nMark sockets used to test IPv4/IPv6 support as well as sockets\nused to determine source address for rfc6724 sort.\n\nRemove pid/uid mappings (functionality moved to system/netd).\n\nDo not create resolv_cache when it does not exist, but rather only\nwhen DNS configuration is supplied.\n\nClean up unused functions.\n\nChange-Id: I9ccfda2902cc0943e87c9bc346ad9a2578accdab\n"
    },
    {
      "commit": "c39214e0ac49b9f7de6fd9989331145c6e1cd584",
      "tree": "5ef63d5680da7dba44b39afc8b77b5d7da4cb503",
      "parents": [
        "33ae76abf32b8f78799e9ebb1de2343dfa10c91a"
      ],
      "author": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Thu Jun 20 10:36:56 2013 -0700"
      },
      "committer": {
        "name": "Chad Brubaker",
        "email": "cbrubaker@google.com",
        "time": "Tue Jul 09 13:16:22 2013 -0700"
      },
      "message": "Add marking of DNS sockets for mark based routing\n\nAdds an extra mark parameter to android_getaddrinfoforiface,\nandroid_gethostbyaddrforiface and android_gethostbynameforiface that if set\nwill cause all packets sent by DNS requests to have that mark\n\nChange-Id: I6f72390e4ce5bfc3cc73183f9b2fb3705a11685f\n"
    },
    {
      "commit": "c63e59039d28c352e3053bb81319e960c392dbd4",
      "tree": "f19b68ec83b6e17201473b1ff197d9525e75a664",
      "parents": [
        "8db7a4cb20a7e90feb981736c1618f91a27bfff8"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Aug 23 14:34:14 2011 +0200"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Feb 07 09:40:16 2013 -0800"
      },
      "message": "dns cache per interface iteration 2\n\nname server addresses are read from the dns\ncache associated wih the interface on which\nthe request shall be done.\n\nprocesses which has requested to issue dns request\nusing specific interface are now proxied to netd.\n\nadded methods to attach/detach a process to a specific\ndns cache/interface.\n\nadded getaddrinfoforinface method which takes an\ninterface as an argument.\n\nbug:4815099\nbug:5465296\nChange-Id: I7a8fe1980cdf99d4d296ddc5c6411f0c72162263\n"
    },
    {
      "commit": "b002a2ff77759b3852a0aa38aa95c07a066faecf",
      "tree": "c2ec87f3e659916be814b47fce515e8bd0c26887",
      "parents": [
        "f1464ff95670e6dcc0e12bf9fbbeb4c0346434c9"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Sat Jan 19 00:40:24 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 19 00:40:24 2013 +0000"
      },
      "message": "Revert \"dns cache per interface iteration 2\"\n\nThis reverts commit f1464ff95670e6dcc0e12bf9fbbeb4c0346434c9\n\nChange-Id: I3496b9a8cb54614fe3eea016d1391c8a89f3db38\n"
    },
    {
      "commit": "f1464ff95670e6dcc0e12bf9fbbeb4c0346434c9",
      "tree": "3cd51f61f204e0aab7848eb94d927b7be8779a19",
      "parents": [
        "0529a52c609f927a838720fb360f395ea08d0a8f"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Aug 23 14:34:14 2011 +0200"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Jan 11 15:47:27 2013 -0800"
      },
      "message": "dns cache per interface iteration 2\n\nname server addresses are read from the dns\ncache associated wih the interface on which\nthe request shall be done.\n\nprocesses which has requested to issue dns request\nusing specific interface are now proxied to netd.\n\nadded methods to attach/detach a process to a specific\ndns cache/interface.\n\nadded getaddrinfoforinface method which takes an\ninterface as an argument.\n\nChange-Id: I851ec8ab8ce3112626ad2a729078b91d013f32fd\nbug:4815099\nbug:5465296\n"
    },
    {
      "commit": "86ec05acc9df3098c4e99e5b3ad85dcef66712c7",
      "tree": "722c7b99116ebf1af2032b2daf9e3c428386a65d",
      "parents": [
        "666d06fee9e1d2e1401a4b42d94d01e8f38ad1a5"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Sep 11 19:03:02 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Sep 12 12:30:22 2012 -0700"
      },
      "message": "Update the kernel headers to match external/kernel-headers.\n\nNote that the Linux kernel handed over responsibility for most of the\nsocket constants to glibc some time ago. Someone had updated our\nexternal/kernel-headers file but not regenerated the bionic headers,\nso this change copies the missing stuff from the old bionic \u003clinux/socket.h\u003e\ninto \u003csys/socket.h\u003e. This is what glibc does.\n\nI\u0027ve hacked a few of the other files to #include \u003csys/socket.h\u003e for\nbackward compatibility, but even so this requires numerous other\nchanges to switch people over from direct inclusion of \u003clinux/...\u003e headers.\n\nChange-Id: I0e4af64e631d3cef911a31d90f2f806e058278a0\n"
    },
    {
      "commit": "f8d02d24edd23dfb5028881105828cbf15e59310",
      "tree": "cdee1fb5572d890d7886fc4c63986efdb5616679",
      "parents": [
        "b609bfd0487291eff01876d4a25f2c7c13d49d03"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed May 18 16:53:23 2011 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed May 18 16:53:23 2011 -0700"
      },
      "message": "libc: enable IPTOS_MINCOST, fixup gethostbyaddr() proto.\n\nMake netinet/ip.h have IPTOS_MINCOST which matches what\n  kernel/common/linux/ip.h has to say.\nFixup gethostbyaddr() 1st arg to match what man has to say.\n\nChange-Id: Iff9647d4a46ea88b1fc32163eb69bb9b27cdf370\n"
    },
    {
      "commit": "9a48b8e4196d23529e28f6965ad7a03d543922a2",
      "tree": "3c7ef26cdac01ce880d904ac24d96062a520d8aa",
      "parents": [
        "3224c08bd77043338ad6e9ecacbd4c118205e873"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Mon Mar 21 14:45:35 2011 -0700"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Mon Mar 21 14:45:35 2011 -0700"
      },
      "message": "Return back EAI_ADDRFAMILY definition needed for libnl-2.0\n\nChange-Id: I86e6ca8ad92da7a81ea4b659dd9fc9be2d6fd3c9\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "2e1a03c16fae7bfd5f5e6955985bc46baf93ba84",
      "tree": "1d1fb60a88933d2d75d3410d8b12b95521e4f94e",
      "parents": [
        "5c734644eebf8d01be1e86cbe20a111a5c5a2738"
      ],
      "author": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:33:53 2010 -0800"
      },
      "committer": {
        "name": "Nicolas Catania",
        "email": "niko@google.com",
        "time": "Fri Feb 12 11:37:25 2010 -0800"
      },
      "message": "Changed __get_h_errno linkage to \"C\".\n\nBug:2441631\n"
    },
    {
      "commit": "1dc9e472e19acfe6dc7f41e429236e7eef7ceda1",
      "tree": "3be0c520fae17689bbf5584e1136fb820caef26f",
      "parents": [
        "1767f908af327fa388b1c66883760ad851267013"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:28:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "1767f908af327fa388b1c66883760ad851267013",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "a799b53f10e5a6fd51fef4436cfb7ec99836a516"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:13 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "6d6c82c7a0a6b9a89f61b61c66f9b90d9c7177dc",
      "tree": "8de86895228b63728c3a134c8b1fcab003db467d",
      "parents": [
        "4e468ed2eb86a2406e14f1eca82072ee501d05fd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:50:54 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "4e468ed2eb86a2406e14f1eca82072ee501d05fd",
      "tree": "4e05b3c66eef86531e464521a3bf96a1864d4bf5",
      "parents": [
        "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:03:48 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349",
      "tree": "defd1cc07d16ad2f3b21154114e092d11c94c5bb",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
