)]}'
{
  "log": [
    {
      "commit": "d7ad4e409eaac53db3a9789060097b712850b337",
      "tree": "c7b9ad3df7f5c39774a76308f3071a0479b8f58c",
      "parents": [
        "a6e965578e44f8ae5f98de822ba5decec381d5fc"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 08 12:44:23 2014 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 22 10:40:39 2014 -0800"
      },
      "message": "libsysutils: SocketListener export release\n\n* Foreground thread (legacy) closes connection by\n  reporting false return value for onDataAvailable.\n* Background thread can choose instead to close the\n  connection asynchronously by calling release, must\n  return true for the onDataAvailable method.\n\nChange-Id: I70ab37d5c22b02804aa3b4dfb26cc9b75291f8b6\n"
    },
    {
      "commit": "a6e965578e44f8ae5f98de822ba5decec381d5fc",
      "tree": "bfabed7da29eb17b59914e563da4ebba6ab0345c",
      "parents": [
        "349f894e522830f462fdfff64d2ef8bec5dcf747"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 24 20:30:10 2012 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 22 10:40:30 2014 -0800"
      },
      "message": "libsysutils: Add iovec/runOnEachSocket\n\nSocketClient:\n* Replace sendDataLocked with sendDataLockedv which takes an iovec.\n* Add a version of sendData, sendDatav, which takes an iovec.\n* do not preserve iovec content through sendDatav\n\nSocketListener:\n* Add runOnEachSocket, which allows to to specify a SocketClientCommand to\n  run individually on each socket. This allows you to do broadcast-like\n  actions customized for each individual socket.\n* Client safe list reference counting for sendBroadcast \u0026 runOnEach Socket\n\nSigned-off-by: Nick Kralevich \u003cnnk@google.com\u003e\nSigned-off-by: Mark Salyzyn \u003csalyzyn@google.com\u003e\n\nChange-Id: I716f89c01b4cb7af900045c7e41fac1492defb06\n"
    },
    {
      "commit": "e1a475c0b4b73ec72fae12ea310b038d87a71b0e",
      "tree": "8b49df56bca9cbbbf7d6ecda75d37f927eddd8df",
      "parents": [
        "4928d8d072b5fab695f88437987c4be10781f40c",
        "b518aeb5e3432046e492c631a7a8f1200153c58f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Dec 14 00:13:32 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 14 00:13:32 2013 +0000"
      },
      "message": "Merge \"Force alignment of data buffer used to process netlink messages\""
    },
    {
      "commit": "c7eec83f08329a2a0008ba939c07dd1dc7d9b7ff",
      "tree": "d56ce7475a6ff93463709ac01bb19c4fdf5e5e40",
      "parents": [
        "526b838c9d647e8767fac957c53133153c3cf909"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 12 17:03:32 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Nov 20 10:31:19 2013 +0900"
      },
      "message": "Support parsing RDNSS ND options from netlink.\n\nThe RDNSS options (RFC 6106) used to configure DNS servers via\nrouter advertisements are passed from the kernel to userspace via\nRTM_NEWNDUSEROPT netlink messages. Add code to NetlinkEvent to\nparse them.\n\nAlso fix a compiler warning and a couple of style issues.\n\n[Cherry-pick of b185e90dcc6ac111bff908edcc6d89fd6b37dc11]\n\nBug: 9180552\nChange-Id: I6c532c8f0ceef3afdc977a431a036df398013e1a\n"
    },
    {
      "commit": "526b838c9d647e8767fac957c53133153c3cf909",
      "tree": "3607245eb76bcf88e31cb7b8414caa710aaba49d",
      "parents": [
        "96834569343f38dc006492fccdf6dad68521b005"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Sep 03 00:25:14 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Nov 20 10:29:42 2013 +0900"
      },
      "message": "Switch back to subsystem \"net\" for netlink events.\n\nThe change to enable address tracking via netlink incorrectly\nchanged the subsystem of rtnetlink events from \"net\" to\n\"interface\". This broke interface add/delete notifications,\nwhich come from the kernel with subsystem \"net\".\n\nSwitch back to \"net\" and deal with address tracking via new\naction codes instead of a new subsystem.\n\n[Cherry-pick of f34861346d5c207912075fba9874090e4c947869]\n\nBug: 10433320\nChange-Id: Ibf30efb426949dfd02304cc1d9adb1c005a539a6\n"
    },
    {
      "commit": "381f70f52a282e6da780e4b686aaa9c230be2cdc",
      "tree": "b6a9975fad93b8fdc56a8c082ee9f6e1a75931b2",
      "parents": [
        "3fa14a53e70cd55df031646fe3735a6fde37deb8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Aug 02 05:58:37 2013 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Nov 20 10:29:05 2013 +0900"
      },
      "message": "Parse IP address changes in NetlinkEvent.\n\nThis adds support for parsing RTM_NEWADDR and RTM_DELADDR\nnetlink messages received on netd\u0027s netlink socket and\nformatting them them so NetlinkHandler can process them.\n\nAddress changes are notified in subsystem \"address\". Interface\nchanges, which used to be notified in subsystem \"net\", are now\nnotified in subsystem \"interface\" to avoid confusion.\n\n[Cherry-pick of a4b4e9ad8e35ab424e61d76ebe6654445fc61e63]\n\nBug: 10232006\nChange-Id: I93a50e8de17014e118a42f5cc0eb90a0cbfa73cc\n"
    },
    {
      "commit": "b518aeb5e3432046e492c631a7a8f1200153c58f",
      "tree": "ba1e212d3ad9f4be2450cd409ff2f79862ada079",
      "parents": [
        "8c58086c54a23d33e915852a1355a171b09679cc"
      ],
      "author": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Oct 30 13:11:20 2013 -0700"
      },
      "committer": {
        "name": "Chris Dearman",
        "email": "chris.dearman@imgtec.com",
        "time": "Wed Oct 30 15:42:26 2013 -0700"
      },
      "message": "Force alignment of data buffer used to process netlink messages\n\nThis avoids any overhead associated with accessing unaligned data\nwhile processing netlink messages.\n\nChange-Id: I1ea13051816ef46b6627594121d98cda130ac609\n"
    },
    {
      "commit": "6d358ae44ccfbcd5b89511d142f334b2cc1b67b1",
      "tree": "ab3c1035f273adc03b7cd01f13028cf9f4a59780",
      "parents": [
        "a6fb0e05aa95995445c6f2b65f07db26bdbfd46c"
      ],
      "author": {
        "name": "Josef Kindberg",
        "email": "josef.kindberg@stericsson.com",
        "time": "Wed Feb 23 12:40:44 2011 +0100"
      },
      "committer": {
        "name": "Patrik Ryd",
        "email": "patrik.ryd@stericsson.com",
        "time": "Mon Nov 12 14:40:21 2012 +0100"
      },
      "message": "libsysutils: Increase command buffersize and command args\n\nNeeded to support tethering of multiple remote Bluetooth devices.\n\nChange-Id: I9f736affd83226e8b2fa4f0faacd3654175dd8c9\nSigned-off-by: Patrik Ryd \u003cpatrik.ryd@stericsson.com\u003e\n"
    },
    {
      "commit": "b982bce73b7e2c824ffb50115ea382fe45c751a4",
      "tree": "c7f75e5408a50675ba161c2e9aeb98b8c7bc8489",
      "parents": [
        "8d3ea1d1e198e71ca3f856c6f397faf40922f562"
      ],
      "author": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Apr 26 23:52:58 2012 -0700"
      },
      "committer": {
        "name": "JP Abgrall",
        "email": "jpa@google.com",
        "time": "Thu Apr 26 23:52:58 2012 -0700"
      },
      "message": "Revert \"libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER events.\"\n\nThis reverts commit 731d831e91d5d9f8b15ca95367977abe35967166.\n\nNow that the xt_IDLETIMER uses the KOBJECT_UEVENT netlink, this\nchange is not needed anymore.\n"
    },
    {
      "commit": "594947793c98e8e7f58f0e9b2cb962c9ef23adeb",
      "tree": "01be6143d60f80dec1048e5cea81c819e0d96ff2",
      "parents": [
        "545ab46063f083239b29e59b8b491656d93f2a38"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Apr 20 15:21:07 2012 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Apr 20 17:41:42 2012 -0700"
      },
      "message": "Add ability to quote responses as needed.\n\nIt\u0027s up to the protocol to know when quotes are required.  In the future\nthe response should probably all be binary blobs with lengths.\n\nbug:6353048\nChange-Id: I3f9b48ab0f4e6746d75cdc9c0c84d33f38f63661\n"
    },
    {
      "commit": "731d831e91d5d9f8b15ca95367977abe35967166",
      "tree": "041d773389dc1d6543fda3bb618d2a9233632c8f",
      "parents": [
        "720d598280e5ebd3fb7c845a2a11520bb646d645"
      ],
      "author": {
        "name": "Ashish Sharma",
        "email": "ashishsharma@google.com",
        "time": "Tue Apr 10 18:59:16 2012 -0700"
      },
      "committer": {
        "name": "Ashish Sharma",
        "email": "ashishsharma@google.com",
        "time": "Wed Apr 11 17:24:46 2012 -0700"
      },
      "message": "libsysutils: NetlinkEvent: add support for interface xt_IDLETIMER events.\n\nxt_IDLETIMER events are used to infer the interface (radio) state\nbased on a inactivity timeout value.\n\nChange-Id: I755eb54a048ca1c6ce0c646564d61188d8241851\n"
    },
    {
      "commit": "7599bfcf13cf022333338b7a87aaddae69c48d73",
      "tree": "efe6c3ca539af273e8b150d385af7288488ddbe7",
      "parents": [
        "b015977acbb7cea0344ca58f15e762fcbb99a7dc"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Mar 08 16:10:06 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 09 11:55:51 2012 -0800"
      },
      "message": "Fix pointer arith.\n\nSending 3digit code, null, binary-length and data.  Current code sends\n3digit code, space, null, binary-length, binary-data.\n\nThe space should not be sent.\n\nChange-Id: I1df00a3e70805b39b6105966c7f3c613461a6858\n"
    },
    {
      "commit": "7bf4c45f842ded6d6ad6b2d80e052ddf56969723",
      "tree": "4c5d19db79c7a141062dd81288be0209f8079924",
      "parents": [
        "78f6bcf853db3dd9b9b37a0ca4d4ee0374f6835a"
      ],
      "author": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Mon Feb 27 16:04:37 2012 -0800"
      },
      "committer": {
        "name": "Selim Gurun",
        "email": "sgurun@google.com",
        "time": "Wed Mar 07 16:19:52 2012 -0800"
      },
      "message": "Add a utility function to send a code + binary msg\n\nAdd a utility function to SocketClient to send a c-string code\nprepended to a binary message. This is necessary to be able to\nsend a binary message while keeping compatible with underlying\ntext-based protocol.\n\nChange-Id: Ifc6562003a687577d7deb50260533a5147ae4f97\n"
    },
    {
      "commit": "78f6bcf853db3dd9b9b37a0ca4d4ee0374f6835a",
      "tree": "c8b92d557e35b39bcccad77c12025d795d5b8757",
      "parents": [
        "397cf1986448cedde2a17093884a0ee8bf0d0b3f",
        "8702bb17f40022e970e8acd40b348d074e39afc7"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Mar 06 11:30:13 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 11:30:13 2012 -0800"
      },
      "message": "Merge \"New NativeDaemonConnector protocol adds a seqnum.\""
    },
    {
      "commit": "b7286aa02e1e554a1ef21a957fabe593f05c1260",
      "tree": "c09ec159fc62be475468e54930c4f4ac7e10d1d8",
      "parents": [
        "f1b244c3fafb9c0b96b10a3aea77bb6690fa9074"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 05 16:45:55 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 05 17:08:19 2012 -0800"
      },
      "message": "remove dependency on utils/List.h\n\nChange-Id: I9a1e996be645520d1d5a056337303a6e5ed646e9\n"
    },
    {
      "commit": "8702bb17f40022e970e8acd40b348d074e39afc7",
      "tree": "5b8f27e686d6d2b7850129c3d59f435103c482b2",
      "parents": [
        "ca3bf25570c197757f75b749cddecfea88cbcdc1"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 12:23:14 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Mar 05 11:44:43 2012 -0800"
      },
      "message": "New NativeDaemonConnector protocol adds a seqnum.\n\nAllows for one socket to be multiplexed for multiple requests.\nDoesn\u0027t use command sequence numbers for broadcasts - would make no sense.\nDoesn\u0027t alter current default behavior so OEM\u0027s using these classes\nwon\u0027t notice a difference.\nbug:5864209\n\nChange-Id: Ie3b19c4f81eea868569229a365c8cb7de249c2dd\n"
    },
    {
      "commit": "a8185a622e368d1957e18a3ee9d29d45eda12cfc",
      "tree": "a98a179d56f71e2280e1b48f4cc5807fa630eac2",
      "parents": [
        "dc58e73071aa829a5038caf37211f6b3e2d7b275"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Feb 07 19:13:28 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Feb 07 19:26:54 2012 -0800"
      },
      "message": "Revert \"New NativeDaemonConnector protocol adds a seqnum.\"\n\nReverting because it seems to break `adb reboot`\n\nThis reverts commit dc58e73071aa829a5038caf37211f6b3e2d7b275.\n\nChange-Id: Ib8cc4379254694398cbb7f3e7a64c20e1ed8c1ba\n"
    },
    {
      "commit": "dc58e73071aa829a5038caf37211f6b3e2d7b275",
      "tree": "8a92d09200206a41977c40a7dfb8784c24f7118a",
      "parents": [
        "6f53225ef9f60a18a69b4ad3ba920ada168b719e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 12:23:14 2012 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 07 16:00:07 2012 -0800"
      },
      "message": "New NativeDaemonConnector protocol adds a seqnum.\n\nAllows for one socket to be multiplexed for multiple requests.\nbug:5864209\n\nChange-Id: I934c88da25d95e093371f455442bdf2f0ed7a4f4\n"
    },
    {
      "commit": "4520246d3534c087f3e9253c34f99dd1e45b7bd7",
      "tree": "68fb2d909e6258f785347d60a026b42efeaa93b4",
      "parents": [
        "2a32df25b8bb307693173911041458aaca84c84c"
      ],
      "author": {
        "name": "Xianzhu Wang",
        "email": "wangxianzhu@google.com",
        "time": "Thu Sep 29 12:59:55 2011 +0800"
      },
      "committer": {
        "name": "Xianzhu Wang",
        "email": "wangxianzhu@google.com",
        "time": "Thu Sep 29 13:42:32 2011 +0800"
      },
      "message": "Fix SocketListener socket leak issue.\n\nThe problem was: if a socket is shared between SocketListener and another\nthread, only if the last reference is removed by SocketListener can the socket\nbe closed, otherwise the socket will leak. This sometimes happens in netd\u0027s\ndnsproxyd.\n\nThis change let the SocketClient own the socket and close the socket when\nthe SocketClient is destructed.\n\nChange-Id: I2865fbfe9ee4d8b3e43d7e02919dbb2d261f70de\n"
    },
    {
      "commit": "2a56688da92fcf22ea8ce996e2a0e7b453d1543b",
      "tree": "4d61a27da2ec17d97c951103405ebea156659bd2",
      "parents": [
        "17260b14682d4fe59dad3de2de8c9370e6ba9a71"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 15:04:32 2011 -0700"
      },
      "committer": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 18:59:45 2011 -0700"
      },
      "message": "Workaround Motorola ril.so incompatiblity with Netlink changes\n\nTo workaround a binary incompatiblity with Motorola\u0027s ril.so, I had to\ntemporarily provide the old constructor for NetlinkListener as well as\na new contructor that takes an additional format argument.\nThere\u0027s still a slight chance of a problem because the size of the\nNetlinkListener has changed with the addition of the\nmFormat member, but so far I\u0027ve not seen any obvious problem with that\nincompatiblity.\n\nAnother way we could have worked around the incompatiblity is to have\nnetd (the main user of the new format argument to NetlinkListener) keep\ntrack of the format itself in it\u0027s NetlinkHandler (derived from NetlinkListener)\nand supply it\u0027s own version of onDataAvailable() that\u0027s almost 100% identical\nto NetlinkListener\u0027s except for the decode() call.  That would allow us\nnot to modify NetlinkListener at all.  Worth considering but I think it\u0027s\nmore properly divided right now and we just have to make Motorola fix their\ncode (and ideally not use our private APIs).\n\nThis change should be reverted when Motorola\u0027s has fixed their ril to\neither not use our private APIs or to use our updated ones.\n\nChange-Id: I255cca6908444e56cbbbed7eef1fa0cf1d8f0918\nSigned-off-by: Mike J. Chen \u003cmjchen@google.com\u003e\n"
    },
    {
      "commit": "17260b14682d4fe59dad3de2de8c9370e6ba9a71",
      "tree": "e27c5d98b06c7b0b83702bd161b70a1a40b9dd44",
      "parents": [
        "ec16b9d47cacb0d873ee0ff80c919f49215c0005"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 15:00:30 2011 -0700"
      },
      "committer": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 18:59:45 2011 -0700"
      },
      "message": "Cleanup NetlinkListener and NetlinkEvent\n\nTo make it easier to be compatible with older existing code, use\ndefault parameters instead of separate functions for setting.\n\nAlso, reintroduce the const usage that was not in the original\nchanges by Stan.\n\nAlso fix some indent spacing.\n\nChange-Id: Ice9ec7f0d5c4a0673037e2e04a764d88a98f68eb\nSigned-off-by: Mike J. Chen \u003cmjchen@google.com\u003e\n"
    },
    {
      "commit": "ec16b9d47cacb0d873ee0ff80c919f49215c0005",
      "tree": "001ba2be28407e94c0e295890764387a94404cec",
      "parents": [
        "9661a3aecd39cca95bd07253c52b99521409c147"
      ],
      "author": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 14:55:28 2011 -0700"
      },
      "committer": {
        "name": "Mike J. Chen",
        "email": "mjchen@google.com",
        "time": "Thu Jun 23 18:59:45 2011 -0700"
      },
      "message": "Revert \"Revert \"Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet\"\"\n\nThis reverts commit 1d504eeb50d980c222572629383bb76315f32ca0.\n\nConflicts:\n\n\tlibsysutils/src/NetlinkEvent.cpp\n\nBring back the changes from Stan Chesnutt regarding adding NETLINK_ROUTE\nprocessing.  The original commit message description was:\n\n    Add NETLINK_ROUTE processing to the netlink client code, so that Ethernet\n    physical-layer up/down events can be tracked.  Upper layers will use these\n    events to enable/disable Ethernet connectivity.\n\nThe original change was reverted due to an incompatiblity with Motorola\u0027s\nril.so binary.  I\u0027ll submit a patch to workaround that incompatiblity\nseparately.\n\nChange-Id: I4e97ac98833b10543e654c63ecae3b9b8c7db44f\nSigned-off-by: Mike J. Chen \u003cmjchen@google.com\u003e\n"
    },
    {
      "commit": "4be4e69f0128b7d9b0a29651ef4b79d806ae3ce7",
      "tree": "7ea32b884c407264ff50b4b857e51b94a5fcf825",
      "parents": [
        "51101e86dce3c512a915308274406968aa5d0760"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Mar 17 17:14:46 2011 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Mar 17 17:14:46 2011 -0700"
      },
      "message": "Fix potential race introduced in Icd7f5f03\n\nDigit wrote:\n\n\"You probably don\u0027t want to close the socket here without updating\nc-\u003esocket as well. Otherwise, another thread holding a handle to the\nclient after the c-\u003edecRef() could end up sending a message to a\ndifferent socket, if the file descriptor index is reused by another\nclient in the meantime.\"\n\nChange-Id: Icdefb5ffc0c7607325d7db761e1f04e5d868bfb7\n"
    },
    {
      "commit": "648ebad883e7825353c841950dd7d78664c238e6",
      "tree": "93a4928755fd9581006bb314b36b76e6304d1375",
      "parents": [
        "b51326351a28f70e4c003df8f89d0b450bcd6041"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Mar 17 15:41:20 2011 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Mar 17 15:50:02 2011 -0700"
      },
      "message": "SocketClient: add optional reference counting\n\nNeeded to fix a race in netd.\n\nBug: 3438459\nChange-Id: Icd7f5f035510235f733a25c0621479d3e644b152\n"
    },
    {
      "commit": "cf9e1003ce69a2aea2c64cd82d54a0d3e8917dbb",
      "tree": "ccf54510a8fc04d6d94900b403cf07ac42a79ae0",
      "parents": [
        "af61509b50bc110b0c7c4691e37873cc0987ab5c"
      ],
      "author": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Mon Jan 17 03:10:31 2011 +0100"
      },
      "committer": {
        "name": "David \u0027Digit\u0027 Turner",
        "email": "digit@google.com",
        "time": "Wed Jan 19 02:18:40 2011 +0100"
      },
      "message": "libsysutils: Fix race condition in SocketListener thread.\n\n+ Handle EINTR in accept(), write() and select()\n+ Fix a memory leak when deleting the mClients list\n+ Fix typo in SocketListener.h\n\nChange-Id: Ie68bb3e2dbefe0dfdaa22a5cd06a42dbc4c0f8aa\n"
    },
    {
      "commit": "8c5669f9f9a228efebf4059fd4ceace5cece578b",
      "tree": "e9a36458620d4d93884c8e611fd7c39a2cb39567",
      "parents": [
        "7ffa661595df7bc71f1ae2e8cefcd658b0f9bdf5"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Oct 27 10:23:16 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Oct 27 10:27:34 2010 -0700"
      },
      "message": "Let SocketClient users write binary data to clients.\n\nThis is a dependency for the DNS proxy CLs.\n\nThis CL also adds a new socket for the netd process to inherit which\nis owned by the inet group.  (so only apps with the INTERNET\npermission can use the DNS proxy...)\n\nChange-Id: Ic3475c697913ba85805b4e49801b65e7a1d59289\n"
    },
    {
      "commit": "30abb7234de2a9caa1add4b00a189436f0b24560",
      "tree": "7920d9c39658ef8a7dc10e3ba825857597953912",
      "parents": [
        "40c2b7cbedff612ce8bc7a51589a952cc1d047b6"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 14:26:12 2010 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Sep 14 14:35:10 2010 -0700"
      },
      "message": "Fetch peer credentials for local sockets\n\nFetch the PID, UID, and GID of the remote side of a local socket\nconnection in case any users of this library class want to check it.\n\nChange-Id: Ia3230e6bc68ab6f93160df9f5996d2bf744b872c\n"
    },
    {
      "commit": "1159d7f800e5ddaf9d2d994e23d11e2f6dd67b8e",
      "tree": "1ed87f13ffc9ff4b4d574fcf65a1b90dfe80861c",
      "parents": [
        "f91c96895d63791324ae8a74ab8901af26bb49bc"
      ],
      "author": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Mar 09 10:45:27 2010 -0800"
      },
      "committer": {
        "name": "Dmitry Shmidt",
        "email": "dimitrysh@google.com",
        "time": "Tue Mar 09 10:46:29 2010 -0800"
      },
      "message": "sysutils: Increase number of command arguments to 16\n\nChange-Id: I0bba579634b334d24645c2af55ab3fab6da03fc6\nSigned-off-by: Dmitry Shmidt \u003cdimitrysh@google.com\u003e\n"
    },
    {
      "commit": "d674413ff460afe1da049e54bb7a489132799749",
      "tree": "9cae3b4cd2a9fdef54b4d1994741ae9b459eca5c",
      "parents": [
        "3528f6ba2769abb09ae0a27a9336b96ab0a97225"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Dec 24 07:17:09 2009 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu Dec 24 07:20:36 2009 -0800"
      },
      "message": "sysutils: Add dump() to NetlinkEvent\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b029e924285dfe5bd36d93d837eb00db1c7661fc",
      "tree": "12de33569d2b5d8d06b7b422a2e16bd1b3c61993",
      "parents": [
        "96912ff719a506f43ad02b8f9cc741f52567cabb",
        "74d7ff8cfd490852d3df1c4b9d8a21beed619caa"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:19:24 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Oct 14 08:19:24 2009 -0700"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "ebfe3db361c51d9d99bf6cfd495bd16bdf815e1f",
      "tree": "22a607259a2a794e127c191f756430dc907d7445",
      "parents": [
        "808c89e1207fe3a60b6f8c3b03d3c65fcc7defbe"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Sat Oct 10 17:35:13 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@android.com",
        "time": "Sat Oct 10 17:39:10 2009 -0700"
      },
      "message": "libsysutils: Fix some bugs in NetlinkListener and NetlinkEvent\n\nSigned-off-by: San Mehat \u003csan@android.com\u003e\n"
    },
    {
      "commit": "c4a895b7094461c98101924cf096680bfb7856f1",
      "tree": "002d78d20dc1d3ddd548f10c5d39807f6d5b7fb7",
      "parents": [
        "a0c0d8a89e1cd775d0ecf5a3df744d8ac0ccfc2f"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Jun 23 21:10:57 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Jul 10 14:23:51 2009 -0700"
      },
      "message": "nexus: Rollup update for nexus\n\nnexus: Change field separator from : to \u0027 \u0027\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add some prototypes for stuff to come\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add some TODOs\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nlibsysutils: Put a proper token parser into the FrameworkListener which\nsupports minimal \\ escapes and quotes\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Fix a lot of bugs\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nlibsysutils: Remove some debugging\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Send broadcasts for supplicant state changes\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Plumb DHCP listener state changes to NetworkManager\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Make the SupplicantState strings more parsable\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Broadcast a message when dhcp state changes.\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add a few new response codes\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Rename ErrorCode -\u003e ResponseCode\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add DHCP event broadcasting. Also adds the framework for\ntracking supplicant \u0027searching-for-AP\u0027 state\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: REmove WifiScanner\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Change the way scanning works. scanmode can now be selected\nindependantly of triggering a scan. Also adds rxfilter support\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add support for configuring bluetooth coexistence scanning and modes\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: use case insensitive match for property names\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Rollup of a bunch of stuff:\n    - \u0027list\u0027 command now takes an argument to match against\n    - InterfaceConfig has been moved into the Controller base (for now)\n    - DhcpClient now has some rudimentry locking\n    - process \u0027ADDRINFO\u0027 messages from dhcpcd\n    - Drop tertiary dns\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Clean up some of the supplicant variable parsing and add \u0027wifi.current\u0027\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add driver-stop/start, initial suspend support\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add Controller suspend/resume callbacks, as well as locking\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Make ARP probing configurable for DhcpClient\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add linkspeed / rssi retrieval\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Add WifiStatusPoller to track RSSI/linkspeed when associated\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Disable some debugging and add \u0027wifi.netcount\u0027 property\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Replace the hackish property system with something more flexible with namespaces\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nlibsysutils: Fix a few bugs in SocketListener\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: PropertyManager: Add array support\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: Clean up properties\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n\nnexus: WifiController: Change name of \u0027CurrentNetwork\u0027 property\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "c73a3a5771a2d29d1bae666bfde12f751d66fc96",
      "tree": "da254373f3ec359d7352efcd146ef6905b08cf42",
      "parents": [
        "47c1d7344ab183f5440843f6b594d1b74a2335b0"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 15 14:06:03 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Mon Jun 15 14:06:03 2009 -0700"
      },
      "message": "libsysutils: Move to a null terminated string protocol using space as a field separator.\n\n    Also removes some debugging\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "db017545796747115b8797f03e662b0f398a7c7b",
      "tree": "56c78aebe652c2d718a7007381cc3c770eb8ad0d",
      "parents": [
        "2fd9c5897aba37847879033dd1cffd345ced93fc"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed May 20 15:27:14 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed May 20 17:16:05 2009 -0700"
      },
      "message": "libsysutils: const correctness fixes + remove some debugging\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "c41d1c8074ed02acc9d1e749d81e0aafb5efbbfa",
      "tree": "23133380d778a55675186b160e90e7ff73670bc2",
      "parents": [
        "c83cd879d45e667fbb4763f18c908928ee9d67d8"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu May 14 14:58:45 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri May 15 10:40:23 2009 -0700"
      },
      "message": "libsysutils: Introduce \u0027ServiceManager\u0027, for starting/stopping init services\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "d768066ef54270a0d3ccfccd50ae8238db5a2cdd",
      "tree": "eea4b978f43fad98d561ef97a7fec0d9d502ac14",
      "parents": [
        "c73d9e43a0c98a87222ef0c8749d6abba06c7778"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue May 12 11:16:59 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue May 12 14:02:32 2009 -0700"
      },
      "message": "libsysutils: Tweak SocketListener and friends\n\n    Signed-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "fa644ffe944c01a9b00f8d7676d58394fabee285",
      "tree": "a19968819547c4b515c463adb48106a8d01983aa",
      "parents": [
        "1441e769b2767e212a3d905bee2fd3535b484ff2"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri May 08 11:15:53 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Sun May 10 09:26:42 2009 -0700"
      },
      "message": "libsysutils: Add multiple client support and fix some bugs\n"
    },
    {
      "commit": "168415b822cae1f8b54ef09c41c11a9b97b87f40",
      "tree": "4265fda29301863478294812a3a53f4a13a72428",
      "parents": [
        "770354d7e6cd471daed426fcf04bf7246e7cb18b"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed May 06 11:14:21 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Wed May 06 15:12:02 2009 -0700"
      },
      "message": "libsysutils: New C++ system convenience library\n\n        This library contains re-usable classes for common\n    system level daemons. Initial consumers of this library\n    are \u0027nexus\u0027 and \u0027vold2\u0027\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    }
  ]
}
