)]}'
{
  "log": [
    {
      "commit": "0af607264e44b688d251f16ae5b380b0ea808d08",
      "tree": "b9389fad9cccb9435d8cafb10b24d2237d027bb6",
      "parents": [
        "77fa24a5ef3ee3bc108d4bf3c77b7b4c7d0d5451"
      ],
      "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": "c4b144533a9a5d03ee1fbcf27492a8be5737541d",
      "tree": "cf1dcb701531a97677aae941dbeab4c376356280",
      "parents": [
        "8ed86d2b463be60d65e86aac33550d8fc84bd2a5"
      ],
      "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": "a7df557aa2573a4718c7bbd069268e62bc036753",
      "tree": "606824416def47dd79b782fb4037aa180fca8d93",
      "parents": [
        "d304ae583d862250a21b5949fc3dbdf3af1febac"
      ],
      "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": "70246ebb9b1a3c192caf7e001b45dafbdb6bbc30",
      "tree": "f5ae931052c7657dc7b511d90189f0b4285398e3",
      "parents": [
        "c25dbf88fc21c707b72502c43695c2c31ff22a23"
      ],
      "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": "8229048cffef8c4ad06e0d2c6cbeeb802953e7db",
      "tree": "617c66630d6210efa8fbed83476b513b937223f8",
      "parents": [
        "5069cc78497209c035a7019b2f407bd1ed57f64a"
      ],
      "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"
    }
  ]
}
