)]}'
{
  "log": [
    {
      "commit": "a1e6bc864fb821c1b470b7aad9b75c441f54eeb4",
      "tree": "2f88b2cf7e3b5005942093c6139e6e427e1abfda",
      "parents": [
        "ada17246d300f7ab9f57a7adfec4f750f209226c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:41:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:43:19 2010 -0700"
      },
      "message": "added BinderService\u003c\u003e template to help creating native binder services\n\nChange-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe\n"
    },
    {
      "commit": "81bac09fa6b01dd1495644d9c825c3666762fced",
      "tree": "346e826932eef1b4402dfa98796075e63d3c90e8",
      "parents": [
        "e1ea0811de760256cee3b1ffca227251e1cf52c5"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 17:59:35 2010 -0700"
      },
      "message": "move native services under services/\n\nmoved surfaceflinger, audioflinger, cameraservice\n\nall native services should now reside in this location.\n\nChange-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8\n"
    },
    {
      "commit": "6efed6c20ea6028c972acc3936d421fef646f815",
      "tree": "0d121d311a94000b66f0c0d9281af2bd0a557b5f",
      "parents": [
        "ab02873e8f4e235b0db800521dd0c969ed38c0b9"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Mar 17 16:31:20 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Mar 17 16:31:20 2010 +0800"
      },
      "message": "keystore: rephrase the comment to make the usage more clear.\n\nChange-Id: I529ca7ed443060089c95fe96dd230288be4b6c96\n"
    },
    {
      "commit": "5bf4691382de5bdb2a212fefda9d6c99086bb5ec",
      "tree": "ac4066fd4b8a7e45d6effbdf6b52de108dbea584",
      "parents": [
        "ca2dc3c8048eb9af2abfa5ee94e9eb370e1db17b",
        "e3bc02347197a49aa061084073bde9fbea90cb80"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Mar 08 17:50:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 08 17:50:56 2010 -0800"
      },
      "message": "Merge \"keystore: add AID_ROOT into the user table.\""
    },
    {
      "commit": "e3bc02347197a49aa061084073bde9fbea90cb80",
      "tree": "cf33c9b0c85e98c1688ee40f78c9387298f1f119",
      "parents": [
        "eb8e5e45f83519277aecb49556a39e4970cc469a"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Mar 09 09:41:32 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Mar 09 09:44:07 2010 +0800"
      },
      "message": "keystore: add AID_ROOT into the user table.\n\nChange-Id: I4b9cf24d75ca79583d7913bbb2c33745a2316cde\n"
    },
    {
      "commit": "0755483539d97cbf4b78e3a756302994d81f09a9",
      "tree": "996e417f3e082f3a63d6c103ad2aac4dacd5cc26",
      "parents": [
        "eb8e5e45f83519277aecb49556a39e4970cc469a"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Mar 08 17:21:35 2010 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Mar 08 17:21:35 2010 +0800"
      },
      "message": "keystore: allow \u0027\\0\u0027s in keys and add guards for cplusplus.\n\nChange-Id: I0af6ed7c5d51ce4ca39cb837e475942800cf6e2d\n"
    },
    {
      "commit": "4cb8ae291ea00f0f0143818fe225be47444b8950",
      "tree": "176e45fea1b54c1dcfb8bda536bad1aea285cf28",
      "parents": [
        "6d3fa2751871fbcee06b6316016f9b07b89c49a0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 11 14:41:20 2010 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 11 14:41:20 2010 -0800"
      },
      "message": "Fix simulator build.\n"
    },
    {
      "commit": "b78679e18db941fa0c104d728db128cf9ee21dc7",
      "tree": "8ddb03e837ac7663992df244c637007e69c3269e",
      "parents": [
        "872db948a0366cc4d47cd4cd343f625a206b2eed"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Dec 30 10:38:39 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Wed Dec 30 10:38:39 2009 +0800"
      },
      "message": "keystore: compute the padding in an intuitive way.\n"
    },
    {
      "commit": "ced66258e11cf87277aa2ceaa02903d1c1f132c9",
      "tree": "8f4826f017d53bf9aa84d38c539f77b1ac8a49ee",
      "parents": [
        "cbc7399f773664fee7246fd5113885fa970960b6"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 22 17:02:45 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Dec 22 17:26:42 2009 +0800"
      },
      "message": "keystore: Add paddings before checksumming.\n\nAlso fix a file descriptor leak when file system is nearly full.\n\nBug: 2339184\n"
    },
    {
      "commit": "4424dd7dd5d3a0aea9b1a3375db5d65bc8675bb8",
      "tree": "eef7da401bf461b8cd366bf78c9cb252cabb0f3c",
      "parents": [
        "7b7c3c15154f95e693981f863f563fba41a7b993"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:35:26 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Sep 24 13:35:26 2009 +0800"
      },
      "message": "keystore: remove old implementation and test.\n\nThe new tests will be implemented in java.\n"
    },
    {
      "commit": "1cdc2a4b810605ea20306102d99ebb5c9cabc6fb",
      "tree": "712b50aac497a9e7ace77d635742d39fa9fe7c5d",
      "parents": [
        "4654d3143224ee8858f6ef37a8165047dfb17bff"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 02:57:52 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 02:57:52 2009 +0800"
      },
      "message": "keystore: rename scan() to saw().\n"
    },
    {
      "commit": "c5dbc5e98ab8342d04f85c051c545c0980f5d98b",
      "tree": "fd7de16d7a728837eb2bb931f755f7c2e71381c7",
      "parents": [
        "15b047cfb2146e37c76df303b4a5720009ec0aed"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 00:43:13 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Sep 22 00:43:13 2009 +0800"
      },
      "message": "keystore: exclude builds for simulator.\n"
    },
    {
      "commit": "dd2a71eebcc55de9fc6e21e2f1335c1c2fb68257",
      "tree": "2c61f98e5d883ed298cd2152088e2bcf35d96d16",
      "parents": [
        "2f3b2a5aa698c82313551d59f9237a6a7849c300"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Sun Sep 20 10:15:46 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Sep 21 11:36:33 2009 +0800"
      },
      "message": "keystore: enable delete(), scan(), exist() when keystore is locked.\n\nAlso check end-of-file explicitly.\n"
    },
    {
      "commit": "2f3b2a5aa698c82313551d59f9237a6a7849c300",
      "tree": "22d114da68d5066b766ea736e09acbf53edc5442",
      "parents": [
        "b3f93c06cff31f9b1b83ba2c4fc5ae7916754e59"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 17:23:53 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 17:23:53 2009 +0800"
      },
      "message": "keystore: switch to multi-user version.\n"
    },
    {
      "commit": "4cff21f21b583c9994b250154702370c84ea9c60",
      "tree": "32cf290ce7b5f0e1137d19bff8dd2c7e0e451080",
      "parents": [
        "817cfefe109db824804d2e9701c9c553edf5103b"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 10:15:37 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Fri Sep 18 11:49:55 2009 +0800"
      },
      "message": "keystore: add multi-user support.\n\nChange-Id: I60268261110934a1d60efa341ff530f94415724f\n"
    },
    {
      "commit": "408c5f2c9846780f05c2a3b3c837fecd5f5c74a6",
      "tree": "a29ed8e8f6665a11b07da127aa25c527f2dd5cd5",
      "parents": [
        "5ec064cfce1abbf51dcf1eb8256a66af5aa442f7"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Sep 16 15:43:15 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Thu Sep 17 12:17:29 2009 +0800"
      },
      "message": "Fix a minor bug in is_alnum_string()...\n\nand remove some verbose logging\n"
    },
    {
      "commit": "b2de5bd4dafa0c8a494a654210298d2be8bb04f8",
      "tree": "bee0f90ddf3b16babca025dd93676509b93aeff6",
      "parents": [
        "63a85fc420537d6bf2b8717d35c578806056b9e7"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 11 18:34:28 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Fri Sep 11 19:30:13 2009 +0800"
      },
      "message": "Add tests and misc fixes on keystore.\n\n* Refactor netkeystore.c to make client and server code testable.\n* Add a client test for setting new passwd and changing passwd.\n* Exclude \".\" and \"..\" from reset_keystore().\n* Change ServerCommand.executeCommand() to accept variable length of\n  arguments and add convert() to marshalling the args to bytes.\n* Keystore.java is revised accordingly.\n"
    },
    {
      "commit": "2a58b6dbf07677e9875ba2306bc118c3eb9aebc6",
      "tree": "ac106bb4e54837089fe1632a8041f96ace90317c",
      "parents": [
        "20ef5001d7e92100e636ecab71799cfd1a07f7b0"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Tue Sep 08 03:52:45 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Sep 09 15:00:43 2009 +0800"
      },
      "message": "Replace the delimiter whitespace with \u0027\\0\u0027.\n\n+ Use \u0027\\0\u0027 as the delimiter.\n+ Allow whitespace character for keystore password.\n\nIn previous implementation, we use space as the delimiter. That\nwill stop user from using passphrase with whitespace character.\n"
    },
    {
      "commit": "74c332f18412bcc9516f85591900677c40b45475",
      "tree": "5c65acc721b611604684f8370c05c8d00312b1ee",
      "parents": [
        "c1f2b9cd6f5be1096d60724b21417c9379ac19ff"
      ],
      "author": {
        "name": "repo sync",
        "email": "cywang@google.com",
        "time": "Wed Aug 05 18:06:27 2009 +0800"
      },
      "committer": {
        "name": "repo sync",
        "email": "cywang@google.com",
        "time": "Mon Aug 10 16:13:00 2009 +0800"
      },
      "message": "Fix network order for marshalling in keystore interface.\n\nThis will fix the endian issue for heterogeneous architectures in keystore marshalling interface.\n"
    },
    {
      "commit": "5e2ae8dca59cc5cad4c35b67bdf4d8bbfd240a53",
      "tree": "92f2180e44054e5d19f7be7b934fb7e38fb49515",
      "parents": [
        "aef6a231f7fe4ab4afefb2a973743953c6ccd9ca",
        "23c95b3b3277260d7ada14637d9da309695c6c40"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 20:18:23 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 31 20:18:23 2009 -0700"
      },
      "message": "am b86bad94: Merge change 9438 into donut\n\nMerge commit \u0027b86bad9493a331a09dd765bc6e725c0aec969ff6\u0027\n\n* commit \u0027b86bad9493a331a09dd765bc6e725c0aec969ff6\u0027:\n  Change some log.i to log.d.\n"
    },
    {
      "commit": "23c95b3b3277260d7ada14637d9da309695c6c40",
      "tree": "e773ce8f5805b1a8b90bb3ef17679f12241d8398",
      "parents": [
        "f8c8a652cda98094f8beb6ffbc7852b2ded25a86",
        "6cdee5801063c9c332193a186d973a4993c1dd31"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 20:15:15 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 31 20:15:15 2009 -0700"
      },
      "message": "Merge change 9438 into donut\n\n* changes:\n  Change some log.i to log.d.\n"
    },
    {
      "commit": "6cdee5801063c9c332193a186d973a4993c1dd31",
      "tree": "e36a446ca5e1fcd70b4dfb44ef0c095b4f8abe30",
      "parents": [
        "907a880fa24500aa4e3476f99cfabf4343236435"
      ],
      "author": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Aug 01 10:11:46 2009 +0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Sat Aug 01 10:11:46 2009 +0800"
      },
      "message": "Change some log.i to log.d.\n"
    },
    {
      "commit": "c7ceaf245e570fd2a16dc31452543d443638e7ca",
      "tree": "261936207895430ad731cb988029caa3785a2f2a",
      "parents": [
        "e2d245c287816a24830c2cee5a77e15bb3f992f5",
        "ccf407f7acf7c12a59c9f053bcac0840371c9848"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 30 16:05:39 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 30 16:05:39 2009 -0700"
      },
      "message": "am f4692640: Add unit tests for netkeystore.\n\nMerge commit \u0027f4692640a8c40b8bbba1f00841c2f8fbe7b28d7a\u0027\n\n* commit \u0027f4692640a8c40b8bbba1f00841c2f8fbe7b28d7a\u0027:\n  Add unit tests for netkeystore.\n"
    },
    {
      "commit": "ccf407f7acf7c12a59c9f053bcac0840371c9848",
      "tree": "490d8a65f6aea654ddf38c589350759ed422cfcf",
      "parents": [
        "e84bee9bbfdf394f20efcb383a431ae44100c6d4"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 30 12:31:08 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 30 16:37:48 2009 +0800"
      },
      "message": "Add unit tests for netkeystore.\n\n+ some boundary checks.\n"
    },
    {
      "commit": "9b29df2bc751700639079e1a0b53d825de1195d6",
      "tree": "4259ca62683f453616d39ba4b65bfa2d32ea1868",
      "parents": [
        "85fda3c81d822b0e3e61884cfeea2214b35c21a8",
        "11e9f3dd260935cac33a9a6fa45aafa9d87d495a"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 24 12:52:33 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 24 12:52:33 2009 -0700"
      },
      "message": "am 75b68163: Add memcpy and strcpy boundary check.\n\nMerge commit \u002775b681639d3945d22d4ab90856a65a05405d2538\u0027\n\n* commit \u002775b681639d3945d22d4ab90856a65a05405d2538\u0027:\n  Add memcpy and strcpy boundary check.\n"
    },
    {
      "commit": "11e9f3dd260935cac33a9a6fa45aafa9d87d495a",
      "tree": "79cbba6b7e1d5b9cbb435e246b05fa6a64c75429",
      "parents": [
        "174d638c96aef9eeaf0ee7ae334c8ff9a6b415bf"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 23 07:23:24 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 24 11:24:31 2009 +0800"
      },
      "message": "Add memcpy and strcpy boundary check.\n"
    },
    {
      "commit": "795e8f42c96a654a96ecb9eab3e9036b08676249",
      "tree": "cd32cfe3780d42f77a06ad1d5725dee53f911e02",
      "parents": [
        "da1bafd604a6df0d4d5d6d613ddd106d774ede38",
        "274bd902102291350f55ffb3eff08339929b2384"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 16 17:53:40 2009 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 16 17:53:40 2009 -0700"
      },
      "message": "am 0d039ba3: Merge change 7508 into donut\n\nMerge commit \u00270d039ba328a59fc81280fbecf68aad2d2cba7234\u0027\n\n* commit \u00270d039ba328a59fc81280fbecf68aad2d2cba7234\u0027:\n  keystore: Fix a compile warning.\n"
    },
    {
      "commit": "23c7adc5e9e27185ca0a69974a8268ec9e86b9b9",
      "tree": "8a37d6dd1a4d4611fc7e26d86cdf4a7d540e3986",
      "parents": [
        "675e4d3db972e621b1785aa7a4b8aeecee7dbbe4"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 16 14:45:11 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Jul 16 14:45:11 2009 +0800"
      },
      "message": "keystore: Fix a compile warning.\n"
    },
    {
      "commit": "29f5a900dbb7b973d25d4fa97cce032e709384bb",
      "tree": "575d824d21f2944f05b1b59ec614a4afcd2c3f6f",
      "parents": [
        "e439029f8a99217d030f859039e597468381af7f",
        "dea9f552741c86897ca5cd2ee23f48da8c49f4b1"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:22:25 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 06 11:22:25 2009 -0700"
      },
      "message": "am 3383df38: Merge change 6198 into donut\n\nMerge commit \u00273383df385e208807b1dc5f2956f82a7f75f65fd8\u0027\n\n* commit \u00273383df385e208807b1dc5f2956f82a7f75f65fd8\u0027:\n  keystore: Provide a generic getter for native components.\n"
    },
    {
      "commit": "e439029f8a99217d030f859039e597468381af7f",
      "tree": "92b76e91b37213cfddd391bb98b950ce858fc765",
      "parents": [
        "e68a938829a6a07c94a60993c57081a5c274f94f",
        "6ac03019e68e6cd8732c5c1670eb71f4840010e2"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Jul 06 11:22:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 06 11:22:18 2009 -0700"
      },
      "message": "am 699ca3f2: Add password field for WiFi configuration.\n\nMerge commit \u0027699ca3f2518360ea3250ff5a0e5d39e122c64a91\u0027\n\n* commit \u0027699ca3f2518360ea3250ff5a0e5d39e122c64a91\u0027:\n  Add password field for WiFi configuration.\n"
    },
    {
      "commit": "2659e77bd2add71883bcf6909487d4cceebc8f9a",
      "tree": "79130abe159f4edd70def9f7f246ae20590c0b2c",
      "parents": [
        "a244e8cdc984fdbd2a030f73990e541ae3981d27",
        "57643ce5c6662754898f47ee70c655c74c394ead"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 11:21:59 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Jul 06 11:21:59 2009 -0700"
      },
      "message": "am 24ad29c6: Merge change 6177 into donut\n\nMerge commit \u002724ad29c6dbbf62096bcb41ddb2fa3975720ee625\u0027\n\n* commit \u002724ad29c6dbbf62096bcb41ddb2fa3975720ee625\u0027:\n  Two small checks in keymgmt.\n"
    },
    {
      "commit": "dea9f552741c86897ca5cd2ee23f48da8c49f4b1",
      "tree": "070d966b5d9d70b483c99ea344deafb9c47c76b5",
      "parents": [
        "6ac03019e68e6cd8732c5c1670eb71f4840010e2",
        "5d0ca76229bffd0d3d2e2234033a78cb57e7739c"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 00:04:54 2009 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 06 00:04:54 2009 -0700"
      },
      "message": "Merge change 6198 into donut\n\n* changes:\n  keystore: Provide a generic getter for native components.\n"
    },
    {
      "commit": "5d0ca76229bffd0d3d2e2234033a78cb57e7739c",
      "tree": "aa4c772b13920667c0b055ca5ada07ec7b9480fb",
      "parents": [
        "928f5052b5f7dfffa2921af769045d85eb483c79"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jul 06 11:13:25 2009 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Mon Jul 06 14:33:09 2009 +0800"
      },
      "message": "keystore: Provide a generic getter for native components.\n"
    },
    {
      "commit": "6ac03019e68e6cd8732c5c1670eb71f4840010e2",
      "tree": "b35e00833f4fa339ad7160860f09f23cfc8cc9f9",
      "parents": [
        "928f5052b5f7dfffa2921af769045d85eb483c79"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sat Jul 04 22:19:51 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Sun Jul 05 11:06:01 2009 +0800"
      },
      "message": "Add password field for WiFi configuration.\n\n1. the certtool.h is modified for avoiding the side effect,\n   for saving the configuration with wpa_supplicant.\n2. put the loadLibrary back in CertTool.java\n3. Fix incorrect JNI declarations.\n"
    },
    {
      "commit": "4c6ee740ad3046bb67f3f24a728e48dff86b85b8",
      "tree": "b8b21b45ed35b187e38eb14f8189ce6de9bb66ff",
      "parents": [
        "d9245ddab90be271537f2dc1129beb33766d8e68",
        "0919ff5f14ee21d3cb9d28da3537d0032225fded"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 09:08:36 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 03 09:08:36 2009 -0700"
      },
      "message": "am 7de4bd9b: Merge change 6045 into donut\n\nMerge commit \u00277de4bd9b40d80fd68fc746efd645e3df7442acea\u0027\n\n* commit \u00277de4bd9b40d80fd68fc746efd645e3df7442acea\u0027:\n  Remove the null-termination for Java string compatibility.\n"
    },
    {
      "commit": "b35262e025997f80f5a34e52a248e1aa9f450521",
      "tree": "ee134c65592e6126f155887f4c779c995df878ca",
      "parents": [
        "0c37fb885e9d2c2accb4ecfcfabf151fce25f103",
        "dca4e5332cd1f3ce13a3c8b1938eee6689f7f410"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 03 08:58:31 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 03 08:58:31 2009 -0700"
      },
      "message": "am d45dcbec: Merge change 5615 into donut\n\nMerge commit \u0027d45dcbec856710f9478ffc5689e7cdf95d757ab8\u0027\n\n* commit \u0027d45dcbec856710f9478ffc5689e7cdf95d757ab8\u0027:\n  Implement the generic mini-keystore for security.\n"
    },
    {
      "commit": "37b49519cc2bd8c3b907f7bf3f8f5c21f5692103",
      "tree": "e4041395086d5c0aa2d9bd24ad8ee6c2d136f495",
      "parents": [
        "3fca571773ac0ba2f5ee7816f81c9948e04f89db"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 03 12:09:52 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Fri Jul 03 12:14:36 2009 +0800"
      },
      "message": "Two small checks in keymgmt.\n\n1. Enforce the state check in listkey().\n2. Enforce the password length check.\n"
    },
    {
      "commit": "7bd460b1208dcd41969e5928ad3c3680962bedce",
      "tree": "e91284bf414680579b10d8ef95546920cf4ec16a",
      "parents": [
        "dca4e5332cd1f3ce13a3c8b1938eee6689f7f410"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 19:11:11 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 23:08:39 2009 +0800"
      },
      "message": "Remove the null-termination for Java string compatibility.\n\n1. Also change the keyname delimiter in CertTool.java.\n2. Return NOTFOUND if the result.len\u003d\u003d0 in the listKeys().\n3. Define the keystore states in the class Keystore.\n"
    },
    {
      "commit": "c186c66a297ec036b3c3dc2ba43553096a753f3f",
      "tree": "67fb6a498d1adde5cc7ca6be1059cb65ac1a410b",
      "parents": [
        "ce6d17210750258ac990cbd13bfeaf9252cf2bb5"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Jun 29 03:12:56 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jul 02 14:08:20 2009 +0800"
      },
      "message": "Implement the generic mini-keystore for security.\n\n1. We will progressively migrate to this implementation.\n2. For richc to have a quick review on the keymgmt part.\n3. Add remove_key and make sure all functions are working.\n4. Add permission check for get operation.\n5. Return the retry count if unlock failed.\n6. Add the reset operation for keystore reset.\n7. Add the putfile shell command for putting the key value from file.\n8. Fix the boundary issue during parsing command.\n9. Use the \u0027 \u0027 as delimiter and reset the reply structure for each request.\n10. Add change password retry count check.\n11. Extract the read_marshal/write_marshal for certtool.h.\n12. Remove the old implementation.\n"
    },
    {
      "commit": "b08e0936d730430e1ff016b79226d9d5c3b84752",
      "tree": "24cd4ec0e04649484b17917e24985d9d24e69741",
      "parents": [
        "f51e6664016f688e90f46830afdbd1c8b700dd80",
        "cc7d4d68e029f5fba977d852076df174db702848"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 17 15:38:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Jun 17 15:38:33 2009 -0700"
      },
      "message": "am 9fbeb7da: Merge change 4337 into donut\n\nMerge commit \u00279fbeb7da1318bf5b65588a759332d74540306c06\u0027\n\n* commit \u00279fbeb7da1318bf5b65588a759332d74540306c06\u0027:\n  Change the keystore APIs.\n"
    },
    {
      "commit": "4c40420cd231b42a38b84577d6731ce8b0fa1269",
      "tree": "1d24eeef47ec6fc3eaa8b44a5c0323c3c44b7634",
      "parents": [
        "b6d1e5b8ece3e79b606d8441edf89419acf38390"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 17 01:29:21 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 17 14:32:05 2009 +0800"
      },
      "message": "Change the keystore APIs.\n\n1. simplify the keypair selection in UI.\n2. add the user certificate and key into the keystore for keygen feature.\n"
    },
    {
      "commit": "1c6ad980173bc2d061cb0c5f15ac814f4ca4c4b5",
      "tree": "6ede54481643208997ae81ddc0a6059b4440f7af",
      "parents": [
        "326737eaa7708fc1a068bdc50a5c94d6b463bfdd",
        "9371ede119ae77a235bcc1daf75f8fe1bff224de"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 11 07:57:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jun 11 07:57:37 2009 -0700"
      },
      "message": "am db8a6ae6: Merge change 3709 into donut\n\nMerge commit \u0027db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2\u0027\n\n* commit \u0027db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2\u0027:\n  Provide the Keystore feature in the framework.\n"
    },
    {
      "commit": "8fcbada742d8ada3ec14e1625e8e345128e38c20",
      "tree": "8ce85ed2526da348f635d2ae0931d9f3465a6561",
      "parents": [
        "cd2281eea54ae1f99ac1822ef579c62449c7efa9"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Wed Jun 10 18:45:14 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Jun 11 17:28:40 2009 +0800"
      },
      "message": "Provide the Keystore feature in the framework.\n\n-- added the keystore library for Java application.\n-- changed the marshalling of the keystore function return.\n"
    },
    {
      "commit": "a0cfd25b4328eb2dbb43561dfca4a166a90e6a04",
      "tree": "510ac3b87aaaf17f006e48dfdb5d713082c3d17d",
      "parents": [
        "cb87ed14a7c380c5485e8a057e5b94124d8ac112",
        "0f1a8ddd82ac67635013d9ae44a9516d1f8ea278"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 19:12:37 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jun 09 19:12:37 2009 -0700"
      },
      "message": "am 54d63246: Merge change 3427 into donut\n\nMerge commit \u002754d632468c0cd53087d17420d9d383bc29553d36\u0027\n\n* commit \u002754d632468c0cd53087d17420d9d383bc29553d36\u0027:\n  First version of the keystore service.\n"
    },
    {
      "commit": "a92d5dc0f6d3aadbc64a029ecfacca2f19a661e7",
      "tree": "12af6c9bb70c3f732500ea2be64543c69a4fbcc3",
      "parents": [
        "383bce90737871de0b80082eb3a7925528aae754"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Jun 08 16:34:54 2009 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Mon Jun 08 16:34:54 2009 +0800"
      },
      "message": "First version of the keystore service.\n\nThe keystore service is protected by the user \u0027keystore\u0027. Only keystore\nuser/group can access the key content. All users are able to do the\nfollowing commands from shell as well:\n  listcerts\n  listuserkeys\n  installcert\n  removecert\n  installuserkey\n  removeuserkey\n"
    },
    {
      "commit": "e0c322049ab2be291c1fc40f79702543d4e77934",
      "tree": "e3e672f4f4fdd72b465cc0f39fb95c7711814122",
      "parents": [
        "d07f2a523f43051a681683657f7c0da2c49f46a4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun May 31 19:13:00 2009 -0700"
      },
      "message": "get rid of utils.h\n"
    },
    {
      "commit": "19deced119360320779375aaa8046dcbcbea3c02",
      "tree": "870408c5595613427812fde29784083fcc760e79",
      "parents": [
        "bd22ffd8566c815821c307921963fa98975b4da3"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue May 26 12:05:54 2009 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue May 26 12:06:31 2009 -0700"
      },
      "message": "Fix sim-eng build.\n"
    },
    {
      "commit": "3a253bd4e4f9989c43e840b391a2597fba6cce3d",
      "tree": "714796797a846d57e3885183654a4ea668448161",
      "parents": [
        "5752912e4bbf5696f514438e17fcc4c2610e5c59",
        "454a6255884c0899b1402a0d5f67547e47528739"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 11:26:04 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 11:26:04 2009 -0700"
      },
      "message": "am 9681a5e0: Merge change 2230 into donut\n\nMerge commit \u00279681a5e06badbd817342e8f6be4ffbe9102c1e98\u0027\n\n* commit \u00279681a5e06badbd817342e8f6be4ffbe9102c1e98\u0027:\n  runtime: Add CAP_SYS_NICE to the system server capabilities list so it\n"
    },
    {
      "commit": "a00a0851c31e0ab3ea63fb34cf0f532eb511a1e2",
      "tree": "dd9d0ec18c73fe4055fbdfeb64bbb3cec36fbd33",
      "parents": [
        "1c4b60c2f25189681474b6adf0286c69247e0f21"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu May 21 15:34:56 2009 -0700"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Thu May 21 15:34:56 2009 -0700"
      },
      "message": "runtime: Add CAP_SYS_NICE to the system server capabilities list so it\ncan (eventually) move arbitrary threads into different cgroups\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "c5b2c0bf8007562536b822eb060fc54a01f8e08b",
      "tree": "da6084f542177972cf72a985b5d2c10330f87de3",
      "parents": [
        "208059f67ed2dd9fa025e07fcb6954d3cb61c79e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "208059f67ed2dd9fa025e07fcb6954d3cb61c79e",
      "tree": "b2fde632a7c9abf4137751ffe779318c0a89bd96",
      "parents": [
        "501c6179e158b2d5bfc67cb8b7180c02ac301f97"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 18 15:08:03 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:02 2009 -0700"
      },
      "message": "checkpoint: split libutils into libutils + libbinder\n"
    },
    {
      "commit": "edbf3b6af777b721cd2a1ef461947e51e88241e1",
      "tree": "f09427b843b192cccf8c3b5328cb81dddf6489fa",
      "parents": [
        "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "8a7a67538a9977c892389bfcde76a8372aa0b56c",
      "tree": "0782f82f223ddeafa9b08bd2121ded38212f67f7",
      "parents": [
        "276293246ea9cbc0a578a7697cc48930376ec0e9"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407",
      "tree": "df5a6539447324de36e95b057d6b9f0361b7a250",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
