)]}'
{
  "log": [
    {
      "commit": "1781ed7774671d5a750839650b9582ff0abbcf42",
      "tree": "30ca9985cfff7e62bc094f721111ae8759a7d395",
      "parents": [
        "ddc449748bc3ff0ba574be00f4bbac9fba242e33"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Jun 29 20:46:17 2014 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Sun Jun 29 20:46:17 2014 -0700"
      },
      "message": "add CLOEXEC to various DNS related code\n\nOccasionally file descriptors seem to be leaking across execs\nfrom DNS related calls. Set close-on-execute for the various\nsockets / file to prevent file descriptor leakage.\n\nChange-Id: I4724b47bc7236f40c29518a6075598a9bba48b0a\n"
    },
    {
      "commit": "5240b562e7e9de2f31ba70f71c394c5529aadf0f",
      "tree": "e888add2a6eeee5516f05648f9baa686791a18d3",
      "parents": [
        "308c30af72da7b13938934ba5037dd347b1ef139"
      ],
      "author": {
        "name": "Paul Jensen",
        "email": "pauljensen@google.com",
        "time": "Thu May 15 14:43:07 2014 -0400"
      },
      "committer": {
        "name": "Sreeram Ramachandran",
        "email": "sreeram@google.com",
        "time": "Mon May 19 12:49:52 2014 -0700"
      },
      "message": "Query libnetd_client for the appropriate netId for host resolution.\n\nIf libnetd_client can\u0027t be found, operate as before and use the default netId\npotentially overriden by a more specific netId passed in to\nandroid_get*fornet().\n\n(cherry picked from commit 559c7842cc6862568d9b5799fc0bcf74d58b596b)\n\nChange-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b\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": "569fb9887d00104509df79fa77d92e3cf9afe7db",
      "tree": "cd7018947017406a878b22a25481969217985664",
      "parents": [
        "4a46a68942d180e28c3e87f08359351245b220b7"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:01:29 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Mar 04 15:07:07 2014 +0000"
      },
      "message": "Moved nameser.h and namser_compat.h to public include dir\n\nThis is part of the upstream sync (Net/Open/Free BSDs expose the\nnameser.h in their public headers).\n\nChange-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf\n"
    },
    {
      "commit": "bd33537fde8e1c68fcadfd6adf77b295ada9b45f",
      "tree": "6fda5ad6be9294207ce9b7acad5a50a34230aa98",
      "parents": [
        "e33454051677cd8953af558b67e525dda2231501"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 16:31:04 2014 +0000"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Fri Feb 28 16:31:04 2014 +0000"
      },
      "message": "Renamed the misleading libc/netbsd directory to libc/dns.\n\nBug: 13219633\nChange-Id: Ide43add0b90b3081cc709a22d1ff1f59d65f1104\n"
    },
    {
      "commit": "e5911f31286179c1e4dc9bb2691e5098c6e3d20e",
      "tree": "72af73ecf9f35ceafef7f2bb9d8f60484b809210",
      "parents": [
        "9fd0cf81702d083b39a839b07ad75d2ff0ac277d",
        "937c374225c2f98862e1746c9509970d1b2257d6"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Sat Aug 24 08:21:41 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Sat Aug 24 08:21:41 2013 -0700"
      },
      "message": "resolved conflicts for merge of 937c3742 to klp-dev-plus-aosp\n\nChange-Id: I4c0ad42ea3802cd232c80e5589af8a8e25f88a60\n"
    },
    {
      "commit": "a31ddef36df7970db1145f7ae66060f8e3eebf3f",
      "tree": "bcdbe18c8f83df14995512955341223acdce4c23",
      "parents": [
        "41f08abf3d020ad8b48ff4151f8c623a119790e0"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Aug 22 16:56:48 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Aug 22 21:05:49 2013 -0700"
      },
      "message": "Change how DNS resolver handle no default iface\n\nWe used to just try any iface we\u0027d been told about as a\nfallback, but that will end up mistakenly using a secondary\nnetwork\u0027s dns when we really don\u0027t have a default connection.\n\nIt also messed up our detection of whether we were doing the\nlookup on the default or not (we\u0027d get back our secondary net\niface as the default, do the compare and think we were on default).\n\nRemove the lies and let dns fail if we don\u0027t have an iface for it.\n\nbug:10132565\nChange-Id: I5f0f2abacaaaaf23c5292b20fba9d8dcb6fb10c5\n"
    },
    {
      "commit": "662bb875e4c66874b72bff51206d881c9b6b195b",
      "tree": "15bd97c12596671c1032f4df6092276cdfb64dd8",
      "parents": [
        "49b24b4efbc95cbff6dc73007583a880f7c01e7e",
        "a9c5bb972df7cbb4e65cfb53673b26f9d42deacd"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 05 11:55:53 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 05 11:55:53 2013 -0700"
      },
      "message": "am a9c5bb97: Merge \"Fix the detection of alt-network in dns resolver.\"\n\n* commit \u0027a9c5bb972df7cbb4e65cfb53673b26f9d42deacd\u0027:\n  Fix the detection of alt-network in dns resolver.\n"
    },
    {
      "commit": "1d8d9a308c5afa6de8dfe78f3fb8ad88b373675d",
      "tree": "294eb08785d9d8cecf211217c56c06d6fe928055",
      "parents": [
        "3287dccf2ecced89bb39b857abc8eba997bc3f51"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Aug 02 15:24:45 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Aug 05 18:44:30 2013 +0000"
      },
      "message": "Fix the detection of alt-network in dns resolver.\n\nUsed to determine proper A/AAAA record request.\n\nbug:10132565\nChange-Id: I7229f6672e879920a6fae58672cddd72db78546c\n"
    },
    {
      "commit": "7e5d7485b7c6b9556a0e98236b43e21e33271a5c",
      "tree": "60af978c10b25e91236446a13e99cda6f609f680",
      "parents": [
        "abf3638317b4568c7e0c4d6d8c4b70a8e4af6449",
        "e6345f1a1ec691690c69d5663ca8bb2b70240d93"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 31 17:57:45 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 31 17:57:45 2013 -0700"
      },
      "message": "am e6345f1a: Merge \"Tell the dns resolver about our domains.\"\n\n* commit \u0027e6345f1a1ec691690c69d5663ca8bb2b70240d93\u0027:\n  Tell the dns resolver about our domains.\n"
    },
    {
      "commit": "e0805a94c5b25237fa64eab5806aa534cb644dfb",
      "tree": "1e0e8c9fcfecb4b1bd4ff8e8698b49334c4351cd",
      "parents": [
        "101b5e1f6cc4e24635760928b3d2c1e51c1e5774"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 31 16:53:46 2013 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 31 16:53:46 2013 -0700"
      },
      "message": "Tell the dns resolver about our domains.\n\nA refactor caused us to not tell the resolver about search domains\nuntil after it had done the domain fanout.\n\nbug:6799630\nChange-Id: Ibabd8fa5bcc69b1490fc5e329e62eb0f2d1a5e63\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": "8dd195c509eed45d1e4b5ab91ddc2ef56fcb0737",
      "tree": "062b1f5f744dfb1b8138c4b867525225aafcb1a7",
      "parents": [
        "e2bce30360a46fa3a235d1e9874d35891673826f",
        "7a29f404e11d3346e79154b8e8d72a3215febced"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 01 18:20:10 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 01 18:20:10 2013 -0700"
      },
      "message": "am 7a29f404: Merge \"Update getaddrinfo to RFC6724\"\n\n* commit \u00277a29f404e11d3346e79154b8e8d72a3215febced\u0027:\n  Update getaddrinfo to RFC6724\n"
    },
    {
      "commit": "378b0e1ea298ab4b8653e4b95e24d0cc0029414c",
      "tree": "1523ad44a756260f582fd9e6d1e83f39457e525b",
      "parents": [
        "6bb17dfad36edda68da46c2bf68c4297a160ab8a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Mar 30 12:24:19 2013 +0900"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Apr 01 18:04:25 2013 -0700"
      },
      "message": "Update getaddrinfo to RFC6724\n\nCurrently, our getaddrinfo implementation does not conform to\nany IETF standard. It follows draft-ietf-6man-rfc3484-revise-01,\nbut that draft has expired. Update the policy table to RFC6724.\n\n(cherry-pick of e919b116d35aa7deb24ddece69c491e24c3b0d6f.)\n\nBug: 8276725\nChange-Id: I2d17122defd966ac6c2c13d04887fb110f2598a0\n"
    },
    {
      "commit": "bfe0640e41204ccc090c364e02675de10d87c923",
      "tree": "daa3d3eff916fb7fc14aa924a70312c85a90468f",
      "parents": [
        "7dfc6a3cd178281c1005a94e84ce5359b23e612f"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 21 21:22:54 2013 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Feb 21 21:34:11 2013 -0800"
      },
      "message": "Don\u0027t pass pid to dnsproxyd\n\ndnsproxyd can already determine our pid by looking at our\nsocket connection. It\u0027s dangerous (and unneeded) to pass it\nourselves.\n\nChange-Id: I2596d02e361b302259ddb084be2fb75be59889c5\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": "c59ba4595be25a1213955233fcf9bcd1afe6438e",
      "tree": "eacafbaa2b301b0e28ab145cb4f28e10ae2fd212",
      "parents": [
        "ca9a0712b89eee017c2a40056c101d86c1f7d02f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 09 11:34:27 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 09 11:50:46 2012 -0800"
      },
      "message": "Use new binary code format\n\n3-digits + null.  Old was 3-digits + space + null.\n\nChange-Id: If5fdf9ced073f432ace3a76858025ad651c74e3d\n"
    },
    {
      "commit": "06e1831f194389b6f56ac016ebb52ed5cd430bb2",
      "tree": "1bae36f75baac7fd29c053323e6f17af609ec573",
      "parents": [
        "83c366cf093b068da38e24e4ae4525c015ddde20"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Feb 27 15:58:54 2012 -0800"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Wed Mar 07 15:09:05 2012 -0800"
      },
      "message": "Prevent potential stall on dns proxy operations.\n\nUpdate wire protocol to return and process error code first.\nThis will make sure dns proxy operations do not stall when\nan internal error happens.\nAlso fix a compiler warning.\nAlso fix a potential buffer overflow.\nAnd use correct types (uint32_t) rather than int when reading from network.\n\nChange-Id: I9f99c16d6fd5e9137491a4d1b293a7c78e31b9c3\n"
    },
    {
      "commit": "1fb6662d1aa51eec54cfc133c40cacc0b15aad30",
      "tree": "2912705bce262b9de1e9bd9c2631e47ea6c3619a",
      "parents": [
        "1625c7a837d73b6729f97edb32c497d289c0220c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 24 11:04:42 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 24 11:04:42 2012 -0800"
      },
      "message": "Revert \"Use the new NativeDaemonConnector style.\"\n\nThe other changes relating to this were already reverted.\n\nThis reverts commit 1625c7a837d73b6729f97edb32c497d289c0220c"
    },
    {
      "commit": "1625c7a837d73b6729f97edb32c497d289c0220c",
      "tree": "cf18c3d2a948a069a2405bab819b491bdaeaa29f",
      "parents": [
        "9db064a0d3985bc1e4bb9f88ec81c7c2715c410c"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 11:53:55 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 11:53:55 2012 -0800"
      },
      "message": "Use the new NativeDaemonConnector style.\n\nPrepend a 0 to match the new sequence-number style, though this module\ndoesn\u0027t really need/use it.\n\nbug:5864209\nChange-Id: Iacbcddaced6fe8bb01d186596a916e4fb4805fef\n"
    },
    {
      "commit": "ca6fe7bebe3cc6ed7e2db5a3ede2de0fcddf411d",
      "tree": "c8644c6e427f477c9f7ed31a8dd0ade1b81a94a7",
      "parents": [
        "7e2daefe6cec40e143f519c46aec877ee053b407"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Nov 21 15:14:19 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Nov 22 15:24:44 2011 -0800"
      },
      "message": "Request both v4 and v6 dns when on secondary net\n\nWe can\u0027t easily tell the protocol family of the secondary network,\nso try both and trust that the carrier has configured dns servers\naccording to the protocols supported on its network.\n\nbug:5468224\nChange-Id: If4f017573d313a6ad8354574076de6d63d43b444\n"
    },
    {
      "commit": "f432de2de7288c0589d1e50c2aa949a76c571794",
      "tree": "85acbd556d21ef44361b56b4b117b734412c8e21",
      "parents": [
        "b82532d11a301370c14f77f2e56dee11f8bfa971"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 19:47:38 2011 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 22:38:08 2011 -0700"
      },
      "message": "Send both A and AAAA queries if all probes fail.\n\nAI_ADDRCONFIG is currently implemented by trying to connect\nto well-known addresses in order to see if IPv4 and/or IPv6\nconnectivity is available.\n\nIn some cases (e.g., walled gardens with no global\nconnectivity) both probes can fail. If this happens,\nquery for both IPv4 and IPv6 addresses instead of doing\nnothing and failing the query.\n\nBug: 5284168\nChange-Id: I4e3a69ea86fb6d839a6bd31236b98da81e5cbf45\n"
    },
    {
      "commit": "b82532d11a301370c14f77f2e56dee11f8bfa971",
      "tree": "b4d9dbda5963d9d7f8d24811e2cbfb3812730bbd",
      "parents": [
        "00964912745f0bb7e081f84ddcc74940f973149f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 19:28:32 2011 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 28 22:37:41 2011 -0700"
      },
      "message": "Revert \"Use framework hints to determine dns query type.\"\n\nChange Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is\nan alternate approach that does not require any framework\nchanges.\n\nBug: 5284168\nChange-Id: Ib52614be3875a2ae2eaedd1be265f90e506eda41\n"
    },
    {
      "commit": "8af58f0fd4ff3fb11cb8a3c61e4654e3633906a4",
      "tree": "b4aa27455c5b7ed1fd07483ddad38a0dfe3288c4",
      "parents": [
        "3884bfe9661955543ce203c60f9225bbdf33f6bb"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Sep 13 17:33:52 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Sep 22 11:43:06 2011 -0700"
      },
      "message": "Use framework hints to determine dns query type.\n\nInstead of checking for IPv4 or IPv6 connectivity, try using pid-specific\nhints the framework has left for us.\n\nbug:5284168\nChange-Id: Id64d48db3900865a7d58ada8309870c63d6eab12\n"
    },
    {
      "commit": "2cc2b2be692f1d559a09d2066e56e450249cc9c0",
      "tree": "3391bb270f64051bf1e8c592bbf1dad8c06a5e66",
      "parents": [
        "f8e658cf6b9601e63d4b363ccee83ee4af1a78e4"
      ],
      "author": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Mar 21 20:01:03 2011 -0700"
      },
      "committer": {
        "name": "Carl Shapiro",
        "email": "cshapiro@google.com",
        "time": "Mon Mar 21 20:01:03 2011 -0700"
      },
      "message": "Add some missing includes.\n\nChange-Id: Ieec623c06bc32ec78334f628af25b00c2bccd2e7\n"
    },
    {
      "commit": "0ee092fb23318bc479de8e6514fbf2e05e0ce646",
      "tree": "1ae7d030c7c34f6e317b6f7cbdee3bcac3768252",
      "parents": [
        "3224c08bd77043338ad6e9ecacbd4c118205e873"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Feb 15 08:44:20 2011 +0100"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Mar 01 12:52:10 2011 -0800"
      },
      "message": "Convert cname lenght before use\n\nThe length of the cname is sent in big-endian\norder. Thus, it has to be converted before used\nin android_getaddrinfo_proxy\n\nChange-Id: I1a0cc12780c47f7493fcf06f690515829f88c01e\n"
    },
    {
      "commit": "f03e2d3f3104a85d64f66a18ab13d5ba5fb4131c",
      "tree": "6dbf435420f3d5474a1456147c335b10cab203d4",
      "parents": [
        "ccd547800a9c734d3a1c6054860e7c18538c8d02",
        "5d45fa4049d9ba03c0d922ece18d1d2dda119dc7"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 21 15:50:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 21 15:50:23 2011 -0800"
      },
      "message": "am 5d45fa40: am 2081fda6: Merge \"Only look up A records if the system has IPv4.\" into gingerbread\n\n* commit \u00275d45fa4049d9ba03c0d922ece18d1d2dda119dc7\u0027:\n  Only look up A records if the system has IPv4.\n"
    },
    {
      "commit": "2081fda69a68505c914324797400b1b798516904",
      "tree": "1b17b667bcb4278a14a0477b9ba6d93327d60776",
      "parents": [
        "2e23e29245aa42d0f9419187c94e72dba3888eef",
        "ba96e30fa08212e48ec1ff9c1d545b2d05e787b0"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 18 17:32:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 18 17:32:02 2011 -0800"
      },
      "message": "Merge \"Only look up A records if the system has IPv4.\" into gingerbread"
    },
    {
      "commit": "76b6f084ab555ea5610156153371659320f7b56d",
      "tree": "eeccbfcd3f42c4f183883aece31d0c4dfc494728",
      "parents": [
        "8217a9414fb81932074929afd5afd626e45d07bf",
        "2be18508f349b74b60b09e1b1118d879afb5928c"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Jan 17 12:19:01 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 17 12:19:01 2011 -0800"
      },
      "message": "am 2be18508: am 2e23e292: Backport (simple cherry-pick) d33019030c1f0cddca557f9659e3c471bde0e6a9 to gingerbread.\n\n* commit \u00272be18508f349b74b60b09e1b1118d879afb5928c\u0027:\n  Backport (simple cherry-pick) d33019030c1f0cddca557f9659e3c471bde0e6a9 to gingerbread.\n"
    },
    {
      "commit": "ba96e30fa08212e48ec1ff9c1d545b2d05e787b0",
      "tree": "51f64cc87bf9e2950bd7fc287f0bdf0dc8d4c92b",
      "parents": [
        "7bbd4580afe0347892a0680b5917ec7df38c003a"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Jan 14 12:26:05 2011 -0800"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jan 15 19:02:58 2011 -0800"
      },
      "message": "Only look up A records if the system has IPv4.\n\ngetaddrinfo only asks DNS for IPv6 addresses if the system\nhas IPv6 connectivity, but always asks for IPv4 addresses.\nDon\u0027t ask for IPv4 addresses if there is no IPv4\nconnectivity.\n\nChange-Id: Iefe9fcb006fabe60b4b11dd4653a7c4a406506f4\n"
    },
    {
      "commit": "2e23e29245aa42d0f9419187c94e72dba3888eef",
      "tree": "1ccf9d9a8b5ed49dea39f6199f86290f18d19661",
      "parents": [
        "f4dca7be3b7bc181f1534be187428c5a52cb8c6a"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Dec 20 11:48:07 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Fri Jan 14 21:41:18 2011 +0100"
      },
      "message": "Backport (simple cherry-pick) d33019030c1f0cddca557f9659e3c471bde0e6a9\nto gingerbread.\n\nImplement RFC3484 policy table changes from draft-ietf-6man-rfc3484-revise-01.\n\nThe changes in a nutshell:\n\n - Handle v4-mapped as different from v4-compat (this was probably\n   an existing bug in our code).\n - Add policy entries for ULA, above most everything else.\n - Put v4-compat, old-style IPv6 site-local and 6bone addresses\n   way down in the preference table.\n\nThe rest is just shuffling numbers around (no actual changes to\npriority).\n"
    },
    {
      "commit": "a798b9f0e171643b0bc7bbf79f14cb018689f715",
      "tree": "3219517b0d3442a0725d2876f66f995ae562dd57",
      "parents": [
        "7bbd4580afe0347892a0680b5917ec7df38c003a"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Dec 20 11:15:33 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Fri Jan 14 21:40:34 2011 +0100"
      },
      "message": "Backport (simple cherry-pick) d1624add2b73ce8ff7826ce27b1d6d6e35bb83a6\nto gingerbread.\n\nDon\u0027t treat private IPv4 addresses as being in a non-global scope. The effect of this change is essentially to prefer NATed IPv4 over 6to4.\n"
    },
    {
      "commit": "d1624add2b73ce8ff7826ce27b1d6d6e35bb83a6",
      "tree": "cf01e16e86b8fc834fb9475e1d91ad48034adad2",
      "parents": [
        "d4a65d28d4dd7dab4ad66d2d65903296d183d47c"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Dec 20 11:15:33 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Dec 20 11:15:33 2010 +0100"
      },
      "message": "Don\u0027t treat private IPv4 addresses as being in a non-global scope. The effect of this change is essentially to prefer NATed IPv4 over 6to4.\n\nChange-Id: I53a8613ca9eb61cac0bf18f0b5f98a2d35ab9c50\n"
    },
    {
      "commit": "7858564582ca134bd0101ffc725c0d0b1d29d645",
      "tree": "000810d4ee7dbfa0802a10b06da8b589ddc62254",
      "parents": [
        "78778cdd8c00ff0eff9de1b73891162bf3670e2d"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Oct 28 13:22:20 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Oct 28 13:22:20 2010 -0700"
      },
      "message": "Don\u0027t proxy getaddrinfo when net.dns1.[MYPID] is set.\n\nPart of on-going DNS proxy/cache work.\n\nBug: 1146676\nChange-Id: I5e6028169c81c2223efc34c3b57e348c44f26d26\n"
    },
    {
      "commit": "a1dbf0b453801620565e5911f354f82706b0200d",
      "tree": "65fb01503929af33972ac6145a12e5fcbd878776",
      "parents": [
        "369197cb75f4e937858a32f4268a2b66bb44686c"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Oct 27 10:36:36 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Oct 28 11:31:22 2010 -0700"
      },
      "message": "DNS proxy: the start.  proxies getaddrinfo calls.\n\nWill also need to do gethostinfo, but that\u0027s probably about it.\n\nIt was cleaner to do it at this level, rather than speaking in terms\nof DNS packets.\n\nChange-Id: I047cc459979ffb0170a3eb0d432a7e827fb71c26\n"
    },
    {
      "commit": "50ace4fec5e8cb5afcbc656a4556fa528adfd760",
      "tree": "04647e039a457f69ba48a8301bebdd605fda7fca",
      "parents": [
        "6a9b888d7c4b246f6f66360789c72b754ff85021"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jun 16 16:36:41 2010 -0700"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jun 22 17:51:41 2010 -0700"
      },
      "message": "Remove compiler warnings when building Bionic.\n\nAlso add missing declarations to misc. functions.\nFix clearerr() implementation (previous was broken).\nHandle feature test macros like _POSIX_C_SOURCE properly.\n\nChange-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4\n"
    },
    {
      "commit": "7e0bfb511e85834d7c6cb9631206b62f82701d60",
      "tree": "9579d38c3ba80e5cdd2f39b2168ac678f8615182",
      "parents": [
        "4e383b81d03db3592a43766dd6f996e7f84d8dc7"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:06:20 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 24 18:07:26 2010 -0700"
      },
      "message": "Fix comparison of IPv6 prefixes\n\nTypo assigned prefixlen1 twice instead of to the two different variables\nfor comparison and difference computation.\n\nChange-Id: I6631b8269ca6aae264c8d7d414127b756838df96\n"
    },
    {
      "commit": "9ab75d4cc803e91b7f1b656ffbe2ad32c52a86f9",
      "tree": "7f0451638ba549b39cb81ae45e570e7a0534de9e",
      "parents": [
        "b55462328f7f7468bb8c0cb44ad1069af30415a3"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Thu Feb 11 15:44:55 2010 +0100"
      },
      "committer": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Wed Feb 24 11:49:17 2010 +0100"
      },
      "message": "Implement support for RFC 3484 (address selection/sorting) in bionic.  (The\nJava changes required not to mess up the ordering from bionic will arrive in a\nlater commit.) In particular, this will give us more correct behavior when on a\n6to4 network, in that IPv4 will usually be preferred over 6to4.\n\nMost of RFC 3484 is implemented -- what\u0027s not is rule 3 (avoid deprecated\naddresses), 4 (prefer home addresses) and 7 (prefer native transport) as they\nrequire low-level access to the kernel routing table via netlink. (glibc also\nstarted out this way, and these rules are primarily useful in pretty obscure\ncircumstances, so we should be fine for the time being.)\n\nAlso, rule 9 (use longest matching prefix) has been modified so it does not try\nto sort IPv4 addresses; given current IPv4 addressing practice these rules are\npretty much meaningless. Finally, I\u0027ve added support for Teredo as a separate\nlabel, with slightly lower preference than 6to4. (Vista puts the preference\nbelow IPv4 by default. glibc puts the preference together with non-tunneled\nIPv6.)\n\nNote that this patch removes support for the \"sortlist\" directive in\nresolv.conf; I\u0027ve never seen it in actual use, it\u0027s irrelevant for Android\n(since we don\u0027t use resolv.conf anyway), and it\u0027s not clear how it would be\nimplemented alongside RFC 3484.\n"
    },
    {
      "commit": "3d8f4ada56cc4965c8d2cbaa16d1bc0f75492c07",
      "tree": "3b2398f9b0687e271280a165cc3040b2c364dd85",
      "parents": [
        "8b09aa39c3ab7bf17384082728001550c072e8c7"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 03 22:36:31 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 04 13:17:03 2009 -0700"
      },
      "message": "Don\u0027t request IPv6 addresses if AI_ADDRCONFIG is specified and the system has no IPv6 connectivity.\n"
    },
    {
      "commit": "5e563700380eade647f347669ea61dbb0ede9814",
      "tree": "739599d59b328c4f0880196f0d57f0d7c7f3a0f0",
      "parents": [
        "85a01ffba337b123436f57eba4daae38c7c90d1e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 05 15:50:24 2009 +0200"
      },
      "message": "change getaddrinfo() implementation to match GLibc.\n\nthe issue is that the BSD implementation doesn\u0027t accept a call like:\n\n  getaddrinfo(SERVER_NAME, \"9999\", NULL, \u0026res);\n\nbecause if will reject a numerical string in the second parameter if no hints are explicitely\nprovided. This technically doesn\u0027t violate POSIX but might make porting Linux software a bit\ndifficult. For more details see:\n\nhttp://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87\n\nalso comment debugging printf() calls which shouldn\u0027t be there.\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": "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"
    }
  ]
}
