)]}'
{
  "log": [
    {
      "commit": "b50d8d2fd34602a22261bd3724129c290df07ab5",
      "tree": "e339a3d0c71183efdae08e7cb9ddd201c4801525",
      "parents": [
        "f7e72c18f0940328010b571158b514b7068cfca6",
        "2946762690edae2e1c96bf2dc71539999c40cfed"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 15 23:48:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 15 23:48:29 2016 +0000"
      },
      "message": "Fix clang-tidy warnings in apmanager.\nam: 2946762690\n\nChange-Id: I4eaba8276e2f6fb0e1a0a935c869ce0de63cf304\n"
    },
    {
      "commit": "2946762690edae2e1c96bf2dc71539999c40cfed",
      "tree": "e339a3d0c71183efdae08e7cb9ddd201c4801525",
      "parents": [
        "b93f1b54e9f649cb2f113511a57705ad707fdf63"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 15 15:07:49 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 15 15:11:28 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in apmanager.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I601f6d5ebeada385d1a8c5c664007dae0c156c40\n"
    },
    {
      "commit": "f7e72c18f0940328010b571158b514b7068cfca6",
      "tree": "f1d5714d4204eb4d8f773aee2fc43859e182a0f1",
      "parents": [
        "39ef9a0a1653d004a79aa0184c6bfe5b146022ea",
        "b93f1b54e9f649cb2f113511a57705ad707fdf63"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Aug 02 20:41:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 02 20:41:01 2016 +0000"
      },
      "message": "Remove Brillo-specific LOCAL_MODULE_TAGS\nam: b93f1b54e9\n\nChange-Id: Ibd5ff54327296709daf8a2a895a3c6e54246d750\n"
    },
    {
      "commit": "b93f1b54e9f649cb2f113511a57705ad707fdf63",
      "tree": "f1d5714d4204eb4d8f773aee2fc43859e182a0f1",
      "parents": [
        "b83e33fb609e6fd0559857620f6a7b6ff4d85979"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Jul 31 18:37:49 2016 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Sun Jul 31 18:37:49 2016 -0700"
      },
      "message": "Remove Brillo-specific LOCAL_MODULE_TAGS\n\nReplaced with PRODUCT_PACKAGES_ENG in brillo_base.mk\n\nChange-Id: I3efe9526bf8e4357e0a442ada9f1d70125d12d34\n"
    },
    {
      "commit": "39ef9a0a1653d004a79aa0184c6bfe5b146022ea",
      "tree": "e86310f2f3dc6277d1ed76b9a82cd85517ed10aa",
      "parents": [
        "b4f46c2694907f95b83e1abb9fd66f503b80ccc7",
        "c754716aa50db403034f1aaea961fa1ff1e030ad"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Fri May 27 22:34:38 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 27 22:34:38 2016 +0000"
      },
      "message": "apmanager: Update libchrome APIs to r395517 am: b83e33fb60\nam: c754716aa5\n\n* commit \u0027c754716aa50db403034f1aaea961fa1ff1e030ad\u0027:\n  apmanager: Update libchrome APIs to r395517\n\nChange-Id: I1bf6a9d0d435d743ca48cbfdde62b50f50761b55\n"
    },
    {
      "commit": "c754716aa50db403034f1aaea961fa1ff1e030ad",
      "tree": "e86310f2f3dc6277d1ed76b9a82cd85517ed10aa",
      "parents": [
        "57188eeae6e36334e15f2cec96f68fec330b0f34",
        "b83e33fb609e6fd0559857620f6a7b6ff4d85979"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Fri May 27 22:32:04 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 27 22:32:04 2016 +0000"
      },
      "message": "apmanager: Update libchrome APIs to r395517\nam: b83e33fb60\n\n* commit \u0027b83e33fb609e6fd0559857620f6a7b6ff4d85979\u0027:\n  apmanager: Update libchrome APIs to r395517\n\nChange-Id: I07dea3838109f8257138a336db09be205c8477de\n"
    },
    {
      "commit": "b83e33fb609e6fd0559857620f6a7b6ff4d85979",
      "tree": "e86310f2f3dc6277d1ed76b9a82cd85517ed10aa",
      "parents": [
        "57188eeae6e36334e15f2cec96f68fec330b0f34"
      ],
      "author": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Fri May 20 23:10:36 2016 -0700"
      },
      "committer": {
        "name": "Luis Hector Chavez",
        "email": "lhchavez@google.com",
        "time": "Thu May 26 11:29:35 2016 -0700"
      },
      "message": "apmanager: Update libchrome APIs to r395517\n\nThe new libchrome has been ported from Chromium and some APIs have\nchanged. Make necessary changes at call sites.\n\nChange-Id: I3c50a00168917ec943fdfe816893b91894569888\n"
    },
    {
      "commit": "b4f46c2694907f95b83e1abb9fd66f503b80ccc7",
      "tree": "4eaad6acce1221611a1192004de22f2beefcd462",
      "parents": [
        "91e214cdb0aecaf38cf60b63edb4cde1a93c6fa5",
        "57188eeae6e36334e15f2cec96f68fec330b0f34"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Mar 08 23:49:32 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 08 23:49:32 2016 +0000"
      },
      "message": "Don\\\u0027t use GID-based capabilities for \\\u0027apmanager\\\u0027.\nam: 57188eeae6\n\n* commit \u002757188eeae6e36334e15f2cec96f68fec330b0f34\u0027:\n  Don\u0027t use GID-based capabilities for \u0027apmanager\u0027.\n"
    },
    {
      "commit": "57188eeae6e36334e15f2cec96f68fec330b0f34",
      "tree": "4eaad6acce1221611a1192004de22f2beefcd462",
      "parents": [
        "9da60744196c3ac74758bea36131d183294f8343"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Mar 08 14:29:49 2016 -0800"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Tue Mar 08 14:31:36 2016 -0800"
      },
      "message": "Don\u0027t use GID-based capabilities for \u0027apmanager\u0027.\n\nThe two daemons launched by \u0027apmanager\u0027, \u0027hostapd\u0027 and \u0027dnsmasq\u0027,\nalready use file capabilities. This means groups |net_admin| and\n|net_raw| are not needed.\n\nGroup |inet| is needed for now because current kernels enable Android\nparanoid networking settings. Once that setting is removed, the group\nwill not be needed anymore but will also be harmless.\n\nBug: 27548062\nChange-Id: Ic91cc4d989f4e6961cd54428ce004b17e291b085\n"
    },
    {
      "commit": "91e214cdb0aecaf38cf60b63edb4cde1a93c6fa5",
      "tree": "ae9bcdc6df778238ccbd70b544fd8ea968a29bfe",
      "parents": [
        "6b32d8c3ef43ce1d5280c202733a1e9f17850eac",
        "9da60744196c3ac74758bea36131d183294f8343"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Mar 03 04:02:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 03 04:02:05 2016 +0000"
      },
      "message": "Stop using BUILD_STATIC_TEST_LIBRARY\nam: 9da6074419\n\n* commit \u00279da60744196c3ac74758bea36131d183294f8343\u0027:\n  Stop using BUILD_STATIC_TEST_LIBRARY\n"
    },
    {
      "commit": "9da60744196c3ac74758bea36131d183294f8343",
      "tree": "ae9bcdc6df778238ccbd70b544fd8ea968a29bfe",
      "parents": [
        "66cf1b18c0a5b62a3beb5b3a165d6ff492afb1c6"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 02 15:26:44 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Mar 02 15:26:44 2016 -0800"
      },
      "message": "Stop using BUILD_STATIC_TEST_LIBRARY\n\nThis isn\u0027t a library for a test, use BUILD_STATIC_LIBRARY instead.\n\nChange-Id: If3a10e6fbaae4347b25f002862240136ac937de4\n"
    },
    {
      "commit": "6b32d8c3ef43ce1d5280c202733a1e9f17850eac",
      "tree": "c8ea9444d1f6ea5a6b0e27274d94c9194cd9f629",
      "parents": [
        "8b7e58e6717f034a15ee524abb1a4c7b3fe08722",
        "66cf1b18c0a5b62a3beb5b3a165d6ff492afb1c6"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Feb 04 22:29:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 04 22:29:35 2016 +0000"
      },
      "message": "apmanager_test: Compile only on \\\u0027eng\\\u0027 builds.\nam: 66cf1b18c0\n\n* commit \u002766cf1b18c0a5b62a3beb5b3a165d6ff492afb1c6\u0027:\n  apmanager_test: Compile only on \u0027eng\u0027 builds.\n"
    },
    {
      "commit": "66cf1b18c0a5b62a3beb5b3a165d6ff492afb1c6",
      "tree": "c8ea9444d1f6ea5a6b0e27274d94c9194cd9f629",
      "parents": [
        "33a54245a627a89089cd470b2564d04dbe9833ff"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Feb 04 13:36:55 2016 -0800"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Feb 04 13:36:55 2016 -0800"
      },
      "message": "apmanager_test: Compile only on \u0027eng\u0027 builds.\n\nBug: 26967770\nChange-Id: I656080fc329ca70c9239ccaf71fa6e90b665dc4f\n"
    },
    {
      "commit": "8b7e58e6717f034a15ee524abb1a4c7b3fe08722",
      "tree": "fa85ef562dc125c933dc3086aa60548f91e3eb7a",
      "parents": [
        "fca478e3db86521918313d3d92290b1928de3702",
        "33a54245a627a89089cd470b2564d04dbe9833ff"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Thu Jan 21 01:42:45 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 21 01:42:45 2016 +0000"
      },
      "message": "apmanager: Update libchrome APIs to r369476\nam: 33a54245a6\n\n* commit \u002733a54245a627a89089cd470b2564d04dbe9833ff\u0027:\n  apmanager: Update libchrome APIs to r369476\n"
    },
    {
      "commit": "fca478e3db86521918313d3d92290b1928de3702",
      "tree": "fa85ef562dc125c933dc3086aa60548f91e3eb7a",
      "parents": [
        "d5eceb53b2b8b2ef5b0c4115ff1632b077201734"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Jan 20 07:53:12 2016 -0800"
      },
      "committer": {
        "name": "Ian Pedowitz",
        "email": "ijpedowitz@google.com",
        "time": "Wed Jan 20 17:18:47 2016 -0800"
      },
      "message": "apmanager: Update libchrome APIs to r369476\n\nThe new libchrome has been ported from Chromium and some APIs have\nchanged. Make necessary changes at call sites.\n\n(cherry picked from commit 33a54245a627a89089cd470b2564d04dbe9833ff)\n\nChange-Id: Ie449b7b706bfcef332a4306e93d7d1b1bd5ccf52\n"
    },
    {
      "commit": "33a54245a627a89089cd470b2564d04dbe9833ff",
      "tree": "fa85ef562dc125c933dc3086aa60548f91e3eb7a",
      "parents": [
        "d5eceb53b2b8b2ef5b0c4115ff1632b077201734"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Jan 20 07:53:12 2016 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Jan 20 07:53:12 2016 -0800"
      },
      "message": "apmanager: Update libchrome APIs to r369476\n\nThe new libchrome has been ported from Chromium and some APIs have\nchanged. Make necessary changes at call sites.\n\nChange-Id: Iff1bdd4bdbded1a4f5f81fdb3a0b5b43a8c43020\n"
    },
    {
      "commit": "d5eceb53b2b8b2ef5b0c4115ff1632b077201734",
      "tree": "4b408ee605072f9c50b0cd34546e465c00864216",
      "parents": [
        "7758d8db3ddb2582fb57bda4a26c9f6f6bd20316"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Dec 21 12:18:59 2015 -0800"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Mon Dec 21 12:18:59 2015 -0800"
      },
      "message": "apmanager: Disable RTTI\n\nThere is no longer a reliance on RTTI in libbrillo, so disable RTTI\nin the rest of Brillo codebase.\n\nBUG: 26292405\nChange-Id: I97dc70bb7cfb17ace734c06025393ced34f7bbd3\n"
    },
    {
      "commit": "7758d8db3ddb2582fb57bda4a26c9f6f6bd20316",
      "tree": "9612afe48572898ebccb6f960e3f696098441a33",
      "parents": [
        "685dd4acea083dc74105edbdf8a06e539c291a45"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Nov 23 14:27:33 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Nov 23 15:18:57 2015 -0800"
      },
      "message": "Remove D-Bus dependency from Manager\n\nHere are the main changes:\n1. Cleanup Manager::CreateService and Manager::RemoveService API\n   to remove D-Bus dependency.\n1. Use refptr for Service since it will be maintained by both\n   Manager and its adaptor.\n2. Move the monitoring of the service creator/owner to the adaptor,\n   since the DBusServiceWatcher is D-Bus specific.\n\nBug: 24194427\nTEST\u003dStart AP service on Brillo board, stop weaved, verify service\n     is destroyed and removed from apmanager.\nTEST\u003dVerify device setup works on Brillo board.\nTEST\u003dVerify apmanager does not crash on restart.\nTEST\u003dRun unittests on both Brillo and Chrome OS.\n\nChange-Id: I33fd4eec2c1adf12830484ca087bd9dd56767288\n"
    },
    {
      "commit": "685dd4acea083dc74105edbdf8a06e539c291a45",
      "tree": "b13567f9dc82e9396b3be615fe8d62984ae67ee7",
      "parents": [
        "2ea547f45d2a143e1b25b275c46d1f317186b07a"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sat Nov 21 17:47:49 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sat Nov 21 21:30:54 2015 -0800"
      },
      "message": "Provide abstraction for ManagerAdaptorInterface\n\nD-Bus implementation of the interface is also included.\n\nBug: 24194427\nTEST\u003dBuild apmanager for both Brillo and Chrome OS\n\nChange-Id: Id2478673cbca36279fb9e5e87a203a4eb021d1db\n"
    },
    {
      "commit": "2ea547f45d2a143e1b25b275c46d1f317186b07a",
      "tree": "4b52276abb3cb19ffa29f57176e235541e0a43be",
      "parents": [
        "0e92d1ea02ff4aec2a3c333dd2258d81c1211ace"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Nov 20 14:18:11 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sat Nov 21 21:30:54 2015 -0800"
      },
      "message": "Remove D-Bus dependency from Service\n\nHere are the main changes:\n1. Update service to use ServiceAdaptorInterface instead of using\n   D-Bus adaptor directly.\n2. Update D-Bus object registration for Service and Config to be\n   synchronous, to remove unnecessary complexity. This also\n   eliminates the need for Manager::CreateService handler to be\n   asynchronous.\n3. Update Service APIs to use the internal Error instead of brillo::Error.\n4. Use MockServiceAdaptor for testing, fake version is not needed\n   since the adaptor properties for Service are not being used in test.\n\nBug: 24194427\nTEST\u003dStart AP service on both Brillo and Chrome OS devices\nTEST\u003dRun unittests on both Brillo and Chrome OS\n\nChange-Id: Ib94a4b91ef402415470e0131afdeeef5105817e4\n"
    },
    {
      "commit": "0e92d1ea02ff4aec2a3c333dd2258d81c1211ace",
      "tree": "c4eee04d1751d6e281ff19c48407fbd7a5e923f0",
      "parents": [
        "d9c79aa078a5df1882848d26a52d48a02b4057a5"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Nov 20 10:11:36 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sat Nov 21 21:30:54 2015 -0800"
      },
      "message": "Define and implement an AdaptorInterface for Service\n\nThis interface will be used by Service to communicate with\nthe adaptor that exposes its functionality over IPC.\n\nThe D-Bus implementation of this interface is included, and\nintegrated to the D-Bus control interface.\n\nBug: 24194427\nTEST\u003dBuild apmanager for both Brillo and Chrome OS\n\nChange-Id: Ib87e13247cb4fbff53081b2e5cbad61bb499ce31\n"
    },
    {
      "commit": "d9c79aa078a5df1882848d26a52d48a02b4057a5",
      "tree": "4f02121f9fa692e2b71f76b4a4dd8101f72670c5",
      "parents": [
        "69d252180b766970ccbfeeb7af00973d3331d086"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 19 15:36:00 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sat Nov 21 21:30:43 2015 -0800"
      },
      "message": "Remove D-Bus dependency from Config\n\nThis is achieved by using a generic ConfigAdaptorInterface to communicate\nwith the adaptor.\n\nUse FakeConfigAdaptor for testing, which provides the storage for\nthe property variables.\n\nWhile there, update the Config APIs to use the generic internal Error type\ninstead of brillo::Error (which is tailored more towards D-Bus). The D-Bus\nadaptor will convert it to brillo::Error when returning from D-Bus method\ncalls.\n\nBug: 24194427\nTEST\u003dSetup AP on Chrome OS and Brillo device\nTEST\u003dRun unittests\n\nChange-Id: I5aa8ffd0805bcbb0125224f4f430245b70f56b6a\n"
    },
    {
      "commit": "69d252180b766970ccbfeeb7af00973d3331d086",
      "tree": "3fc85fc237bc1e5ee4b725e9be265f2e55ea5ffb",
      "parents": [
        "00029783fc5a927dd0cddc03bdcd8e760655ce46"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 19 13:13:25 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Nov 20 09:00:12 2015 -0800"
      },
      "message": "Add support for generic internal error reporting\n\nCurrently, we\u0027re using brillo::Error for internal error reporting.\nHowever, brillo::Error is more tailored for D-Bus.\n\nInstead, implement a new Error class (trimmed down version of\nshill::Error) for internal error reporting, and provide\nfunctions for converting it to RPC specific error object.\n\nBug: None\nTEST\u003dRun newly added unit tests\n\nChange-Id: I2b518fae6eccb8dc9f9f0e96b941289c3846a9af\n"
    },
    {
      "commit": "00029783fc5a927dd0cddc03bdcd8e760655ce46",
      "tree": "221f1cb590f242ee4fbcea785ffc52608f4b60a6",
      "parents": [
        "f933540bb968efa2744ee48b40ab713ccd358d51"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Nov 17 13:45:57 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 19 13:43:33 2015 -0800"
      },
      "message": "Define and implement an AdaptorInterface for Config\n\nThis interface will be used by Config to communicate with\nthe adaptor that exposes its functionality over IPC.\n\nThe D-Bus implementation of this interface is included, and\nintegrated to the D-Bus control interface.\n\nAn upcoming CL will integrate this AdaptorInterface to the\nConfig class, to decouple Config class from the underlying\nRPC implementation.\n\nBug: 24194427\nTEST\u003dBuild apmanager for both Brillo and Chrome OS\n\nChange-Id: I61d46c37bac875ce4a196dcc4abb752f5880ec50\n"
    },
    {
      "commit": "f933540bb968efa2744ee48b40ab713ccd358d51",
      "tree": "6ca9bc31232ad2683fd90719783f37ab9b54bf5e",
      "parents": [
        "0d70fa725563571fff9e91e7a86386d3d1db4667"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Nov 16 12:09:16 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 19 13:43:27 2015 -0800"
      },
      "message": "Refactor D-Bus adaptor for Device out of the Device class\n\nThis removes the RPC specific dependencies out of the Device class.\nDevice adaptors will now be created through the ControlInterface.\n\nWhile there, make the D-Bus object registration for Device object to\nbe synchronous instead of asynchronous.  Since the daemon will not\nbe doing anything anyway besides waiting for the registration to\ncomplete. This avoids unnecessary complexity with the object\nregistration.\n\nCurrently for D-Bus, the property variables are being created/stored\nin the generated adaptor code.  This means that the property variables\nwill be stored in the adaptor instead of the Device class itself.\nEven though this is not ideal, there is no good way around it.  In the\nideal world, the Device would maintain its property variables, and\nregister them with the RPC specific adaptor.\n\nSo for the unittest, we will use FakeDeviceAdaptor, which provides the\nstorage for the property variables.\n\nAlso currently gmock doesn\u0027t support mocking of a function that returns\na unique_ptr, since it only supports copyable return value and unique_ptr\nis not copyable.  To work around this issue, I\u0027ve created mock functions\nthat return a raw pointer, and override the proxy/adaptor creation\nfunctions to use the mock function in MockControl.\n\nBug: 24194427\nTEST\u003dStart AP service on both Brillo and Chrome OS\nTEST\u003dRun unittests on both Brillo and Chrome OS\n\nChange-Id: I8e9f736bb27fe6736f616dd752a37b9cc1be8dfe\n"
    },
    {
      "commit": "0d70fa725563571fff9e91e7a86386d3d1db4667",
      "tree": "9f5692c3c074d41f53243153d1f59388f874c2be",
      "parents": [
        "31f7086eadd1e9391ef9acf4b3a9174f284112fe"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 12 10:31:40 2015 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 16 21:39:34 2015 +0000"
      },
      "message": "dbus: perform D-Bus initialization in DBusControl\n\nThis moves the RPC specific initialization out of the Daemon class,\nwhich makes it agnostic of the underlying RPC implementation.\n\nAlso move the ownership of Manager from Daemon to the ControlInterface\nimplementation. So the ControlInterface is now responsible for\ncreating Manager and exposing it through the underlying RPC interface.\nThis makes it easier to maintain the relevant objects (e.g. Manager,\nObjectManager), and avoids possible confusion during cleanup.\n\nBug: 25654681\nTEST\u003dVerify device setup works on Brillo device\n\nChange-Id: Id2eb8d08346841e294f8286fe191708caa2cbc24\n"
    },
    {
      "commit": "31f7086eadd1e9391ef9acf4b3a9174f284112fe",
      "tree": "8ec972fb5d3919779f89b08bfe0d4950c17cd6b1",
      "parents": [
        "58083964e47533d2850340a09884edc22348c5c4"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Nov 16 09:22:34 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Nov 16 09:22:34 2015 -0800"
      },
      "message": "Release interface after station mode interface setup is completed\n\nThis avoids a possible race condition where the interface gets enumerated\nby shill before it is setup as station mode, resulting in the interface\nbeing ignored by shill.\n\nBug: 25704767\nTEST\u003dVerify device setup on Edison board\n\nChange-Id: If1ef2840273d84ba39d2796ac9b09a5707b319e7\n"
    },
    {
      "commit": "58083964e47533d2850340a09884edc22348c5c4",
      "tree": "d5e4e768b10290de53908472dd0c087554a27191",
      "parents": [
        "f38cf1ccad66b8db9bce0c673dbffacfb744a02d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 05 14:29:50 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Nov 06 09:54:59 2015 -0800"
      },
      "message": "Update file path for D-Bus files\n\nBug: 24194427\nTEST\u003dBuild for both Brillo and Chrome OS\n\nChange-Id: Ic2b87900b1fd8f71a0f2c0ee5d642f14cd40a7ca\n"
    },
    {
      "commit": "f38cf1ccad66b8db9bce0c673dbffacfb744a02d",
      "tree": "4ef4100140d52820d0d0481bce697b534edc383b",
      "parents": [
        "bf4394152e52529c9e64c764df07468de13a5dc0"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Nov 05 13:59:50 2015 -0800"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Nov 06 09:53:24 2015 -0800"
      },
      "message": "dbus: move D-Bus specific files to dbus directory\n\nBug: 24194427\nChange-Id: I0317e5c376a1feeaacfe4352491ccf7406e11d84\n"
    },
    {
      "commit": "bf4394152e52529c9e64c764df07468de13a5dc0",
      "tree": "fa24bc73804afeca22e2b5387036b7bda9d4f378",
      "parents": [
        "cbbefa251257018b08ab4466da0e6ad1f459ae1a"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Oct 29 15:23:34 2015 -0700"
      },
      "committer": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@google.com",
        "time": "Thu Oct 29 15:23:34 2015 -0700"
      },
      "message": "Fix /data dir creation, \u0027apmanager\u0027 service class.\n\n/data is not guaranteed to be mounted when \u0027boot\u0027 triggers.\n\u0027post-fs-data\u0027 guarantees that. Also, move the daemon to class\n\u0027late_start\u0027, since post-fs-data will not happen in time for class\n\u0027main\u0027.\n\nBug: 25373880\nChange-Id: I524f0a3e20696f502e534669aebb4d388c6822ea\n"
    },
    {
      "commit": "cbbefa251257018b08ab4466da0e6ad1f459ae1a",
      "tree": "e1ac3807578fae1a62a6fdd773abf5ee52086a44",
      "parents": [
        "682a9324b86ce27fd1c461704fa2e80e40ed043d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 27 12:05:34 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Oct 28 16:44:15 2015 -0700"
      },
      "message": "brillo: start AP service after AP interface is enumerated\n\nFor Brillo devices, it is required to use the AP mode interface\nthat\u0027s setup using the HAL API. So explicitly setup an AP mode\ninterface using the HAL API, and wait for the interface to\nenumerated before starting the AP service.\n\nThis is achieved by handling the Start request asynchronously.\nAlso explicitly update the AP Config to use the newly created\nAP interface, to avoid the Config from auto selecting a wrong\ninterface in the case when multiple AP-capable interfaces are\npresented.\n\nBug: 25113165\nTEST\u003dDevice setup works on both Brillo boards\n\nChange-Id: Icdee32e8bab9cf41a467058aef5ea081562a3442\n"
    },
    {
      "commit": "682a9324b86ce27fd1c461704fa2e80e40ed043d",
      "tree": "c967693c152ede4a820e15cf145c3cec8b5e4c3a",
      "parents": [
        "02bc8998fdfaa09cc9362c3ba231bca68c292a8b"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 27 09:41:52 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Oct 28 16:27:39 2015 -0700"
      },
      "message": "Use asynchronous handler for org.chromium.Service.Start D-Bus call\n\nThis allows us to handle this D-Bus call asynchronously for Brillo\ndevices.  Since we want to wait for the newly created AP interface\nto be enumerated before starting the service.\n\nFor now, this handler will return synchronously on both Chrome OS\nand Brillo.  A separate CL (CL:178864) will update this handler to\nreturn asynchronously on Brillo.\n\nWhile there, remove the unnecessary mock function for Service.Start\nand Service.Stop, since these are D-Bus method handlers.  Even though\nthe MockService class is now empty, we might still need it when we\nremove the D-Bus dependency from the Service class (b/24194427),\nso keep it for now.\n\nBug: 25113165\nTEST\u003dUnittest on both Chrome OS and Brillo\nTEST\u003dManual test on both Chrome OS and Brillo\n\nChange-Id: If0ba13ae89a25bdf9207803d7d6b008e9ad6165e\n"
    },
    {
      "commit": "02bc8998fdfaa09cc9362c3ba231bca68c292a8b",
      "tree": "dab3ebf437980ecadc1dbf9e33fd63bfc9a94a13",
      "parents": [
        "520dad65f387d889cf8143bd7f35d8babaa63822"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Oct 28 12:23:44 2015 -0700"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 28 20:34:04 2015 +0000"
      },
      "message": "Start apmanager after WiFi setup is completed\n\nThis avoids a race condition where weaved tries to start an AP service\nbefore WiFi driver is initialized.\n\nBug: 25341872\nTEST\u003dDevice setup on both Brillo boards\n\nChange-Id: Iadaa7a6b18dab5adb21ba02d12d7704dabb40332\n"
    },
    {
      "commit": "520dad65f387d889cf8143bd7f35d8babaa63822",
      "tree": "dd575ce57d1dab1722ab0cfa9caa5eb377763334",
      "parents": [
        "6789bcbfbc2cbc7eec7713513b4b2038f7f8c52c",
        "9ad78a5f14b72297699d5a552846982e42eb6b4d"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 22:46:48 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 27 22:46:48 2015 +0000"
      },
      "message": "Merge \"apmanager: Rename libchromeos to libbrillo\""
    },
    {
      "commit": "9ad78a5f14b72297699d5a552846982e42eb6b4d",
      "tree": "9f0b435b43e95f52e73487465fcc7e66e71abd9f",
      "parents": [
        "c7717b6a957218665fe390115a5c8535dcf39c11"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 11:40:51 2015 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 27 11:40:51 2015 -0700"
      },
      "message": "apmanager: Rename libchromeos to libbrillo\n\nBUG: 24872993\nChange-Id: I750c137a9dab339a9ec9629fb906eddd1109e4b7\n"
    },
    {
      "commit": "6789bcbfbc2cbc7eec7713513b4b2038f7f8c52c",
      "tree": "72f15b6d4043abd8ec0f7010854098db11712651",
      "parents": [
        "c7717b6a957218665fe390115a5c8535dcf39c11"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Oct 26 15:45:13 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Oct 26 15:50:24 2015 -0700"
      },
      "message": "Do not use singleton for mock objects\n\nAndroid complains about memory leakage when using singleton\nfor mock objects, and it is not really necessary to use\nsingleton for mock objects either.  So remove the singleton\nfrom those objects.\n\nWhile there, update the binary path for \"sleep\" on Android,\nwhich is used for starting a dummy process in the test.\n\nBug: 25186794\nTEST\u003dRun apmanager_test on Brillo board\nTEST\u003dRun unittests for Chrome OS\n\nChange-Id: Ifb5a5c6876aa67a94411d823109c14a209a46d86\n"
    },
    {
      "commit": "c7717b6a957218665fe390115a5c8535dcf39c11",
      "tree": "949559104d281791472c584f0479005a134c13d4",
      "parents": [
        "be12882aa9307c62e1ae6ad8a69d5c663bed3b3e"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Oct 22 15:21:27 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Oct 22 16:32:50 2015 -0700"
      },
      "message": "shill_manager: add APIs for setting interface modes\n\nThis is needed to allow apmanager to setup an AP/station mode\ninterface when starting/stopping an AP service.\n\nBug: 25113165\nTEST\u003dDevice setup on Brillo boards\n\nChange-Id: I2b5b708409fe1c59e0333b1e4347d46ba0162847\n"
    },
    {
      "commit": "be12882aa9307c62e1ae6ad8a69d5c663bed3b3e",
      "tree": "bd74603a78396b226890807396fc3258791282cd",
      "parents": [
        "a522e0006b344c6438a18e0a4848e7cdfbf5dd0a"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 13 13:55:03 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 13 16:44:16 2015 -0700"
      },
      "message": "Use ControlInterface for creating proxies\n\nThis removes the IPC specific (D-Bus) dependencies from FirewallManager\nand ShillManager.\n\nBug: 24194427\nTEST\u003dVerify wifi bootstrapping on both dragonboard (Android) and wolf\nTEST\u003d(Chrome OS)\n\nChange-Id: Iac3b91300f938e8080d6ab4513fe84dea2880693\n"
    },
    {
      "commit": "a522e0006b344c6438a18e0a4848e7cdfbf5dd0a",
      "tree": "2389a42fe4637bff95321d1c016357f4211e4d08",
      "parents": [
        "8d0c31bb481b712a3b2e6612390679e29053c620"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 13 13:21:58 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 13 16:42:48 2015 -0700"
      },
      "message": "Provide an abstraction for control interface\n\nOnly define/implement APIs for creating proxies for now.\n\nBug: 24194427\nTEST\u003dCompile for both Android and Chrome OS\n\nChange-Id: I55d387abd0104ab808343f244be5acaa8a4c8549\n"
    },
    {
      "commit": "8d0c31bb481b712a3b2e6612390679e29053c620",
      "tree": "2d043c5f5f6011fcaa711c894a9bd7c5df3dcf0a",
      "parents": [
        "015a499835529e3e632e0bb86d76ca03c6121770"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 09:14:24 2015 -0700"
      },
      "committer": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Tue Oct 13 12:37:00 2015 -0700"
      },
      "message": "apmanager: Rename \"chromeos\" -\u003e \"brillo\" in include paths and namespaces\n\nlibchromeos is transitioning to libbrillo and chromeos namespaces\nand include directory is changing to brillo.\n\nBug: 24872993\nTEST\u003dbuilt for aosp and brillo, all unit tests pass on dragonboard\nChange-Id: I4c6efbc5bbf80d251e5d91bc3db49f02bc0e4732\n"
    },
    {
      "commit": "015a499835529e3e632e0bb86d76ca03c6121770",
      "tree": "d2d3fecae793c2cf2d8ee2d15c07bd6cf982268b",
      "parents": [
        "d9abe95315d15d2acef2f88d3b0663fa3f9177c9"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 06 13:30:32 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Oct 06 15:54:20 2015 -0700"
      },
      "message": "Update unittest expectations for Android\n\nWe\u0027re using different user/group and file path on Android, so update\nthese expectations in unittest for Android.\n\nWhile there, rename apmanager_unittest to apmanager_test, which seems\nto be the convention for unittest target name on Android.\n\nBug: 24707201\nTEST\u003dRun unittest on dragonboard\nTEST\u003dRun unittest for Chrome OS\n\nChange-Id: Ibd6880a713117578b68c814edc7e1cefe9170c75\n"
    },
    {
      "commit": "d9abe95315d15d2acef2f88d3b0663fa3f9177c9",
      "tree": "93eb2f6aaaf682ff0ed7e7b6e6bb437f6438c102",
      "parents": [
        "d684bb0823c61e48c7001a3d208e4a04b212f496"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Oct 02 14:29:44 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Oct 02 14:29:44 2015 -0700"
      },
      "message": "apmanger: build on non-Linux hosts\n\nBug: None\nChange-Id: I28500105c27014c7bfd490bfa84faf83bc5580d1\n"
    },
    {
      "commit": "d684bb0823c61e48c7001a3d208e4a04b212f496",
      "tree": "a141988f37ac73916b663f6feead841972e7bd29",
      "parents": [
        "06379fcd061b30b279db88c1df3e035b0fca5bc8"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Oct 02 10:30:29 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Oct 02 10:32:13 2015 -0700"
      },
      "message": "Start apmanager during startup on Android\n\nBug:24575517\nTEST\u003dVerify apmanager is running after dragonboard started\n\nChange-Id: I43070b3dcb5e03dfc54bc54c05859f0af25b71ad\n"
    },
    {
      "commit": "06379fcd061b30b279db88c1df3e035b0fca5bc8",
      "tree": "bfaa239ff0080d4416952a68b930ecabd044727a",
      "parents": [
        "784aa32ee151a52eea942f3f08f0773529228763"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Oct 01 11:11:01 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Oct 01 11:14:33 2015 -0700"
      },
      "message": "shill_manager: use ShillDBusProxy for Android\n\nSwitch to use ShillDBusProxy now that libshill-client is ready.\n\nBug: None\nTEST\u003dStart AP service with shill running\n\nChange-Id: I53eb12c80badb8855684caa25cdd1a3bd9f2f493\n"
    },
    {
      "commit": "784aa32ee151a52eea942f3f08f0773529228763",
      "tree": "2a9daf4d6de0bf7767754441e5fcc32adf155077",
      "parents": [
        "2a9f348075be89217b7efdc1e2255992ba4f99d7"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 29 09:48:03 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 29 20:17:15 2015 +0000"
      },
      "message": "Overwrite dnsmasq pid file path for Android\n\ndnsmasq normally creates a pid file in /var/run/dnsmasq.pid, which\ndoesn\u0027t exist on Android.  So specify the pid file to a valid file\npath on Android.\n\nBug: 22828115\nTEST\u003dManual test on dragonboard\n\nChange-Id: Ibd1db2d4df71d2693204307ad6886132da4187b7\n"
    },
    {
      "commit": "2a9f348075be89217b7efdc1e2255992ba4f99d7",
      "tree": "3910b854f67b20d51b05490c32d4cdcb35628ef7",
      "parents": [
        "8070c3ad04f91b1745898407aa20bbb460f1874c"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Sep 28 15:00:04 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 29 20:11:39 2015 +0000"
      },
      "message": "Use \"system\" user/group for Android\n\nWe currently do not have a dedicated user/group for apmanager on\nAndroid.  So update the code to use \"system\" user/group for now.\n\nBug: 22828115\nTEST\u003dManual test on dragonboard\n\nChange-Id: I5d327f3d42ff9fe8895e4e9f4fb8477c904d43df\n"
    },
    {
      "commit": "8070c3ad04f91b1745898407aa20bbb460f1874c",
      "tree": "2b38004eaf1a29c918baab29516b98324ef9a19b",
      "parents": [
        "56e03e7819eab800e077513451cb4fce68ec6066"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Sep 28 14:26:25 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 29 20:10:30 2015 +0000"
      },
      "message": "Rename apmanager\u0027s Android init file\n\nAndroid is using \u003cservice\u003e.rc instead of init.\u003cservice\u003e.rc.\n\nWhile there, include the init file in the build target and\nremove the seclabel from the init file.\n\nBug: 22828115\nTEST\u003dManual test on dragonboard\n\nChange-Id: Ia29cb197ec1ebca5d3003d62e9f24060bffd073a\n"
    },
    {
      "commit": "56e03e7819eab800e077513451cb4fce68ec6066",
      "tree": "faad2f9202c3a7d5ce845a87ae3718a3495453e9",
      "parents": [
        "771952dc58b6e5eef5fcfe97a1ba2ac7881b2bfe"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Sep 28 13:42:48 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 29 20:09:19 2015 +0000"
      },
      "message": "Do not run apmanager in minijail for now\n\nWhen starting apmanager through Android\u0027s init system, the daemon\nwill be started under \"system\" user, and that\u0027s currently targeted\nuser for running apmanager. So there is no need to use minijail to\ndrop the user privileges to \"system\" user\" again.\n\nSo skip this for now until we create a new user/group to run apmanager\nunder.\n\nBug: 22828115\nTEST\u003dManual test on dragonboard\n\nChange-Id: Ib37553126f9a9a4024a16f68d91d240ca855f55c\n"
    },
    {
      "commit": "771952dc58b6e5eef5fcfe97a1ba2ac7881b2bfe",
      "tree": "167097e909709ce800f41f32a98a1c9b03e6eece",
      "parents": [
        "9b1df04c163524658b482602c2070aacddbe7374"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Sep 28 08:08:24 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Mon Sep 28 11:30:04 2015 -0700"
      },
      "message": "Do not run logger on Android\n\nLogger utility doesn\u0027t exist on Android, so do not run it on Android.\n\nBug: 24451556\nTEST\u003dManual test on dragonboard\nTEST\u003dTest AP setup on Chrome OS device\n\nChange-Id: I4014f5ca3ab91b348a98169cb355c6841d6530fd\n"
    },
    {
      "commit": "9b1df04c163524658b482602c2070aacddbe7374",
      "tree": "270c20ed64855db245183f5eef5ffe9fe78cd4ba",
      "parents": [
        "fc98057995ef9c9cc8dda720aa7e0e30d1b34d8e"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sun Sep 27 22:04:52 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Sun Sep 27 22:04:52 2015 -0700"
      },
      "message": "Do not daemonize (fork) the daemon process\n\nWhen starting the daemon using an init system, the environment setup\nis already being handled by the init system, so there is no need\nto daemonize the daemon process create such setup.\n\nBy daemonizing the daemon process, it spawns off a new process to\nrun the daemon and terminates the current process. This causes\na problem with the init system, where it thinks that the daemon\nfailed to start. We were able to work around it on Chrome OS\u0027s\nupstart script by adding the forking expectation in the init\nscritp (\"expect fork\"), but there is not such workaround on\nAndroid\u0027s init system.\n\nFix it by removing the daemonize call (daemon()) and remove the\nthe forking expectation on Chrome OS\u0027s init script.\n\nBug: 24412675\nTEST\u003dManual test on dragonboard\nTEST\u003dstart/stop apmanager on Chrome OS device\n\nChange-Id: I4dff678946801310982c3af366ab6182f5864a81\n"
    },
    {
      "commit": "fc98057995ef9c9cc8dda720aa7e0e30d1b34d8e",
      "tree": "544c4977a641a666532f43e7d1395bf97ec04cc8",
      "parents": [
        "7a420d3e06aa7fb5eba305dc587624eb58bde7b7"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 24 10:11:26 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Sep 25 13:20:23 2015 -0700"
      },
      "message": "update file paths for Android\n\nOn Android, the executables are stored under /system/bin and the\ndata files (e.g. config file) will be stored under\n/data/misc/apmanager/.  So conditionally use those paths for\nAndroid.\n\nBug: 22828115\nTEST\u003dManual test on dragonboard\nTEST\u003dRun unittest for Chrome OS\n\nChange-Id: I7db70c93cb1b8c206742a788e356dcc195160f43\n"
    },
    {
      "commit": "7a420d3e06aa7fb5eba305dc587624eb58bde7b7",
      "tree": "20b84c3dd7d25862a1e838374e1a61ccded25a7a",
      "parents": [
        "37328b81d1a5042042261f7320480ad31d3a5125"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 22 11:25:15 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 22 11:59:18 2015 -0700"
      },
      "message": "Compile apmanager on Android\n\nNoticeable changes to get apmanager to compile on Android:\n- Conditional include headers for D-Bus service constants\n  based on the target platform.\n- Use firewalld proxy instead of permission_broker proxy on\n  Android.\n- Use stub shill proxy instead of the real one until libshill-client\n  is ready.\n\nBug: 24164800\nTEST\u003dCompile apmanager on both Android and Chrome OS\nTEST\u003dRun apmanager on Chrome OS device\n\nChange-Id: I7885323796e0043a1e3cc46c129e2736faf4fced\n"
    },
    {
      "commit": "37328b81d1a5042042261f7320480ad31d3a5125",
      "tree": "c74156b210849a48674ad9a0f8898cd9a2175429",
      "parents": [
        "2a6fb338dced5622d701da61c5ee06b3df7dbad7"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Sep 18 09:28:18 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Sep 18 09:35:38 2015 -0700"
      },
      "message": "Abstract shill proxy interface\n\nProvide an abstraction interface for shill proxy, to allow different\nproxy implementations.\n\nBug: 24164800\nTEST\u003dStart an AP service using apmanager on a wolf device, verify\nTEST\u003d\"wlan0\" is not managed by shill using \"list-devices\" test script.\nTEST\u003dThen restart shill, verify \"wlan0\" is still not managed by shill.\n\nChange-Id: Ib1aec58b8b2b130a8746cb3fb819ffbee79f70b5\n"
    },
    {
      "commit": "2a6fb338dced5622d701da61c5ee06b3df7dbad7",
      "tree": "26c375c6259ad28b3a352f8432c6dbfb027bbd50",
      "parents": [
        "1ec4e7e52faa8582d05be19dee0a4ca7b96c8976"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 22:19:17 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Fri Sep 18 09:26:22 2015 -0700"
      },
      "message": "Rename shill_proxy to shill_manager\n\nThe end goal is to provide an abstration interface for shill proxy,\nto allow different implementations for the proxy.\n\nOne immediate beneifit is that we can use a stub implementation\nto temporarily remove the dependency for libshill-client while\ncompiling apmanager on Android. In the future, we might provide an\nimplementation based on Binder for Android.\n\nBug: 24164800\nTEST\u003demerge-$BOARD apmanager\n\nChange-Id: I4b241aee97252704862eb77419cdce4a858e19a1\n"
    },
    {
      "commit": "1ec4e7e52faa8582d05be19dee0a4ca7b96c8976",
      "tree": "5bd992f86b47158675be56366c071f5fef0fd93f",
      "parents": [
        "871ad3630238df1a714d7afbed07388c5859a252"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 21:49:00 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 21:49:00 2015 -0700"
      },
      "message": "Rename DBus definition files\n\nAndroid build system expects DBus definition file name to end\nwith .dbus-xml extension. So rename DBus definition files\nto make it consistent for both platforms.\n\nAlso update the output directory for adaptor headers, so that\nit will be the same on both platforms.\n\nBug: 24164800\nTEST\u003demerge-$BOARD --unmerge apmanager\nTEST\u003dsudo rm -rf /build/$BOARD/var/cache/portage/chromeos-base/apmanager\nTEST\u003demerge-$BOARD apmanager\n\nChange-Id: I808983591d0633fe37b83e54237575419476e2b5\n"
    },
    {
      "commit": "871ad3630238df1a714d7afbed07388c5859a252",
      "tree": "cb8f415933686e1a4de63c270a815ea45522a75d",
      "parents": [
        "9b2ecc45cd5cf99e0ced28d4b522e6dee5b52968"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 14:43:48 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 14:47:30 2015 -0700"
      },
      "message": "Add firewalld implementation for FirewallProxyInterface\n\nThis implementation wiil be used on Android, where permission_broker\ndoesn\u0027t exist.\n\nBug: 23757625\nTEST\u003dManually update apmanager.gyp to compile firewalld_dbus_proxy.cc\n\nChange-Id: I7bf0ee2377bcb89730587ee4ab4c5d8b21badf53\n"
    },
    {
      "commit": "9b2ecc45cd5cf99e0ced28d4b522e6dee5b52968",
      "tree": "141e7049b7063cde2a33f3c0e1cf333b86c84959",
      "parents": [
        "8ca0ef780768bfa7a5f5d9ecdf5e237c5e5e1e51"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 14:37:22 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 17 14:46:22 2015 -0700"
      },
      "message": "Abstract firewall proxy interface\n\nProvide an abstraction for firewall proxy, to allow different proxy\nimplementations. Chrome OS will continue to use the implementation\nbased on permission_broker.\n\nBug: 23757625\nTEST\u003dBuild an image with \"wifi_bootstrapping\" USE flag, boot it up\nTEST\u003don a device. Verify a provisioning AP is up \"Developer xxx\"\nTEST\u003dand a client can connect to it.\n\nChange-Id: I7d902d8741bb12f79b3b1458e114d6305cfb6339\n"
    },
    {
      "commit": "8ca0ef780768bfa7a5f5d9ecdf5e237c5e5e1e51",
      "tree": "f63ddc64b9d4b2536599aba3dd20f4037fd3c957",
      "parents": [
        "d31f2943b8e3960326511f78ab53c40763d3c794"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 10 09:35:39 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 10 09:40:44 2015 -0700"
      },
      "message": "Build apmanager from the new directory path\n\nThe apmanager ebuild recreates the old directory structure placing\napmanager as a subdirectory of platform2 in the build environment.\nThis structure doesn\u0027t match the current location of the code and\nbreaks incremental builds creating symlinks to apmanager in\nplatform2/ and even in the new apmanager directory.\n\nThis patch modifies the .gyp file to reference platform2 sources via\nthe platform2_root gyp variable and builds apmanager from the new\npath. This fixes incremental builds.\n\nFor this change to take effect in Chrome OS, the ebuild file is updated\nin a separated CL.\n\nBug: 23619937\nTEST\u003demerge-$BOARD apmanager; cros_workon_make apmanager\n\nChange-Id: I44d5afd2b47ff6508e98b583a25fd92126484d90\n"
    },
    {
      "commit": "d31f2943b8e3960326511f78ab53c40763d3c794",
      "tree": "fe8e063ad514c7eb190159b7a9e29b82e58114f7",
      "parents": [
        "25c7e10c1977cbd5bf139d50640101aee9d0da22"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 10:45:38 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 11:40:19 2015 -0700"
      },
      "message": "Add PRESUBMIT.cfg to check the right license header\n\nBug: None\nTEST\u003drepo upload . --cbr\n\nChange-Id: I1bfe01124f2dffa1676847f618237f2a487b93ab\n"
    },
    {
      "commit": "25c7e10c1977cbd5bf139d50640101aee9d0da22",
      "tree": "835802bb7582a6738c7c377c56817c49b9c11803",
      "parents": [
        "0c0e9e72a5c6b1b6ef39ccff8b2aced8b3966256"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 09:25:14 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Tue Sep 08 09:33:15 2015 -0700"
      },
      "message": "Generate DBus interfaces for client libraries\n\nThe generated dbus-proxies.h and dbus-proxy-mocks.h are now created by\nby the daemon that exposses the interface, instead of letting the\ndaemon using the interface generate them. This creates then a client\nlibrary that other daemons can use.\n\nThis patch installs these libraries for login_manager, power_manager,\ndebugd, apmanager and shill, and makes all their callers use these\ninterfaces instead of using the xml directly.\n\nThis patch moves the code dependency on the .xml files to an ebuild\ndependency.\n\nThis patch only contains the apmanager changes. The original CL is here:\nhttps://chromium-review.googlesource.com/296026\n\nBUG\u003d23619937\nTEST\u003d./build_packages\n\nChange-Id: I80855787fb22438bcc2e36eede987e8cc0d083e4\n"
    },
    {
      "commit": "0c0e9e72a5c6b1b6ef39ccff8b2aced8b3966256",
      "tree": "a64072779e32e32b5c535b51197fe89ccc5e8781",
      "parents": [
        "326b6cfba5ab73c9e41a7585d1bc95871631122a"
      ],
      "author": {
        "name": "Garret Kelly",
        "email": "gdk@chromium.org",
        "time": "Tue Sep 01 17:28:01 2015 -0400"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Sep 03 15:17:10 2015 -0700"
      },
      "message": "apmanager: rename Device.InUsed to Device.InUse\n\nThis is a grammar nit, but it seems wise to deal with it before there\nare too many clients depending on it.\n\nBUG\u003dnone\nTEST\u003dFEATURES\u003dtest emerge-gizmo apmanager\n\nChange-Id: I94ff5635c2ab878feed5ef91e418cdf1b19cc290\nReviewed-on: https://chromium-review.googlesource.com/296790\nCommit-Ready: Garret Kelly \u003cgdk@chromium.org\u003e\nTested-by: Garret Kelly \u003cgdk@chromium.org\u003e\nReviewed-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "326b6cfba5ab73c9e41a7585d1bc95871631122a",
      "tree": "caf8cd9c30751509297a0dc28861c80ea8d0943c",
      "parents": [
        "e0f57c7a8d28343439a79d58de5cf7eccdcd2a7d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Sep 02 11:11:42 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Sep 02 11:39:18 2015 -0700"
      },
      "message": "Re-license apmanager to Apache2\n\nThis patch automatically replaced the license on all text files from\nChromium OS (BSD style) to AOSP (Apache2), keeping the original year as\na reference.\n\nThe license header was added to .gyp, the NOTICE was replaced with a copy\nof the Apache2 license and MODULE_LICENSE_* file was updated.\n\nBUG\u003d23619937\nTEST\u003dgrep \u0027Chromium OS Authors\u0027 doesn\u0027t find anything.\n\nChange-Id: I4ade0a15ff18ab159d4a2f99525b62c780b13c89\n"
    },
    {
      "commit": "e0f57c7a8d28343439a79d58de5cf7eccdcd2a7d",
      "tree": "e8c18fad0a9ff4f5b8e35c752d506cfede5d612b",
      "parents": [
        "083525f2c010c92dac08630ebcdd4a7998c8deaa"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Sep 02 09:12:26 2015 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Wed Sep 02 09:12:26 2015 -0700"
      },
      "message": "apmanager: initial license file\n\nBUG\u003d23619937\n\nChange-Id: Ice4210a650db1afc4d6f4545663514efa1bfbcc2\n"
    },
    {
      "commit": "083525f2c010c92dac08630ebcdd4a7998c8deaa",
      "tree": "d000f5a595ae279cec742ee2e4de9f83d820c9bf",
      "parents": [
        "84c70e1e92a1c060a460add51a51ae089755b259",
        "063c28415272d8026bfa87416811afe63e8023d3"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Aug 28 10:34:50 2015 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Aug 28 10:35:08 2015 -0700"
      },
      "message": "Merge branch \u0027rewrite-apmanager\u0027 into merge-apmanager\n\nBUG:23620021\n"
    },
    {
      "commit": "84c70e1e92a1c060a460add51a51ae089755b259",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Aug 27 14:30:04 2015 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Aug 27 14:30:04 2015 -0700"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "063c28415272d8026bfa87416811afe63e8023d3",
      "tree": "d000f5a595ae279cec742ee2e4de9f83d820c9bf",
      "parents": [
        "ab53a1f85d1166d8d799e29886a16b1fff5acb6c"
      ],
      "author": {
        "name": "Bertrand SIMONNET",
        "email": "bsimonnet@chromium.org",
        "time": "Thu Aug 13 14:27:05 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Aug 14 03:56:11 2015 +0000"
      },
      "message": "minijail: Create a pkgconfig file for libminijail.\n\nThis allows us to change the import path of libminijail.h easily.\n\nBUG\u003dNone\nTEST\u003d`emerge-gizmo apmanager attestation cromo cros-disks debugd\nlibchromeos lorgnette minijail tpm_manager trunks webserver` works.\n\nCQ-DEPEND\u003dCL:293580\n\nChange-Id: I4b44174ae115a93fb9d4299ca24002f9ad37ba6c\nReviewed-on: https://chromium-review.googlesource.com/293483\nReviewed-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nCommit-Queue: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTrybot-Ready: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\n"
    },
    {
      "commit": "ab53a1f85d1166d8d799e29886a16b1fff5acb6c",
      "tree": "5fbb95ee579073a4cf203edd0e1b6a0e513a1916",
      "parents": [
        "239395699b0d70ba278d49f40d13e15254924ea5"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@google.com",
        "time": "Wed Aug 12 11:53:39 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Aug 13 21:41:02 2015 +0000"
      },
      "message": "apmanager: Make sure apmanager starts after shill\n\nThere were a couple issues with apmanager starting too early,\nbefore even wireless devices have started. In that case,\nno soft AP would be even started. This was fixed to change the\nstartup sequence to launch apmanager only after iptables (since\nthose jobs start only after network-services have started).\n\nThat change fixed a race between apmanager and wifi devices.\n\nHowever another race surfaced between shill and apmanager.\nIn this case, apmanager would add an IP address to wlan0 and then\nshill would start up and remove it.\n\nAdding conditional dependency on shill startup seems to have fixed\nthat race too.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-gizmo apmanager`\nTEST\u003dtested on gizmo to make sure it goes into wifi bootstrapping\n     mode after reboot. Tried 5 times and each time soft AP started\n     correctly and an IP address was assigned to the network interface.\n\nChange-Id: Ic26123683ba9246b15886fb1d035d205eb1723a7\nReviewed-on: https://chromium-review.googlesource.com/293024\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "239395699b0d70ba278d49f40d13e15254924ea5",
      "tree": "7c7009a5d2bde6415e77aa68495078b70055feb8",
      "parents": [
        "e8f589804e615921995c2700016bc071db2e9a3f"
      ],
      "author": {
        "name": "Paul Stewart",
        "email": "pstew@chromium.org",
        "time": "Tue Jul 28 15:12:40 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sun Aug 02 18:28:39 2015 +0000"
      },
      "message": "shill: netlink: Remove libgenl / libnl dependencies\n\nshill no longer depends on libgenl / libnl in any meaningful\nways.  This CL removes the last incidental dependencies and\nremoves the link line for it:\n\n  - Use of nla_total_len / nla_attr_size can be restated\n    trivially using constants from linux/netlink.h.\n  - The NLA_* type values no longer need to match up with\n    libnl, since we don\u0027t use this for policy anymore.\n    The NetlinkAttribute::Type is actually marginally more\n    descriptive.\n  - Remove defunct includes, references and comments.\n\nBUG\u003dchromium:512152\nTEST\u003dUnit tests\n\nChange-Id: I8cb7d28f8382a0cfac0a3fe82acb1736ba321e27\nReviewed-on: https://chromium-review.googlesource.com/289236\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Paul Stewart \u003cpstew@chromium.org\u003e\nTested-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "e8f589804e615921995c2700016bc071db2e9a3f",
      "tree": "ff9ce2f41cf08d1ea5f1daf50fa716f30b38516a",
      "parents": [
        "020e250642dcfc6e26b88b36dcdb382ed0148ce2"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Jun 15 12:53:22 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jun 17 17:34:39 2015 +0000"
      },
      "message": "platform2: Fix issues with new version of libchrome\n\nlibchrome r334380 has the following breaking changes that need to be fixed:\n- base::JSONWriter::Write() and base::JSONWriter::WriteWithOptions() take\n  \"const base::Value\u0026\" instead of \"const base::Value*\"\n- base::JSONReader::Read() and base::JSONReader::ReadAndReturnError()\n  return a scoped_ptr\u003cbase::Value\u003e instead of base::Value*\n- base/safe_strerror_posix.h is moved to base/posix/safe_strerror.h\n- safe_strerror() is now in \"base\" namespace\n- StartsWithASCII(), EndsWith(), StringToUpperASCII(), LowerCaseEqualsASCII()\n  are now in \"base\" namespace\n- ObserverList\u003cT\u003e is now in \"base\" namespace\n- base::PrintTo(base::FilePath) used in gtest is now moved to libchrome-test\n  library and as such, unit test runners need to link to this library now.\n- crypto::RSAPrivateKey::CreateSensitive() is now removed from //crypto, so\n  some of tests in chromeos-login that used that function had to be changed\n  to use crypto::GenerateRSAKeyPairNSS() directly.\n- UnixDomanSocket class is now in \"base\" namespace\n- Pickle class is now in \"base\" namespace\n\nBUG\u003dchromium:496469\nTEST\u003d`./build_packages`\nCQ-DEPEND\u003dCL:277662\n\nChange-Id: I36e5fbf2e36a92068873ffbd44020c862a3ed9e3\nReviewed-on: https://chromium-review.googlesource.com/277671\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "020e250642dcfc6e26b88b36dcdb382ed0148ce2",
      "tree": "5dc16bcecee3e2683d39322a6b8d2c4d725be0e1",
      "parents": [
        "4fe7fa3f7352f9e48f0e9846932699306733d531"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Wed Jun 03 09:38:15 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jun 03 19:46:22 2015 +0000"
      },
      "message": "apmanager: make sure cfg80211 is loaded before starting\n\napmanager depends on cfg80211 for communication with WiFi device,\nso make sure it is loaded before starting.\n\nBUG\u003dbrillo:1168\nTEST\u003dstart apmanager without error when cfg80211 is not loaded\n\nChange-Id: I6fbcdd47d15fc367a7cfdc05bcbc1015199be102\nReviewed-on: https://chromium-review.googlesource.com/274966\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "4fe7fa3f7352f9e48f0e9846932699306733d531",
      "tree": "bc09de6dd897095fbedd7efd8176b5a598f2501c",
      "parents": [
        "b56e3cd2f83069af61d43de974c82b0e278b2f99"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue May 26 12:50:08 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed May 27 21:30:28 2015 +0000"
      },
      "message": "apmanager: update seccomp filter file to support dnsmasq 2.72\n\nThe updated dnsmasq (version 2.72) uses additional system call\n(writev). So add this syscall to the seccomp filter file for each\nplatform.\n\nBUG\u003dbrillo:1122\nTEST\u003dVerify IP connectivity with AP service started using apmanager\n\nChange-Id: I1c2079138364baccec8c5bc95d6fad37ccd48dfa\nReviewed-on: https://chromium-review.googlesource.com/273320\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "b56e3cd2f83069af61d43de974c82b0e278b2f99",
      "tree": "1d95aa7a002e466d2d041f4b44a92020c70b41ff",
      "parents": [
        "74cfdc9a3fb1a1052512971b9c48f5fb5fd9e5fc"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Fri Apr 24 18:09:32 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Apr 29 01:49:26 2015 +0000"
      },
      "message": "libchromeos: Replace scoped_ptr with std::unique_ptr in D-Bus method handlers\n\nChanged callbacks to use std::unique_ptr in D-Bus method handlers instead of\nscoped_ptr, now that we can do this with base::Callback.\nThis eliminates the need to mix scoped_ptr and std::unique_ptr in the same\ntranslation unit.\n\nSweep the code in the rest of platform2 that used libchromeos\u0027s D-Bus framework.\n\nBUG\u003dNone\nTEST\u003d`FEATURES\u003dtest emerge-link libchromeos apmanager attestation buffet chromeos-dbus-bindings`\n\nChange-Id: I50289198ef9ab183d5bc7d0c8cc7a8f53085e5a4\nReviewed-on: https://chromium-review.googlesource.com/267337\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "74cfdc9a3fb1a1052512971b9c48f5fb5fd9e5fc",
      "tree": "ac99fa408a9c6d93dac8d319852374cb9679db7c",
      "parents": [
        "1883cf201e37692567558f8868c956537a4887e7"
      ],
      "author": {
        "name": "Nathan Bullock",
        "email": "nathanbullock@google.com",
        "time": "Mon Apr 13 10:39:50 2015 -0400"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Apr 13 21:31:52 2015 +0000"
      },
      "message": "shill: Pass groups to RtnlHandler.Start\n\nAllow clients of the RtnlHandler to explicitly define which groups\nthey want to listen to. This will allow more flexibility in the clients\nwithout causing everyone to have to listen to all groups.\n\nBUG\u003dnone\nTEST\u003dFEATURES\u003dtest emerge-$BOARD apmanager shill\n\nChange-Id: I2682f6bcfda3a50dade2d1a2b34a2bc1254d7fde\nReviewed-on: https://chromium-review.googlesource.com/265460\nReviewed-by: Nathan Bullock \u003cnathanbullock@google.com\u003e\nCommit-Queue: Nathan Bullock \u003cnathanbullock@google.com\u003e\nTested-by: Nathan Bullock \u003cnathanbullock@google.com\u003e\n"
    },
    {
      "commit": "1883cf201e37692567558f8868c956537a4887e7",
      "tree": "41ee8d762e7864ec8b295d550f78ee33078134ad",
      "parents": [
        "7f267ab51daeda0fb685587953bd494de0226303"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Thu Apr 09 10:06:31 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Apr 10 05:47:29 2015 +0000"
      },
      "message": "Use PLOG instead of LOG with strerror()\n\nThis patch replaces \"LOG() \u003c\u003c ... \u003c\u003c strerror(errno)\" by \"PLOG() \u003c\u003c ...\"\nwhen possible, which provides equivalent functionality.\n\nBUG\u003dNone\nTEST\u003dcbuildbot amd64-generic-full\n\nChange-Id: I760689818a3647efa980c96305a0bc8cf0bb4ac0\nReviewed-on: https://chromium-review.googlesource.com/264834\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "7f267ab51daeda0fb685587953bd494de0226303",
      "tree": "524e596986322f4c7366f7fb89bdc1ec0ba3cbaf",
      "parents": [
        "9d7a0e8d2d6470c1818e1a75dac7d8a3fc65afe8"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Apr 02 14:31:10 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Apr 03 18:33:17 2015 +0000"
      },
      "message": "platform2: Explicitly use base:: namespace with CommandLine\n\nThe current revision of libchrome is removing CommandLine class\nfrom global namespace and only retain the one in base::.\n\nSweep the code to use the correct namespace in anticpation of\nlibchrome revision roll.\n\nBUG\u003dNone\nTEST\u003d./build_packages\n\nChange-Id: Ib7ca448dac1204c1e36ab053e775a5a5214997ac\nReviewed-on: https://chromium-review.googlesource.com/263785\nTrybot-Ready: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "9d7a0e8d2d6470c1818e1a75dac7d8a3fc65afe8",
      "tree": "b19aaf3931d30c208f6b6d9d35a92666b32c6a84",
      "parents": [
        "83ab56def8eb9aa46a13545c94e63ab4f7fa06ff"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Wed Mar 25 15:42:50 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Mar 26 17:30:41 2015 +0000"
      },
      "message": "apmanager: seccomp file for MIPS platform\n\nBUG\u003dchromium:466013\nTEST\u003dStart an AP using apmanager on a MIPS board (mBuB), and verify\n     a wifi client can connect to it with IP connectivity.\n\nChange-Id: I87d1a4145a887d47cc8ee6389f627ad0945d9c6a\nReviewed-on: https://chromium-review.googlesource.com/262454\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "83ab56def8eb9aa46a13545c94e63ab4f7fa06ff",
      "tree": "3dbce3806d674e88784148db799e1d4b4a586e10",
      "parents": [
        "0ca183b004fbf56973ae82a59d776752ffa17ab0"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Sat Mar 14 02:04:48 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Mar 18 00:49:41 2015 +0000"
      },
      "message": "privetd: Remove context\u003d\"default\" deny rule\n\nThe default D-Bus policy is to deny method calls, but allow signals and\nreplies.\n\nAdding clauses to block messages sent to a daemon has the perverse side\neffect of blocking signals and message replies unless explicitly noted\notherwise in the firewall config.\n\nThis breaks certain interfaces, for instance, the signals that make\nobject manager and property interfaces work.\n\nBUG\u003dbrillo:571,brillo:572\nTEST\u003dmanual, register device using privet and check is privet/info has\n     \"online\" in gcd.status.\n\nChange-Id: I82604ef2b755fda28d8e54984f67380072fb3aa3\nReviewed-on: https://chromium-review.googlesource.com/260301\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Christopher Wiley \u003cwiley@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "0ca183b004fbf56973ae82a59d776752ffa17ab0",
      "tree": "1652e4c3c009961111c4f59d4d6c65faf98ec578",
      "parents": [
        "fd02b6fcd17a7e8275a96e481f96f7e8517cc549"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Mon Mar 09 13:41:06 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Mar 16 18:12:11 2015 +0000"
      },
      "message": "apmanager: configurable device control for AP service\n\nAdd a Config property \"FullDeviceControl\" for controlling the wifi device\nwhen starting an AP service on it. This property is set to true by default.\n\nWhen it is set to true, apmanager will claim all interfaces resided on the\nwifi device used for starting an AP service.\n\nWhen it is set to false, apmanager will only claim the actual interface on\nthe wifi device used for starting an AP service. This will allow shill to\nmaintain the control of the managed mode interface when an AP service is\nstarted on the same wifi device, which will allow the wifi device to support\nboth client mode and AP mode operation simultaneously (when dedicated interfaces\nare created for each operation mode by the driver).\n\nBUG\u003dbrillo:541\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\nManual Test:\n1. Grab a peach_pit device, which supports both client mode and AP\n   mode operation simultaneously with constraint of both needs to\n   operate on the same channel.\n2. Start an AP service with default settings, verify shill is not\n   managing the managed mode interface \"mlan0\" anymore via\n   \"./usr/local/lib/flimflam/test/list-devices\".\n3. Tear down the AP service, and then connect the device to a wifi\n   network (\"ChromeOS-Test-AP\").\n4. Start an AP service with \"FullDeviceControl\" set to false and\n   \"Channel\" set to the same channel number as the client connection,\n   verify shill is still in control of the managed mode interface\n   \"mlan0\" via \"./usr/local/lib/flimflam/test/list-devices\" and \"ifconfig\".\n5. Verify another client device can connect to that AP with IP connectivity.\n\nChange-Id: I71f58e4b50b3a8f92f1be339157850c37772e29a\nReviewed-on: https://chromium-review.googlesource.com/257611\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "fd02b6fcd17a7e8275a96e481f96f7e8517cc549",
      "tree": "21c3ec67a0a5c27de5be4cad4f2e016f192f03e5",
      "parents": [
        "943cf3a0afdad2cc6bea02b181f09e6ff23df628"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Feb 27 09:55:11 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Feb 27 22:24:21 2015 +0000"
      },
      "message": "apmanager: remove the AP service when its owner disappeared\n\nThis prevents AP services from becoming orphans when their respective\nowner crashed.\n\nBUG\u003dbrillo:398\nTEST\u003dRun apmanager_CheckAPProcesses and privetd_BasicDBusAPI test\nManual Test:\n1. Start an AP service with privetd\n2. Simulate privetd crash using SIGKILL signal\n3. Verify the AP service is terminated\n\nChange-Id: I191a3651dd9cc8cc0a3607cea60448417310f991\nReviewed-on: https://chromium-review.googlesource.com/254608\nReviewed-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "943cf3a0afdad2cc6bea02b181f09e6ff23df628",
      "tree": "826b3fd29a09d5df2cdfe955bd5e612c398d8389",
      "parents": [
        "310966665c47886033c8267ddcbed2bf164daf6d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Feb 24 10:59:17 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Feb 26 02:03:33 2015 +0000"
      },
      "message": "apmanager: add DHCP firewall rule per interface basis\n\nWith the recent update in permission_broker to allow firewall rules per\ninterface basis, update apmanager to dynamically request/release DHCP\nport access when an AP service is started/terminated. And only request\nthe port access for the interface that AP service is running on.\n\nBUG\u003dchromium:450408\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\n     Run security_Firewall test\nManual Test:\n1. Use \"iptables -S\" command to verify no firewall rule is added\n   for port 67 when AP service is not started.\n2. Start an AP service, verify firewall rule for port 67 is added\n   for the wifi interface (wlan0 for wolf device) and client can\n   connect to it with IP connectivity.\n3. Stop the AP service, verify firewall rule for port 67 is deleted.\nCQ-DEPEND\u003dCL:252931\n\nChange-Id: If7a5150d224ff1a5085b5e8032a162e8ca07c545\nReviewed-on: https://chromium-review.googlesource.com/252941\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "310966665c47886033c8267ddcbed2bf164daf6d",
      "tree": "20b3138caa77575cb66a3b0254c889fe2db80df3",
      "parents": [
        "02f60b32590a5bac2044a4edad27ebaf568c2bbd"
      ],
      "author": {
        "name": "Samuel Tan",
        "email": "samueltan@chromium.org",
        "time": "Wed Feb 04 14:44:10 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sun Feb 15 00:23:21 2015 +0000"
      },
      "message": "shill: make netlink message creation context-dependent\n\nProvide shill with context when it parses netlink messages received in\nNetlinkManager::OnNlMessageReceived using NetlinkMessageFactory::CreateMessage.\nDo this by inferring a NetlinkMessage::MessageContext in NetlinkManager\nimmediately after receiving the message, and then passing this context along\nto NetlinkMessageFactory::CreateMessage and any subsequent functions it invokes\nthat might use this context to decide how to parse the message.\n\nIn this CL, we pass this context through to the Nl80211AttributeWowlanTriggers\nconstructor, which can use this context to decide how to parse the\nNL80211_WOWLAN_TRIG_PKT_PATTERN attribute.\n\nIn order to reduce the size and impact of this change,\nNetlinkMessage::MessageContext is not passed to functions that do not use it.\nIn the future, function signatures can be modified to accept a MessageContext\n(and new members can be added to the MessageContext struct) if it is required\nto properly parse a netlink messages/attributes.\n\nBUG\u003dchromium:455435\nTEST\u003dCompile shill and run unit tests.\n\nChange-Id: Ib8858a57ec366408dcf5e6211007c8680e45a7f1\nReviewed-on: https://chromium-review.googlesource.com/246364\nReviewed-by: Samuel Tan \u003csamueltan@chromium.org\u003e\nTested-by: Samuel Tan \u003csamueltan@chromium.org\u003e\nCommit-Queue: Samuel Tan \u003csamueltan@chromium.org\u003e\n"
    },
    {
      "commit": "02f60b32590a5bac2044a4edad27ebaf568c2bbd",
      "tree": "0bd3bb4acc11a0475e4243833dd40f7320e50b34",
      "parents": [
        "1810c01237329106f339ac4bdf6baa58efa76917"
      ],
      "author": {
        "name": "Jorge Lucangeli Obes",
        "email": "jorgelo@chromium.org",
        "time": "Wed Feb 11 15:56:35 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Feb 14 08:33:29 2015 +0000"
      },
      "message": "permission_broker, apmanager: Support specific interfaces.\n\nBUG\u003dbrillo:185\nTEST\u003dUnit tests pass.\nTEST\u003dplatform_Firewall passes.\nCQ-DEPEND\u003dCL:249651\n\nChange-Id: Ib6170f9d348eae43fbdc1fa908c67fb3d7cfbc3d\nReviewed-on: https://chromium-review.googlesource.com/249622\nTested-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nReviewed-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\n"
    },
    {
      "commit": "1810c01237329106f339ac4bdf6baa58efa76917",
      "tree": "7042c0d923e67b1ae26fffab8fd07b093c35093d",
      "parents": [
        "e26578570050855a533c4df6e2b0e7c979964e5a"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Thu Feb 05 14:35:41 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Tue Feb 10 23:07:24 2015 +0000"
      },
      "message": "apmanager: add firewall rules during run time\n\nUse permission_broker to add firewall rules when apmanager starts.\nAlso remove the temporary hack in webservd upstart script for\nadding firewall rules on behalf of apmanager.\n\nBUG\u003dchromium:450408\nTEST\u003dVerify firewall rule for UDP port 67 (DHCP port) is added\n     when apmanager starts, and removed after apmanager is\n     terminated.\n     Run security_Firewall autotest.\nCQ-DEPEND\u003dCL:246272,CL:247141,CL:247210\n\nChange-Id: I4b25dc753a12ff91ed68d712f096ed570e635ad8\nReviewed-on: https://chromium-review.googlesource.com/246699\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "e26578570050855a533c4df6e2b0e7c979964e5a",
      "tree": "a1f13dd950997ba6efef3277dceb756ead506c84",
      "parents": [
        "741a206499e5599bd6349ff33cdba826864330ba"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Feb 03 11:33:11 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Feb 04 01:05:39 2015 +0000"
      },
      "message": "apmanager: expose service state through DBus\n\nUpdate AP service state based on the input from hostapd monitor.\nWe assume hostapd failed to start when the hostapd control interface\ndoes not get created within a reasonable time, and it is started\nonce the control interface is detected.\n\nWhile there, update the HostapdMonitor to use WeakPtr for the tasks\nthat it will post, so those tasks won\u0027t run after HostapdMonitor is\ndestructed.\n\nBUG\u003dchromium:454863\nTEST\u003dRun apmanager_CheckAPProcesses\nManual Test:\n1. Start an AP service\n2. Verify AP service is in \"Started\" state using dbus-send command.\n3. Stop the AP service, verify it is in \"Idle\" state using dbus-send\n   command.\n\nChange-Id: Id6e22e9e15cd8ef815cc81ef6ae8a00e066b958b\nReviewed-on: https://chromium-review.googlesource.com/245830\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "741a206499e5599bd6349ff33cdba826864330ba",
      "tree": "a9146a333b95904777779789aa3bb8893e3cc9f2",
      "parents": [
        "e9d77fb5ff9349c95b06c38a7011629a70f6bb55"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Jan 30 16:01:27 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Mon Feb 02 21:15:03 2015 +0000"
      },
      "message": "shill: add passive mode support\n\nAdd a command line option to enable passive-mode.  When this option\nis enabled, shill will not manage any devices by default.  Remote\napplication can specify the devices for shill to manage through\norg.chromium.flimflam.Manager::ReleaseInterface/ClaimInterface APIs.\nAll devices claims will go through the default device claimer, with\nclaimer name of empty string (\"\").\n\nWhile there, update the ReleaseInterface API to also take claimer\nname as an argument, so that the claimer name will be check before\nreleasing a device. This is to avoid devices being released by\nother unknown claimers.\n\nBUG\u003dchromium:454007\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD shill apmanager\nManual Test:\n1. Start shill with passive mode enabled, verify\n   \"/usr/local/lib/flimflam/list-device\" does not return any device.\n2. Use dbus-send command to release \"eth0\" device from default\n   claimer, and verify \"/usr/local/lib/flimflam/list-device\"\n   does return eth0 device.\n3. Use dbus-send command to claim \"eth0\" device from default claimer,\n   and verify \"/usr/local/lib/flimflam/list-device\" does not return\n   any device.\n4. Regression test with apmanager.\n\nChange-Id: I2b79a13e8aea0d07e9d7923ba3c26adb19237e1a\nReviewed-on: https://chromium-review.googlesource.com/245123\nReviewed-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\n"
    },
    {
      "commit": "e9d77fb5ff9349c95b06c38a7011629a70f6bb55",
      "tree": "92d6693fa77ab4560ae464a95ec751a332f734bb",
      "parents": [
        "fda548ca8f0b29834a37b83e836f4ccc3268fa1d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Wed Jan 14 14:32:53 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Thu Jan 15 02:18:51 2015 +0000"
      },
      "message": "shill: create Sockets object in RTNLHandler\n\nCreate and maintain Sockets object in RTNLHandler to prevent the\npossibility of Sockets object being destructed before RTNLHandler.\n\nBUG\u003dchromium:448823\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD shill apmanager\n         Verify we still have network connectivity through shill\n         Verify apmanager doesn\u0027t seg fault when exiting\n\nChange-Id: I3a60068718ba6c547cef1437aa1fec22bd27e3eb\nReviewed-on: https://chromium-review.googlesource.com/240801\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "fda548ca8f0b29834a37b83e836f4ccc3268fa1d",
      "tree": "b843561fee7a41a1d7359a75350474692e4d4317",
      "parents": [
        "bfd410e07ef8e783a2a2aca9fa4480d20e955d16"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Jan 13 14:39:19 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jan 14 23:13:15 2015 +0000"
      },
      "message": "apmanager: monitor events from hostapd control interface\n\nMonitor hostapd control interface for unsolicited event notifications,\nsuch as station connect and disconnect events.\n\nBUG\u003dchromium:431759\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\nManual Test:\n1. Setup an AP service using apmanager.\n2. Connect a client to the AP, verify that \"Station connected\" message is\n   in \"/var/log/message\".\n3. Disconnect the client from the AP, verify that \"Station disconnect\"\n   message is in \"/var/log/message\".\n\nChange-Id: I7410411c43db9670d7ae5e4cf4f9d83a2a2c6337\nReviewed-on: https://chromium-review.googlesource.com/240548\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "bfd410e07ef8e783a2a2aca9fa4480d20e955d16",
      "tree": "80b74ad65e535448da723c28301af5fd781195e4",
      "parents": [
        "1dbf9fdfef00d80e151d13e5a4ff016f9d916ad7"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Jan 09 15:14:20 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jan 14 03:13:50 2015 +0000"
      },
      "message": "apmanager: specify control interface path for hostapd\n\nConfigure control interface path for hostapd. This allows the apmanager\ndaemon to communicate with hostapd through the control interface, mainly\nfor event notifications.\n\nAlso added EventDispatcher class for dispatching tasks to the current message\nloop, and uses MockEventDispatcher for unittests.\n\nBUG\u003dchromium:431759\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\nManual Test:\n1. Start AP service on x86 (x86-alex), amd64 (stumpy), and arm (peach_pit)\n   platforms, verify control interface file is created for the network\n   interface that\u0027s used for hostapd. For example,\n   \"/var/run/apmanager/hostapd/ctrl_iface/uap0\"\n\nChange-Id: Id4567021ca0b5ec4cb9d7804583cc6b88379a74f\nReviewed-on: https://chromium-review.googlesource.com/240031\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "1dbf9fdfef00d80e151d13e5a4ff016f9d916ad7",
      "tree": "7b4dca41f42beaae2e6a9dca11450b234fe58585",
      "parents": [
        "775173013ee886be244417eba0a3b302c4da11e0"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Jan 09 13:36:55 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jan 14 03:13:41 2015 +0000"
      },
      "message": "apmanager: add ProcessFactory for better unittesting\n\nUse ProcessMock instead of real process when starting hostapd and\ndnsmasq during unittest.\n\nBUG\u003dchromium:431759\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\n     Start AP service using apmanager and verify client can connect\n     to it.\n\nChange-Id: Ifea32a2dd08247db9ea4306ecef5947b305a3c8d\nReviewed-on: https://chromium-review.googlesource.com/239975\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "775173013ee886be244417eba0a3b302c4da11e0",
      "tree": "0100e40c08b47effc527c235a58404d240c63771",
      "parents": [
        "58676b65cea23a831d032639e5cbfd350d58ff6a"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Thu Jan 08 16:22:16 2015 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Sat Jan 10 00:51:07 2015 +0000"
      },
      "message": "apmanager: store config files under /var/run/apmanager\n\nThis prevents non-root/apmanager users from modifying the files generated\nby apmanager.\n\nAlso add a wrapper class for base::WriteFile to prevent any file writes\nduring unittest.\n\nBUG\u003dchromium:446679\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD apmanager\n     Start an AP service using apmanager, verify hostapd and dhcp server\n     config files are store in \"/var/run/apmanager/hostapd\" and\n     \"/var/run/apmanager/dnsmasq\" respectively.\n\nChange-Id: I2bf2d34a8c95c9493f2cf5d5eb4895fefcdae8dc\nReviewed-on: https://chromium-review.googlesource.com/239632\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "58676b65cea23a831d032639e5cbfd350d58ff6a",
      "tree": "c77796952be26531d0e567556de96e0e8b2522a8",
      "parents": [
        "488af93414a875577cf7f2f24dafdce9e7973d06"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Tue Dec 16 16:47:12 2014 -0800"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Wed Jan 07 19:44:21 2015 +0000"
      },
      "message": "apmanager: run daemon inside minijail\n\nRun apmanager inside a minijail with limited privileges and system calls\nthrough seccomp filter.\n\nBUG\u003dchromium:442186\nTEST\u003dVerify AP services with client connectiviy on arm (peach_pit),\n     x86 (x86-alex), and amd64 (stumpy) platforms.\nCQ-DEPEND\u003dCL:236097\n\nChange-Id: I10b2b0c6943cad134028894505d54e2ca4993a26\nReviewed-on: https://chromium-review.googlesource.com/236098\nTested-by: Zeping Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Jorge Lucangeli Obes \u003cjorgelo@chromium.org\u003e\nCommit-Queue: Zeping Qiu \u003czqiu@chromium.org\u003e\nTrybot-Ready: Zeping Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "488af93414a875577cf7f2f24dafdce9e7973d06",
      "tree": "71b0eb29347a6ea5689bf15691c21d0039b1065d",
      "parents": [
        "4b3222eae092e7be6d9e9d3b6eb1e23d546bafa7"
      ],
      "author": {
        "name": "Thieu Le",
        "email": "thieule@chromium.org",
        "time": "Tue Dec 23 01:17:05 2014 +0000"
      },
      "committer": {
        "name": "Thieu Le",
        "email": "thieule@chromium.org",
        "time": "Tue Dec 23 01:25:00 2014 +0000"
      },
      "message": "Revert \"apmanager: add firewall rule to allow dhcp traffics\"\n\nThis reverts commit 1d974a1da8e21d32baee5397cca45d48073d6bb7.\n\nx86-generic incremental is broken:\n\nhttp://build.chromium.org/p/chromiumos/builders/x86-generic%20incremental/builds/21817\n\nChange-Id: I7c2c5ad0bd12ee61c65c351e116804198c8c8d01\nReviewed-on: https://chromium-review.googlesource.com/237309\nReviewed-by: Steve Fung \u003cstevefung@chromium.org\u003e\nTested-by: Steve Fung \u003cstevefung@chromium.org\u003e\nTested-by: Thieu Le \u003cthieule@chromium.org\u003e\n"
    },
    {
      "commit": "4b3222eae092e7be6d9e9d3b6eb1e23d546bafa7",
      "tree": "cac80f6444b16003fceadc421dd9c92f5813abc9",
      "parents": [
        "1d047e7719ad36c8f0311780045f29654f0de275"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Thu Dec 18 14:15:46 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Sat Dec 20 01:28:36 2014 +0000"
      },
      "message": "apmanager: add firewall rule to allow dhcp traffics\n\nFirewall rule needed in order for dnsmasq to receive DHCP traffics.\n\nBUG\u003dchromium:443770\nTEST\u003dStart an AP using apmanager on a chrome device,\n     verify wifi clients can connect to it with an IP address.\nCQ-DEPEND\u003dCL:236752\n\nChange-Id: Ifc2b1672a7f025d800a1664002cbc84df2d6e9ce\nReviewed-on: https://chromium-review.googlesource.com/236654\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "1d047e7719ad36c8f0311780045f29654f0de275",
      "tree": "71b0eb29347a6ea5689bf15691c21d0039b1065d",
      "parents": [
        "e7a8bc56205d9d3611c5dd994bcc87aee7552ec5"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Sun Dec 14 20:14:01 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Dec 15 22:45:47 2014 +0000"
      },
      "message": "apmanager: add init script\n\nAdd init script to start apmanager daemon during system startup.\n\nBUG\u003dchromium:442188\nTEST\u003demerge-$BOARD apmanager and manually verify apmanager daemon is\n     running after system is restarted.\nCQ-DEPEND\u003dCL:235643\n\nChange-Id: Ic6bb018fc41031701cb5f360e2c1c9e37ffe360e\nReviewed-on: https://chromium-review.googlesource.com/235644\nReviewed-by: Peter Qiu \u003czqiu@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "e7a8bc56205d9d3611c5dd994bcc87aee7552ec5",
      "tree": "b4fc2982346e340d1d5f2262dc730f073ed4a8fc",
      "parents": [
        "44f6accb9a3fc2055901399dfb081d164947bece"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Wed Dec 10 12:52:31 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Dec 15 07:18:09 2014 +0000"
      },
      "message": "Update libchrome to r307740 and fix build errors\n\nUpdated libchrome, libchrome_crypto, metrics, feedback to the\nlatest revisions from Chrome (r307740).\n\nFixed build breaks due to the changes in upstream code:\n\n- scope_ptr no longer needs explicit PassAs\u003cT\u003e() calls.\n- scope_ptr\u003cT\u003e no longer has implicit conversion to T*.\n  Must use scope_ptr\u003cT\u003e::get() instead.\n- base/file_util.h moved to base/files/file_util.h\n- ARRAYSIZE_UNSAFE() removed in favor of arraysize()\n- base::AppendToFile() and base::WriteFileDescriptor() now\n  return bool instead of the number of bytes written.\n- dbus::Bus::AddFilterFunction() now returns void.\n- C++11 features are enabled in libchromeos, so all targets\n  linking with it now have to support C++11\n- OVERRIDE macro is removed in favor of native C++11\n  \u0027override\u0027 keyword.\n\nBUG\u003dchromium:416628, chromium:411508\nTEST\u003dBuild the world on x86, x64, ARM. The following builders\n     were tried:\n       x86-generic-full amd64-generic-full arm-generic-full\n       amd64-generic-asan daisy-full nyan-full pre-cq-group\n       daisy-release-group sandybridge-release-group\n       pineview-release-group\nCQ-DEPEND\u003dCL:234450,CL:234980\n\nChange-Id: I374bebe2211d533c4431c82efb8be1cdcb1f405d\nReviewed-on: https://chromium-review.googlesource.com/234440\nReviewed-by: Bertrand Simonnet \u003cbsimonnet@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "44f6accb9a3fc2055901399dfb081d164947bece",
      "tree": "ffd938c49ab1caae047b8a9f2ff7ece5212acb1e",
      "parents": [
        "4ef673299a2e8c2b279e7f227ae9b45588ce3650"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Fri Dec 12 00:39:50 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 23:15:07 2014 +0000"
      },
      "message": "apmanager: Grant apmanager group permission to send to org.chromium.apmanager.\n\nAllows access control with group membership.\nprivetd will be put into the group in following CLs.\n\nBUG\u003dchromium:441172\nTEST\u003dnone, only apmanager is member of the group yet.\n\nChange-Id: I9a2eefb281de69c1d8361cf15ff966f9b3b35718\nReviewed-on: https://chromium-review.googlesource.com/234904\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTrybot-Ready: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "4ef673299a2e8c2b279e7f227ae9b45588ce3650",
      "tree": "0f2425a803733db72cfc28fb3750f7eb1b734cec",
      "parents": [
        "5f73946d6bd9b3e461b8829ba747d05b81056c7f"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Fri Dec 12 08:46:10 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 23:14:54 2014 +0000"
      },
      "message": "shill: remove libshill-net-test library\n\nMock classes for libshill-net will exported through their respective\nheader files, so no need for the test library.\n\nBUG\u003dchromium:440637\nTEST\u003dUSE\u003d\"asan clang\" FEATURES\u003dtest emerge-$BOARD shill apmanager\nCQ-DEPEND\u003dCL:234990\n\nChange-Id: I03b828384e8e02661e6fc597126ec60c878baccf\nReviewed-on: https://chromium-review.googlesource.com/234991\nTrybot-Ready: Peter Qiu \u003czqiu@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Mike Frysinger \u003cvapier@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "5f73946d6bd9b3e461b8829ba747d05b81056c7f",
      "tree": "5bc869a68c614b55b0146cce02e1496447544b2f",
      "parents": [
        "267fff391dc2f3b37ec360ccbaf35849feb3f42a"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Thu Dec 11 00:20:49 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 21:37:54 2014 +0000"
      },
      "message": "privetd: Build apmanager DBus bindings for privetd.\n\ngenerate-dbus-proxies.gypi generates proxies header files from\napmanager/dbus_bindings/org.chromium.apmanager.*.xml files.\n\ndbus-service-config.json is used by generator to get service name and\nobject manager path.\n\nBUG\u003dchromium:441172\nTEST\u003dFEATURES\u003dtest emerge-link privetd\n\nChange-Id: Ia71ecbc22582332328e4e13f9e04cb422afc2d45\nReviewed-on: https://chromium-review.googlesource.com/234660\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTrybot-Ready: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    },
    {
      "commit": "267fff391dc2f3b37ec360ccbaf35849feb3f42a",
      "tree": "d01dd240de1eb0760d7af47c31add8cf8bca9547",
      "parents": [
        "a46309227e339e48d842ea29501a19e3015dbc1d"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@chromium.org",
        "time": "Wed Dec 10 14:01:58 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 16:51:49 2014 +0000"
      },
      "message": "apmanager: claim interfaces when shill appears\n\nIn the case of shill starts or restarts after apmanager had claim\ninterfaces, apmanager needs to claim those interfaces from the\nnew shill instance.\n\nBUG\u003dchromium:435704\nTEST\u003dUSE\u003d\"asan clang\" emerge-$BOARD apmanager\nManual Test:\n1. Start an AP service on a Marvell based device (glimmer with Marvell chip)\n2. Verify mlan0 is not own by shill anymore by executing\n   \"./usr/local/lib/flimflam/list-devices\n3. Restart shill with \"restart shill\"\n4. And verify mlan0 is still no own by shill\n5. Termintate the AP service, and verify mlan0 is own by shill\n\nChange-Id: I12f9fde8de6d527c95901e334337fcd97a634993\nReviewed-on: https://chromium-review.googlesource.com/234459\nTrybot-Ready: Peter Qiu \u003czqiu@chromium.org\u003e\nTested-by: Peter Qiu \u003czqiu@chromium.org\u003e\nReviewed-by: Paul Stewart \u003cpstew@chromium.org\u003e\nCommit-Queue: Peter Qiu \u003czqiu@chromium.org\u003e\n"
    },
    {
      "commit": "a46309227e339e48d842ea29501a19e3015dbc1d",
      "tree": "d4a2cdc2e7f71eeb98487118bfdee458b2b521f3",
      "parents": [
        "6830329bbf93755d9a9f73577a8087e51b99e6b0"
      ],
      "author": {
        "name": "Vitaly Buka",
        "email": "vitalybuka@chromium.org",
        "time": "Thu Dec 11 18:46:46 2014 -0800"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Dec 12 08:40:18 2014 +0000"
      },
      "message": "apmanager: Fixed dbus paths for consistency with buffet and peerd.\n\nAll dbus paths moved from from \"/\" to \"/org/chromium/apmanager/\" for consistency\nwith other components.\n\n\"name\" in org.chromium.apmanager.Manager set to /org/chromium/apmanager/Manager.\nThis allow to skip object path creating proxy.\n\n\"name\" removed from following interfaces as object paths generated in run time:\n    org.chromium.apmanager.Config.xml\n    org.chromium.apmanager.Device.xml\n    org.chromium.apmanager.Service.xml\n\nFixed xmlns:tp URI.\n\nBUG\u003dchromium:441172\nTEST\u003dFEATURES\u003dtest emerge-link apmanager\n\nChange-Id: I62e7394a11b1b925776e9cce7ab768d5f9802650\nReviewed-on: https://chromium-review.googlesource.com/234661\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nCommit-Queue: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTrybot-Ready: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\nTested-by: Vitaly Buka \u003cvitalybuka@chromium.org\u003e\n"
    }
  ],
  "next": "6830329bbf93755d9a9f73577a8087e51b99e6b0"
}
