)]}'
{
  "log": [
    {
      "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"
    }
  ]
}
