)]}'
{
  "log": [
    {
      "commit": "ce5ba8bfcd8ecfb7bfee4412f4f686cecc17e39b",
      "tree": "9da96e03431bab909344c3df148ef71ccbe2dd62",
      "parents": [
        "072a7e6ced29d9be29e38721d0ab7de0ba3f7377"
      ],
      "author": {
        "name": "Henrik Engström",
        "email": "henrik.engstrom@sonymobile.com",
        "time": "Wed Jun 20 08:47:52 2012 +0200"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonymobile.com",
        "time": "Fri Aug 17 09:18:47 2012 +0200"
      },
      "message": "Added missing cache failed notification\n\nAdded a missing call to _resolv_cache_query_failed for another fail\ncase where it was missing (it doesn\u0027t go through the error handling\nunder the \"fail\" label). This missing notification caused requests to\nhave to wait for timeout instead of beeing notified on some failed\nrequests.\n\nChange-Id: I904d60269c59b926784e3a397d2a860329f55142\n"
    },
    {
      "commit": "8f88aa7d3823ac079fc783651a64dbe986a8205e",
      "tree": "b035e97c14afeaa3f4264c7d4a5caa9ec14a7156",
      "parents": [
        "c2f1d215b1786520fa8c371caa97f062e0bfb513",
        "c5cab3452d5ced55474e56497594579108670b51"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jun 12 15:56:29 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 15:56:29 2012 -0700"
      },
      "message": "am c5cab345: am 028ccf5d: Merge \"Avoid multiple dns lookups for the same query\"\n\n* commit \u0027c5cab3452d5ced55474e56497594579108670b51\u0027:\n  Avoid multiple dns lookups for the same query\n"
    },
    {
      "commit": "c5cab3452d5ced55474e56497594579108670b51",
      "tree": "aa86ebb93eb3a84c1101a2d28edb58c4addc2e1d",
      "parents": [
        "20afd4e70c2f346d7cd03a7a3049f8de2d176d5c",
        "028ccf5d40dd9a945ea92aa79822c08c6f6aa1d2"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jun 12 15:52:56 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 15:52:56 2012 -0700"
      },
      "message": "am 028ccf5d: Merge \"Avoid multiple dns lookups for the same query\"\n\n* commit \u0027028ccf5d40dd9a945ea92aa79822c08c6f6aa1d2\u0027:\n  Avoid multiple dns lookups for the same query\n"
    },
    {
      "commit": "028ccf5d40dd9a945ea92aa79822c08c6f6aa1d2",
      "tree": "d7d3270fa4d39d6cb336145791aec0e7d9a4530c",
      "parents": [
        "e0961445124b5ff39412da32578e14e0d1f6afd6",
        "a59cfcfd0821f51ee77f13105099f700ccbf9252"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jun 12 15:06:23 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 12 15:06:24 2012 -0700"
      },
      "message": "Merge \"Avoid multiple dns lookups for the same query\""
    },
    {
      "commit": "20afd4e70c2f346d7cd03a7a3049f8de2d176d5c",
      "tree": "8aeff6389049ff13c1612e1ff1397d6232735926",
      "parents": [
        "571da80c58e13eac4d4fb29d38342879e5dede13",
        "e0961445124b5ff39412da32578e14e0d1f6afd6"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 17:41:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 11 17:41:10 2012 -0700"
      },
      "message": "am e0961445: Merge \"Remove the meaningless on Linux if_dl.h header.\"\n\n* commit \u0027e0961445124b5ff39412da32578e14e0d1f6afd6\u0027:\n  Remove the meaningless on Linux if_dl.h header.\n"
    },
    {
      "commit": "c3d45b822cd7d7c359aceba9447a1619b5a2150b",
      "tree": "1afa490f38c1cf8437193de5511757275d683fc0",
      "parents": [
        "2b89f1e37df838e466d382fc602728930bad4c68"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 15:01:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 15:13:37 2012 -0700"
      },
      "message": "Remove the meaningless on Linux if_dl.h header.\n\nThis was misleading \u0027configure\u0027 into thinking we actually support AF_LINK,\nbut we\u0027re Linux, so we don\u0027t, and we never implemented the functions we\ndeclared here either.\n\nReported to AOSP by Jun-ya Kato.\n\n(cherry-pick of 5056f1fad1187cd67729bb04ba72397d78256f03.)\n\nChange-Id: Ic67f674d2221497c8166994812bb5fc7f0831066\n"
    },
    {
      "commit": "7c5c68f5c7b87dfb309f006673fb809c7333dcf7",
      "tree": "f5b70a9d9b78ce5a4419cc77d3fdd27217f54f28",
      "parents": [
        "631498de43cb958f32c864cb9cdb2e99dadc19e1",
        "5056f1fad1187cd67729bb04ba72397d78256f03"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 15:09:57 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 11 15:09:57 2012 -0700"
      },
      "message": "Merge \"Remove the meaningless on Linux if_dl.h header.\""
    },
    {
      "commit": "5056f1fad1187cd67729bb04ba72397d78256f03",
      "tree": "eb7460d075a62b4257e475ec938b6f93bbd9e92a",
      "parents": [
        "f41855949d5f19e0fc1f8873278ae21c52dd5676"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 15:01:10 2012 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jun 11 15:01:10 2012 -0700"
      },
      "message": "Remove the meaningless on Linux if_dl.h header.\n\nThis was misleading \u0027configure\u0027 into thinking we actually support AF_LINK,\nbut we\u0027re Linux, so we don\u0027t, and we never implemented the functions we\ndeclared here either.\n\nReported to AOSP by Jun-ya Kato.\n\nChange-Id: I111f9887f3812469b411b9cf5124d9dd624f19f7\n"
    },
    {
      "commit": "524c87c61c1d39dd60aaa8ae01ec3528ce212288",
      "tree": "f9721ed559801e4e404e94a14f59ea758f77e85c",
      "parents": [
        "76656afc6dd069fcfda5768e6e54bb85e4e99942"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Fri Jun 08 21:06:33 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon Jun 11 11:44:48 2012 -0700"
      },
      "message": "Added event logging for some spoofed DNS queries.\n\nChange-Id: I40909306e8cf922f1dd5a5685db89f732a709794\n"
    },
    {
      "commit": "5a095ef28716b54f86d9c1727b9a2493ba775255",
      "tree": "da09ea4a54c141cba195426f0d723d51edb27b80",
      "parents": [
        "cb9ba3c88a97f34784559a55317ff5970d4c4dba",
        "03539a36b634bdfa61c06277cf25e0ca8e3105ba"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Wed May 30 11:09:05 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 30 11:09:05 2012 -0700"
      },
      "message": "am 03539a36: Merge \"Ensure that the port number and TXID are properly randomized.\" into jb-dev\n\n* commit \u002703539a36b634bdfa61c06277cf25e0ca8e3105ba\u0027:\n  Ensure that the port number and TXID are properly randomized.\n"
    },
    {
      "commit": "b23f193dcc0fa74b5be1978f85cc1c6811493c86",
      "tree": "966ca3c99c6fe3f01205d7c9c320cd24ec94d0fe",
      "parents": [
        "08e72d0161e39e99ff1003bf1ce894f37d7b7eb4"
      ],
      "author": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Mon May 21 14:20:59 2012 -0700"
      },
      "committer": {
        "name": "Geremy Condra",
        "email": "gcondra@google.com",
        "time": "Thu May 24 15:26:12 2012 -0700"
      },
      "message": "Ensure that the port number and TXID are properly randomized.\n\nThis fix reads from /dev/urandom to get the required entropy.\n\nBug: 6535492\nChange-Id: Ibc2fec3f71a67607b608ad9b767b0b6504993c1d\n"
    },
    {
      "commit": "a59cfcfd0821f51ee77f13105099f700ccbf9252",
      "tree": "d7ffc93dc89f31b9a50d6eba201fbfaac9befb9d",
      "parents": [
        "e3bc7192ec4254bed00eb8b352735665c6072995"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Sep 06 15:15:06 2011 +0200"
      },
      "committer": {
        "name": "Bjorn Andersson",
        "email": "bjorn.andersson@sonymobile.com",
        "time": "Mon May 07 18:04:25 2012 -0700"
      },
      "message": "Avoid multiple dns lookups for the same query\n\nIf two or more rapid dns requests for the same server are done\nfrom different threads it turns into separate dns reques, if\nthe response of the request isn\u0027t found in the cache.\n\nThis patch avoid multiple request for the same server by\nletting subsequents request wait until the first request\nhas finished.\n\nChange-Id: Ic72ea0e7d3964a4164eddf866feb4357ec4dfe54\n"
    },
    {
      "commit": "53daf4757d36522c132006e2f74ed81bb4ed717a",
      "tree": "e1d4b0d32ab813001db4c0851b7d068b0679030c",
      "parents": [
        "e636e1f2c17d7097b6638cb4ae2b4857765b502d",
        "73a6566da337db50cfc73c369d774ac1905a30c2"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 13:59:59 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 07 13:59:59 2012 -0700"
      },
      "message": "am 73a6566d: Merge \"Remove expired dns cache entries before removing oldest\"\n\n* commit \u002773a6566da337db50cfc73c369d774ac1905a30c2\u0027:\n  Remove expired dns cache entries before removing oldest\n"
    },
    {
      "commit": "73a6566da337db50cfc73c369d774ac1905a30c2",
      "tree": "a6765151894bf750499092d5f535e95d87591c29",
      "parents": [
        "8657eafc3552f36c176667c1591beab255308da6",
        "dd16182b4b3f107d5c26015622c1cb8c06619ad7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon May 07 10:41:52 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon May 07 10:41:53 2012 -0700"
      },
      "message": "Merge \"Remove expired dns cache entries before removing oldest\""
    },
    {
      "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": "52764f5546362d0ffab99afaffe8e8c7f21f8ef2",
      "tree": "6a3533eb82bac3bea5137b1e4276396c3f271764",
      "parents": [
        "b70659d8ea4a0f67694125a340186da96afa4210"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 25 15:16:03 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 25 15:36:58 2012 -0800"
      },
      "message": "Increase the size of the system-wide dns cache\n\n32 enteries perhaps was ok for per-process caching with ipv4 only\nbut adding ipv6 records makes it effectively 16 entries and making\nit system wide makes is pretty useless.  Increasing to 640 entries.\n\nbug:5841178\nChange-Id: I879f8bf4d3c4d8c1708bb46d46a67c1f64b1861f\n"
    },
    {
      "commit": "79fcc6948d139878b9ae0423c2fe804636433ad8",
      "tree": "e9750f58b22df996e11220a5bc7be5ccb3db0445",
      "parents": [
        "df49ebabfe58af3e5d5dd0016d17d109151d3da8",
        "208898ee776117f42815c2fcb15903b2781bf0aa"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Jan 19 04:15:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 04:15:38 2012 -0800"
      },
      "message": "Merge \"libc: remove private declarations from \u003ctime.h\u003e and \u003cresolv.h\u003e\""
    },
    {
      "commit": "5f926c26795c3a72987652870a2ae6f3fb1ac49c",
      "tree": "ae53c2fa6e04b92bd40dd520d2d4ce62e47483f5",
      "parents": [
        "d6045cba4e572cf9ed0b87efddce93f3c4a80a8f",
        "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 18:18:29 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 18:18:29 2012 -0800"
      },
      "message": "am b00d7a33: am eae1f1fb: Merge \"res_send: Avoid spurious close()s and (rare) failure\"\n\n* commit \u0027b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702\u0027:\n  res_send: Avoid spurious close()s and (rare) failure\n"
    },
    {
      "commit": "b00d7a331c9f2a578a4cfc4dfe0d626aa58fa702",
      "tree": "49fda4fb66b0e3f5fb08029aca582aaebc3c5cbf",
      "parents": [
        "06f51ba1af2fafeec7fdfcba5d635bd001a31b3e",
        "eae1f1fba33cb105302227b044a14e5abcbe55e7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 17 18:16:10 2012 -0800"
      },
      "message": "am eae1f1fb: Merge \"res_send: Avoid spurious close()s and (rare) failure\"\n\n* commit \u0027eae1f1fba33cb105302227b044a14e5abcbe55e7\u0027:\n  res_send: Avoid spurious close()s and (rare) failure\n"
    },
    {
      "commit": "87043f9c89593125a27199d0c1b4069d088672d7",
      "tree": "161f017fed7022c8a8f898fd880ab3306577a9e2",
      "parents": [
        "e30e909363c5c706f394050d9cd00ce222caadbf"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Dec 12 16:32:56 2011 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Sat Jan 14 11:30:00 2012 +0800"
      },
      "message": "res_send: Avoid spurious close()s and (rare) failure\n\nWhen looping over the current list of sockets we are connected to,\nuse getpeername() not getsockname() to find out who the remote\nend is.  This change avoids spurious close() and (rare) failure.\n\nOrigin: ISC bug #18625 and fixed in libbind 6.0\n\nChange-Id: I5e85f9ff4b98c237978e4bf4bd85ba0a90d768e6\n"
    },
    {
      "commit": "208898ee776117f42815c2fcb15903b2781bf0aa",
      "tree": "ad3cf092397fa7e398e37c65312e4675016a1da3",
      "parents": [
        "11f3d5a4319e6e37e5280cf187b3d173e1ac0adb"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Jan 13 14:24:08 2012 +0100"
      },
      "message": "libc: remove private declarations from \u003ctime.h\u003e and \u003cresolv.h\u003e\n\nThis patch is used to remove private C library declarations from the\npublic headers (that are exported to the NDK). It should *only* be\nsubmitted after all other patches modifying the users of said\nprivate functions have been submitted to the tree, to avoid\nbreakages.\n\nChange-Id: I0a5e3014f8e3ac9ed8df86a5cdae506337c23252\n"
    },
    {
      "commit": "e4ade69654d9026310ce7a895f14aa67947b4f31",
      "tree": "74a187c0cc105ac86e380f5563fb86d17057c589",
      "parents": [
        "5977ee02f634964b9c6ac936c9705a182f8b506d",
        "82c4be54da0825ebe74b524932c9db733419057a"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 15:05:57 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 12 15:05:57 2012 -0800"
      },
      "message": "am 82c4be54: am ecd0e95a: Adding a timeout to tcp dns lookup connects.\n\n* commit \u002782c4be54da0825ebe74b524932c9db733419057a\u0027:\n  Adding a timeout to tcp dns lookup connects.\n"
    },
    {
      "commit": "ecd0e95a0276c1ba72c7331f5e4617815f015f22",
      "tree": "e54104270c6705bcb9fe3ca159b3ac69d852390e",
      "parents": [
        "94963af28e445384e19775a838a29e6a71708179"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jan 11 10:04:48 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Jan 12 14:26:41 2012 -0800"
      },
      "message": "Adding a timeout to tcp dns lookup connects.\n\nTCP isn\u0027t supported on some dns servers, which makes the old code\nhang forever.\n\nNOT adding a stopship to remove debugging stuff - it was too painful\n(14s timeout on failed tcp dns lookups) so we decided not to bother people.\n\nbug:5766949\nChange-Id: I381c20c3e11b8e994438d4f7c58ef643cd36554e\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": "7f84da69f86ed9daf610c8d1129392ba3f7c4405",
      "tree": "dd1d2b0e5659065334bec7962b7d2a83de541824",
      "parents": [
        "96e5faccdc5616bb6d4a55d50a0e6148f99d943b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Sep 02 07:44:36 2011 -0700"
      },
      "message": "Add some logging of dns cache operations\n\nAdded info about what entries are getting flushed due to ttl or size limits.\n\nChange-Id: I69fb70ce23b5b820f5f1a5738c0f1aa57b6a1127\n"
    },
    {
      "commit": "777901424fa1100817f80a8cff8330b4b11d5af7",
      "tree": "6a633e74cd7648f1258d3d3613305c67a6ac744a",
      "parents": [
        "a4fdd8ae4c1f5b3c2668900a49a9042364f15bd3",
        "9363d91218c7ed727c36ffaf82ff28d7755375ae"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 16:18:52 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 16:18:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 9363d912 to honeycomb-plus-aosp\n\nChange-Id: I555f5c10da9770feacdbece9fd77729d6151bfba\n"
    },
    {
      "commit": "9363d91218c7ed727c36ffaf82ff28d7755375ae",
      "tree": "5e455a8676d35a6931764ddc38b86cd9ba28e2eb",
      "parents": [
        "8f7cdff45557c937e6c7a7e010dc961feeb60c16"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jul 25 12:30:17 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Jul 26 12:59:50 2011 -0700"
      },
      "message": "Add per-interface dns caches.\n\nimport of changes 22100 and 23138 from opensource.\n\nChange-Id: I3ce86394323d269272aeb2bebeed4374f171a8cf\n"
    },
    {
      "commit": "e4197d41bb3458ea3a38de7bd75aa9cab27ee3af",
      "tree": "0a68a357a1daae9fff0a3c3ab8aa078066fc7c56",
      "parents": [
        "1dcc732bb54366de8835a6889b69818f734815fa",
        "fed3135972f9725a44a7d9b3df728e311ac1a130"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 20 17:20:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 20 17:20:03 2011 -0700"
      },
      "message": "am fed31359: am f6fcdb2e: am 28de3e59: Merge \"Don\\\u0027t reset caches when dns props change.\"\n\n* commit \u0027fed3135972f9725a44a7d9b3df728e311ac1a130\u0027:\n  Don\u0027t reset caches when dns props change.\n"
    },
    {
      "commit": "bad1686e1fadea28b56c83268b95c089671c9a89",
      "tree": "baac29bbe1dcd013ffe3fa1bc968ac8234790f67",
      "parents": [
        "57aadbb096a118dd33f9f16c67bd18dbb6b92c4a"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Apr 04 16:12:35 2011 +0200"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Jul 20 15:09:24 2011 -0700"
      },
      "message": "Don\u0027t reset caches when dns props change.\n\nThis happens too frequently.  We should flush a per-interface cache\nwhen it\u0027s dns server addrs changes.\n\nChange-Id: I8a691c96ce9a775160ef55ddb8f755d649041583\n"
    },
    {
      "commit": "8f88cbedc1692def20298300a7df94ad1c536259",
      "tree": "24a5154d387b1d4cc319d9676f43f49384cc29d7",
      "parents": [
        "2d2dbd30243f4ffd1e0a10ade989e25d29f7f45c",
        "e0a4b67811981ab4c04c437b23c36ae42c444bce"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Jun 27 14:14:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 27 14:14:07 2011 -0700"
      },
      "message": "am e0a4b678: am cc32fbc3: Merge \"Add support for a dns cache per interface\"\n\n* commit \u0027e0a4b67811981ab4c04c437b23c36ae42c444bce\u0027:\n  Add support for a dns cache per interface\n"
    },
    {
      "commit": "23d3e6b21b4b6debff87da8c6558495e564cc38e",
      "tree": "12c38b3f07f332621e4cedf34dd9ac118428b7d5",
      "parents": [
        "b127b1f208e67d74a7ee94ad2bd0ffb2fed3af6b"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Apr 04 16:12:35 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Jun 08 15:39:29 2011 +0200"
      },
      "message": "Add support for a dns cache per interface\n\nInitial commit for dns cache per interface.\nAdded a type that holds a reference to a\ncache and name of associated interface,\naddress of interface, name server(s)\nassociated with an interface etc.\n\nNew functions to set default interface,\naddress of name servers etc.\n\nChange-Id: Ie991bc5592fd998409853d8bf77d7fe69035dac5\n"
    },
    {
      "commit": "8a5123740750298433cce102f93cf5871985aa09",
      "tree": "9fd2025567af61dc64c2b23c9da6827f933bff46",
      "parents": [
        "b78220573a764f5955e4ace70e35f00edb41197a"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Wed May 18 16:53:23 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Jun 02 15:28:16 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": "dd16182b4b3f107d5c26015622c1cb8c06619ad7",
      "tree": "f63aecec0f28085d3226e0b08e07934be9e12d74",
      "parents": [
        "a7a9dddb5dfe783d65fec4d3b0dee9f734345a29"
      ],
      "author": {
        "name": "Anders Fredlund",
        "email": "anders.fredlund@sonyericsson.com",
        "time": "Fri May 20 08:12:37 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Fri May 20 08:12:37 2011 +0200"
      },
      "message": "Remove expired dns cache entries before removing oldest\n\nA suggestion how to make a smarter delete function when the cache\nis full. First look through the entire cache and remove all entries\nwhich have expired. If none use the old solution and just remove\nthe last entry in the MRU list.\n\nChange-Id: I5f997ab35290a55dc6e1ddf37d725759edf83d36\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": "b6cd6816d2145682aecb64a676bd3df32185a0e2",
      "tree": "981ad937866678c0b4279d877d9ab6a18fda01ee",
      "parents": [
        "a7a9dddb5dfe783d65fec4d3b0dee9f734345a29"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 17 21:31:33 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@android.com",
        "time": "Wed May 18 13:48:20 2011 +0200"
      },
      "message": "libc: Fix leak in the DNS thread-specific state.\n\nNOTE: This is a back-port from the internal HC branch.\n\nThis patch fixes a leak that occurs when creating a new\nthread-specific DNS resolver state object.\n\nEssentially, each thread that calls gethostbyname() or getaddrinfo()\nat least once will leak a small memory block. Another leak happens\nanytime these functions are called after a change of the network\nsettings.\n\nThe leak is insignificant and hard to notice on typical programs.\nHowever, netd tends to create one new thread for each DNS request\nit processes, and quickly grows in size after a \u003e 20 hours.\n\nThe same problem is seen in other system processes that tend to\ncreate one thread per request too.\n\nThe leak occured becasue res_ninit() was called twice when creating\na new thread-specific DNS resolver state in _res_get_thread().\n\nThis function could not properly reset an existing thread and was\nleaking a memory block.\n\nThe patch does two things:\n\n- First, it fixes res_ninit() to prevent any leakage when resetting\n  the state of a given res_state instance.\n\n- Second, it modifies the _res_get_thread() implementation to\n  make it more explicit, and avoid calling res_ninit() twice\n  in a row on first-time creation.\n\nFix for Bug 4089945, and Bug 4090857\n\nChange-Id: Icde1d4d1dfb9383efdbf38d0658ba915be77942e\n"
    },
    {
      "commit": "be7f5da0bdbfdd03c4fdceb827c15fc0b5c21792",
      "tree": "196cfb8a7e2e532b7f8ad2cd0495d1884c4105c0",
      "parents": [
        "9b6e8af6994fd41f468161dec797354bb7778673"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 29 16:43:16 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 29 16:43:16 2011 -0700"
      },
      "message": "Tracking change to dns proxy protocol\n\nThe gethostbyaddr code in system/netd now expects a string address\nfrom inet_ntop, not raw bytes, in order to properly pass addresses\ncontaining null and probably spaces and newlines characeters as well.\n\nBug: 4344448\nChange-Id: I8ec0eab94d5b1d38e9269ba3afb2825e946f8df3\n"
    },
    {
      "commit": "c5a3f7700b70c3857e0b098b1e976a2db1573174",
      "tree": "1df65d0e7b98f520e4e5b5cba4361452aa350813",
      "parents": [
        "2dc801f9fce57c35c00a3366f86bc38fe3e38c25"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 27 11:55:43 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 29 10:02:48 2011 -0700"
      },
      "message": "Tracking change to dns proxy protocol\n\nThe gethostbyaddr code in system/netd now expects a string address\nfrom inet_ntop, not raw bytes, in order to properly pass addresses\ncontaining null and probably spaces and newlines characeters as well.\n\nBug: 4344448\ngit cherry-pick -e c13fa640eea3285a586fc4bad0abf2fc1b902185\n"
    },
    {
      "commit": "c13fa640eea3285a586fc4bad0abf2fc1b902185",
      "tree": "c051e008be7682c19469abe4b25304edd0194435",
      "parents": [
        "8d54a62c6d7896565102cef3bac4c30232ec847d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 27 11:55:43 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Apr 27 11:55:43 2011 -0700"
      },
      "message": "Tracking change to dns proxy protocol\n\nThe gethostbyaddr code in system/netd now expects a string address\nfrom inet_ntop, not raw bytes, in order to properly pass addresses\ncontaining null and probably spaces and newlines characeters as well.\n\nBug: 4344448\nChange-Id: I935abbbe522d96b64a5f975c7937e3aed3f7b335\n"
    },
    {
      "commit": "a34694d39498975c3afae959a7a52f1ea7092888",
      "tree": "66805b7e27adf77c3f21c8d3cd65085c05cf441b",
      "parents": [
        "3be409a38c18c75690b74bca5d81ca95c8f0f5b9",
        "09db590d56ff2b568ea1a0ce265810697f0e0e92"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Apr 12 13:28:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 12 13:28:03 2011 -0700"
      },
      "message": "am 09db590d: am 9b6e8af6: am 3ef36b21: Merge \"Use system property to set dns cache size\"\n\n* commit \u002709db590d56ff2b568ea1a0ce265810697f0e0e92\u0027:\n  Use system property to set dns cache size\n"
    },
    {
      "commit": "09db590d56ff2b568ea1a0ce265810697f0e0e92",
      "tree": "f6902c650e9a11afa89adb50c2bcb07d1198e348",
      "parents": [
        "702457363c2b1b01f0d9cb0093a48ce28753e275",
        "9b6e8af6994fd41f468161dec797354bb7778673"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Apr 12 13:18:15 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 12 13:18:15 2011 -0700"
      },
      "message": "am 9b6e8af6: am 3ef36b21: Merge \"Use system property to set dns cache size\"\n\n* commit \u00279b6e8af6994fd41f468161dec797354bb7778673\u0027:\n  Use system property to set dns cache size\n"
    },
    {
      "commit": "3ef36b2115d0802e668e325b59af6ef14d999e71",
      "tree": "d68524b54a771b2bc93b25349593e3e1e0256ad9",
      "parents": [
        "4c090434a4fcffb3a8bb7ebee7cc6e52befceeae",
        "3a4910c6161d57e40ba01cc9693f1a4514892b03"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Apr 11 09:42:30 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Mon Apr 11 09:42:30 2011 -0700"
      },
      "message": "Merge \"Use system property to set dns cache size\""
    },
    {
      "commit": "02be15039a79735286ca8f10074aaa9b2d61a56b",
      "tree": "55ff57f574a874c3bc5a96bed79f2b30b1867802",
      "parents": [
        "01d14ab42967528dc77aa46f293f6a0c63ebc06c",
        "aa8f50b404ab0b2c78833387551800fa8448afcd"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 25 01:52:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 01:52:17 2011 -0700"
      },
      "message": "am aa8f50b4: am 6d46b099: am 2f169162: Merge \"libc: Fix leak in the DNS thread-specific state.\" into honeycomb-mr1\n\n* commit \u0027aa8f50b404ab0b2c78833387551800fa8448afcd\u0027:\n  libc: Fix leak in the DNS thread-specific state.\n"
    },
    {
      "commit": "6d46b09954847b8905507c22e84c39b33425c5bd",
      "tree": "4c034a39abe518eaffd7d7cb1354fa34569be7aa",
      "parents": [
        "b130f00493f6ae3b2343e1caac002de528a45e41",
        "2f169162462e44d7aa6443e682b15fc756c2e4ad"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 25 01:47:43 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 25 01:47:43 2011 -0700"
      },
      "message": "am 2f169162: Merge \"libc: Fix leak in the DNS thread-specific state.\" into honeycomb-mr1\n\n* commit \u00272f169162462e44d7aa6443e682b15fc756c2e4ad\u0027:\n  libc: Fix leak in the DNS thread-specific state.\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": "4661fda2e5339c39ceb3aefd184eb8be3d0ca835",
      "tree": "99a502f7e823ad87026a93bbf2add5272ac843fd",
      "parents": [
        "ec7e8cc9dddafc624cd28939c1a38ea336c89455"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Thu Mar 17 21:31:33 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Fri Mar 18 18:08:08 2011 +0100"
      },
      "message": "libc: Fix leak in the DNS thread-specific state.\n\nThis patch fixes a leak that occurs when creating a new\nthread-specific DNS resolver state object.\n\nEssentially, each thread that calls gethostbyname() or getaddrinfo()\nat least once will leak a small memory block. Another leak happens\nanytime these functions are called after a change of the network\nsettings.\n\nThe leak is insignificant and hard to notice on typical programs.\nHowever, netd tends to create one new thread for each DNS request\nit processes, and quickly grows in size after a \u003e 20 hours.\n\nThe same problem is seen in other system processes that tend to\ncreate one thread per request too.\n\nThe leak occured becasue res_ninit() was called twice when creating\na new thread-specific DNS resolver state in _res_get_thread().\n\nThis function could not properly reset an existing thread and was\nleaking a memory block.\n\nThe patch does two things:\n\n- First, it fixes res_ninit() to prevent any leakage when resetting\n  the state of a given res_state instance.\n\n- Second, it modifies the _res_get_thread() implementation to\n  make it more explicit, and avoid calling res_ninit() twice\n  in a row on first-time creation.\n\nFix for Bug 4089945, and Bug 4090857\n\nChange-Id: Ie4831a8dbe82be8f07fce5ddd1d36bf95994f836\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": "149f7dfe0416f19a729d83bf5cfde44b5e28e0ec",
      "tree": "adff0a58a6e956e2d1701f5e72871a43421cc237",
      "parents": [
        "aac93c237034bbca61c69e0712ae6194877aa2cc"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Feb 15 08:45:26 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Tue Feb 22 08:22:16 2011 +0100"
      },
      "message": "Proxy getnameinfo through netd\n\nProxy the parts of getnameinfo that utilize\nthe dns cache through netd.\n\nChange-Id: I1d57c451ea6b179c34828cf57a4182b262674003\n"
    },
    {
      "commit": "066ecc8f4a6ef4195194626875fe32442bf91d56",
      "tree": "790db8e4d82605911c0086137fe2c2547cc3a460",
      "parents": [
        "76299d196f8cc731b5bd72880f63d9d9cfd05694"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Tue Feb 15 08:44:20 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Tue Feb 15 08:44:20 2011 +0100"
      },
      "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": "3a4910c6161d57e40ba01cc9693f1a4514892b03",
      "tree": "685ad860b0d885f4711ee4736f739293c26eb3bb",
      "parents": [
        "76299d196f8cc731b5bd72880f63d9d9cfd05694"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Feb 14 12:41:11 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Mon Feb 14 12:41:11 2011 +0100"
      },
      "message": "Use system property to set dns cache size\n\nUse system property ro.net.dns_cache_size to set\nthe size of the cache. If the system property\nis not set the default cache size is defined by\nCONFIG_MAX_ENTRIES.\n\nThe number of entries in the hash table will be equal\nto the number of max entries allowed in the cache.\n\nChange-Id: I77d69d7c178937fa483d0b40512483ad29232d28\n"
    },
    {
      "commit": "3e0c5102e6d57e5b7296f95e1b318fda6114b48e",
      "tree": "52d7f9d642fd32b119d6b38ed7b02335c6a959ef",
      "parents": [
        "59290f4c88241c23f3f9cfcbb28e3011035f1012"
      ],
      "author": {
        "name": "Mattias Falk",
        "email": "mattias.falk@sonyericsson.com",
        "time": "Mon Jan 31 12:42:26 2011 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Feb 02 16:40:01 2011 +0100"
      },
      "message": "Add time-to-live (TTL) support to resolver cache\n\nUse the the TTL of the answer as the time a query\nshall remain in the resolver cache.\n\nAdded some debugging support as well, i.e.\nparse answer and print a la dig.\n\nChange-Id: I724d3392245032592f1912f3ca7a81a8987ebbac\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": "5d45fa4049d9ba03c0d922ece18d1d2dda119dc7",
      "tree": "5de2a066ac02c85356d5095d1a1658cfa620b373",
      "parents": [
        "2be18508f349b74b60b09e1b1118d879afb5928c",
        "2081fda69a68505c914324797400b1b798516904"
      ],
      "author": {
        "name": "David Turner",
        "email": "digit@google.com",
        "time": "Tue Jan 18 17:34:33 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 18 17:34:33 2011 -0800"
      },
      "message": "am 2081fda6: Merge \"Only look up A records if the system has IPv4.\" into gingerbread\n\n* commit \u00272081fda69a68505c914324797400b1b798516904\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": "2be18508f349b74b60b09e1b1118d879afb5928c",
      "tree": "8c0965ef2c507eeba0c34a2b8f37d03a72ae676d",
      "parents": [
        "4eb4c932dccdca663a651630fed14c760ea1e88c",
        "2e23e29245aa42d0f9419187c94e72dba3888eef"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Jan 17 12:15:45 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 17 12:15:45 2011 -0800"
      },
      "message": "am 2e23e292: Backport (simple cherry-pick) d33019030c1f0cddca557f9659e3c471bde0e6a9 to gingerbread.\n\n* commit \u00272e23e29245aa42d0f9419187c94e72dba3888eef\u0027:\n  Backport (simple cherry-pick) d33019030c1f0cddca557f9659e3c471bde0e6a9 to gingerbread.\n"
    },
    {
      "commit": "42e449e972c94d4af5a5ddffe2ffa73cc5666712",
      "tree": "1e63973dada5f5f24ef9fb32b00b4f2d1991eb71",
      "parents": [
        "f588772b05c35f19e25404bedc7890289de7c4b9",
        "a798b9f0e171643b0bc7bbf79f14cb018689f715"
      ],
      "author": {
        "name": "Steinar H. Gunderson",
        "email": "sesse@google.com",
        "time": "Mon Jan 17 12:15:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 17 12:15:41 2011 -0800"
      },
      "message": "am a798b9f0: Backport (simple cherry-pick) d1624add2b73ce8ff7826ce27b1d6d6e35bb83a6 to gingerbread.\n\n* commit \u0027a798b9f0e171643b0bc7bbf79f14cb018689f715\u0027:\n  Backport (simple cherry-pick) d1624add2b73ce8ff7826ce27b1d6d6e35bb83a6 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": "aeb41ec103103c37bf4a1700de714d9ff1befe8e",
      "tree": "d3b1843f6b76a649a4467d03baef0c19628eeb1b",
      "parents": [
        "001a321897d0f053b87799dafe17a39036b72470",
        "b2061a30da29ee531c16862a5be3566e3b860839"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 20 19:10:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 20 19:10:09 2010 -0700"
      },
      "message": "am b2061a30: Merge \"resolv: make internal symbols static/hidden\"\n\nMerge commit \u0027b2061a30da29ee531c16862a5be3566e3b860839\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b2061a30da29ee531c16862a5be3566e3b860839\u0027:\n  resolv: make internal symbols static/hidden\n"
    },
    {
      "commit": "7cc5666d94615d9249163dc7ac0f58c2614497ce",
      "tree": "da6ee98c595330b3ff97ea743d31d769e19c83ca",
      "parents": [
        "f67e5211e045af1b12f646448a5a35f96ba5e8f1"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 02:02:57 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Fri Oct 15 02:10:29 2010 +0800"
      },
      "message": "resolv: make internal symbols static/hidden\n\nChange-Id: I988b83613e6252c0cc961555e81c10f856a38b37\n"
    },
    {
      "commit": "a9b706bd2b0814fcb45c4e8396c2bdddecb1f5de",
      "tree": "e829598e8d7a333204c30676be54935902c52299",
      "parents": [
        "5dce6d195ac2c44614351f349e00ff5d8ebbe0bf",
        "66ad34293b84d979cae5ffda4b3b90b746127ebb"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sun Oct 10 18:14:58 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Oct 10 18:14:58 2010 -0700"
      },
      "message": "am 66ad3429: Merge \"gethnamaddr: make helper functions static\"\n\nMerge commit \u002766ad34293b84d979cae5ffda4b3b90b746127ebb\u0027 into gingerbread-plus-aosp\n\n* commit \u002766ad34293b84d979cae5ffda4b3b90b746127ebb\u0027:\n  gethnamaddr: make helper functions static\n"
    },
    {
      "commit": "e5c35e075fad5b5c143971c4401a360f6eaf5470",
      "tree": "8bfa35a714265b9c36898b45cc207dea0346af94",
      "parents": [
        "312be567a03aaf851707a268807ee666b12f8c74"
      ],
      "author": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 23:37:10 2010 +0800"
      },
      "committer": {
        "name": "Jim Huang",
        "email": "jserv@0xlab.org",
        "time": "Mon Sep 27 23:40:55 2010 +0800"
      },
      "message": "gethnamaddr: make helper functions static\n\nIn order not to conflict with the symbols defined in file\nlibc/netbsd/getaddrinfo.c, this patch makes the internal/helper\nfunctions static.\n\nChange-Id: I0f85599e0b4ce0a637d005ff1680e1805dec4380\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": "d378c68d74cb4fdac450650fe816c9d649c8edaf",
      "tree": "0d5c15b4606982f26009bdc5c572415ac9dd18d3",
      "parents": [
        "d7ed1ae98249af8a58ce97784a29f048d77789a9"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:13:04 2010 -0800"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Mar 08 15:22:13 2010 -0800"
      },
      "message": "Fix spurious DNS lookups in the C library.\n\nThe problem was that the \u0027defdname\u0027 field of res_state structure\nwas not properly initialized in __res_vinit(). This field is used\nto store the default domain name, which is normally build from\ncalling gethostname() (see line 549 of res_init.c).\n\nUnfortunately, in the typical Android case, gethostname() returns\nan error (the hostname is configured) and a random stack string is\nused later to build the DNS search list (see lines 556+ in res_init.c)\n\nFor the sake of illustration, let\u0027s say the search list is set to\na random value like \u0027xWLK\u0027.\n\nThe end result is that when trying to result an unknown domain name\n(e.g. \u0027www.ptn\u0027), the query fails then the resolver tries to make a\nnew query with the DNS search list path(s) appended (e.g. \u0027www.ptn.xWLK\u0027).\n\nThe patch simply initializes \u0027defdname\u0027 to an empty string to avoid\nthis when the net.dns.search system property is not set.\n\nAlso contains whitespace/formatting fixes\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": "cdeb4c8afa2fb7b92cce3b32a9d2f3c05ad759ba",
      "tree": "c92b4205ab7379cf157a88b8e9709794e70119fd",
      "parents": [
        "664dac1e959dda5f017571d52ab4a34891800927",
        "76ec6891e2bc18c9e12cd2f567358bb817b24cff"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 15 07:51:39 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 15 07:51:39 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "a90528ad3420c571987f2124955646dae88007b6",
      "tree": "95809020fb569f2f6ca32886a359552dfeb65fec",
      "parents": [
        "cc05d1271680d6a7804bc89d3b1fe14c40b32396"
      ],
      "author": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Tue Jul 28 22:58:09 2009 +0800"
      },
      "committer": {
        "name": "Chih-Wei Huang",
        "email": "cwhuang@linux.org.tw",
        "time": "Mon Aug 31 15:42:09 2009 +0800"
      },
      "message": "Include \u003cendian.h\u003e instead of \u003csys/endian.h\u003e,\nsince the later doesn\u0027t define byte order.\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": "9cfb12e6bce65b49fd858b86149858ff3851072d",
      "tree": "356310761476af56a25dd0988157c16e3329e2b9",
      "parents": [
        "eda65ce1a5586ae9c9d19d886e3ea10ef0400510",
        "3773d35eb98e22b5edab4d82fb72bdf86ff80494"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 28 15:27:33 2009 -0700"
      },
      "message": "am 3773d35e: Make the DNS resolver accept domain names with an underscore.\n\nMerge commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027\n\n* commit \u00273773d35eb98e22b5edab4d82fb72bdf86ff80494\u0027:\n  Make the DNS resolver accept domain names with an underscore.\n"
    },
    {
      "commit": "3773d35eb98e22b5edab4d82fb72bdf86ff80494",
      "tree": "05cdad25492e5dd326c10bc0b1f6ac78b0e8b1bd",
      "parents": [
        "39f3745cf30efe38482ffead1c32f4e62f6fe32e"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jul 27 19:19:29 2009 +0200"
      },
      "message": "Make the DNS resolver accept domain names with an underscore.\n\nMore precisely, this accepts domain labels with an underscore in\nthe middle (i.e. not at the start or the end of the label). This\nis needed to perform complex CNAME chain resolution in certain\nVPN networks.\n"
    },
    {
      "commit": "c52c174e412fa6c829cf6353ce8dbebdf710511f",
      "tree": "0a45a8dbd770b3a7222ff24105cff47ec0b1f978",
      "parents": [
        "040ae31701ea2583225b5ff9cc5b91de2719f7e8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Jun 11 19:33:45 2009 -0700"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jun 16 18:55:37 2009 -0700"
      },
      "message": "Make IPv6 definitions comply with RFC 3493:\n - Add some definitions to netinet/in6.h\n - Include netinet/in6.h from netinet/in.h\n"
    },
    {
      "commit": "2735b33519595da5d51b79757ccce730021a9228",
      "tree": "7839125a9beb3a38e33950d22b5495a3ab66c19d",
      "parents": [
        "8215679b355efe3829bab571bd566dc818ea4ccc"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Tue May 26 23:54:37 2009 +0200"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed May 27 00:01:11 2009 +0200"
      },
      "message": "Fix getservent() so that it returns s_port in network byte order.\nAlso add a new document detailing known issues in the C library.\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": "aeae1f5b6c6cf22c2854e07f11555591c5430607",
      "tree": "e11d62b5e4a567c87357bfc952653c5c52658be2",
      "parents": [
        "00a18f62a7c97299cea017578ec7ec179215492b"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Apr 09 18:09:50 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Apr 13 10:41:17 2009 +0800"
      },
      "message": "Add the domain search list for VPN connection.\n  The current solution is to read the net.dns.search property,\nand expand the list during the resolve initialization. In the\nfuture, we could implement search list per process.\n\nUpdate: refine the code accordingly.\n\nUpdate: remove unnecessary code.\n\nUpdate: remove the unused variable.\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": "6f04a0f4c72acff80dad04828cb69ef67fa609d1",
      "tree": "915db7d93cb742f72b5d3819e69f48cb29c40a15",
      "parents": [
        "2489551343aa89fc539f369f7689c941b78c08d1"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:29 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\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"
    }
  ]
}
