1. Also change the keyname delimiter in CertTool.java.
2. Return NOTFOUND if the result.len==0 in the listKeys().
3. Define the keystore states in the class Keystore.
1. We will progressively migrate to this implementation.
2. For richc to have a quick review on the keymgmt part.
3. Add remove_key and make sure all functions are working.
4. Add permission check for get operation.
5. Return the retry count if unlock failed.
6. Add the reset operation for keystore reset.
7. Add the putfile shell command for putting the key value from file.
8. Fix the boundary issue during parsing command.
9. Use the ' ' as delimiter and reset the reply structure for each request.
10. Add change password retry count check.
11. Extract the read_marshal/write_marshal for certtool.h.
12. Remove the old implementation.
Merge commit '9171749700853305f3e6abbcdbd9e02f3a71d459'
* commit '9171749700853305f3e6abbcdbd9e02f3a71d459':
Use system properties to track the current transport
Merge commit 'c73a218c2663e6ae3ec8a9ab8b9524f95702ade9'
* commit 'c73a218c2663e6ae3ec8a9ab8b9524f95702ade9':
Add some error reporting & info to bmgr's output
Backup & restore is still enabled by default, but with the expectation that it
will be enabled during the course of the Setup Wizard or some other privileged
entity that has notified the user about the ramifications. While disabled,
data-changed notices will still be collected, but no backup pass will be
scheduled. When the backup manager is later enabled, any pending data-changed
notices will then be processed and the apps invoked for backup.
This change retools the transport selection mechanism a fair bit. Transports
are now specified by name rather than by numeric ID, and the name of the
currently selected transport is stored in a persistent system property under the
name "persist.service.bkup.trans".
The name -> IBackupTransport translation is now handled by maintaining a map
from the names to the live IBackupTransport objects that correspond. The Google
transport service observer now registers and unregisters the transport as the
service goes up and down.
The bmgr command has been expanded to include real transport interrogation and
selection by name, and some documentation has been written for it.
Merge commit '4a64bded06a0299785c295a975e2818308eb53e2'
* commit '4a64bded06a0299785c295a975e2818308eb53e2':
Add some helpful tests scripts for backup and make bmgr restore wait until the backup is done.
Merge commit '5e8a4b842c20dd47b82e9915f1bd730ee1b0d46d'
* commit '5e8a4b842c20dd47b82e9915f1bd730ee1b0d46d':
Give the bmgr command an IRestoreObserver too.
The am command is now the one that takes care of opening the target file,
handling the opened file descriptor to the process that will be profiled.
This allows you to send profile data to anywhere the shell can access, and
avoids any problems coming up from the target process trying to open the
file.
On restore now, the backup manager gets the signature blocks corresponding to
the restore set from the transport. It then validates those signatures against
the on-device app signatures, and refuses to restore data to an app whose
on-device sig block does not match the backup image's.
Also actually implement 'bmgr transport N' so that we can select the local
transport easily during runtime.
The 'list sets' and 'restore token#' commands from bmgr now do what they are
supposed to. At this point we see the restore target's data being cleared
properly and its agent being launched and invoked for restore.
Merge commit 'db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2'
* commit 'db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2':
Provide the Keystore feature in the framework.
The keystore service is protected by the user 'keystore'. Only keystore
user/group can access the key content. All users are able to do the
following commands from shell as well:
listcerts
listuserkeys
installcert
removecert
installuserkey
removeuserkey
Merge commit 'a80cc6ebe7426792927cddbf191bb7435a06fc5e'
* commit 'a80cc6ebe7426792927cddbf191bb7435a06fc5e':
The '-D' option for the 'am' command appears to be optional, so reflect that in the usage.
Merge commit '2a3188672ab2b65c0ce7c9c598a463e382c47696'
* commit '2a3188672ab2b65c0ce7c9c598a463e382c47696':
rename a few files to camel-case, add copyright notices