* Added changeEncryptionPassword() to the MountService.
* Update LockPatternUtils to call changeEncryptionPassword()
when the password is changed.
Note we only require the new password to change the
encryption password.
Bug: 3382129
Change-Id: I26a7e919e325e75e22fa4290da0a8b1b57b55a80
* Changed to inplace encryption.
* Changed decryption to return the proper error code. It will now return success or the number of failed attempts.
* Be lazy and post a message 2 seconds later to call restart. I don't feel like messing with binder interfaces for a proper callback.
Change-Id: Iae2de7057aa66f248fd2df3f29777ad3368442f0
* Implement the decryptStorage() method on the Mount Service.
This method makes the calls into vold to decrypt the encrypted
volumes and mount them.
Change-Id: I4f6e07a111cf0b36611d590debf9f6579c5ac5f7
If the memory card is not inserted (or removed) from
the phone the shut down process is very long. It
takes almost 24 seconds. For the phone with memory
card the averige is 5-6 seconds
Make sure to send onShutDownComplete even if an SD
card is not mounted and no unmount is done.
Change-Id: I0e79b82e294a971f5e7144cdd3cc16b7ff414b9c
After UMS mounted, isUsbMassStorageConnected() will always return true even if USB is disconnected.
It's because mUmsEnabling will always be ture.
Change-Id: Ib24b2359ea2684eb0a9faeb880f383e87630e6e1
Merge commit 'bdf8034c657147226b2390eef113ff841e0d6065' into gingerbread-plus-aosp
* commit 'bdf8034c657147226b2390eef113ff841e0d6065':
OBB: use PBKDF2 for key generation.
Switch to using PBKDF2 for the key generation for OBBs. Any previously
generated OBBs will stop being read correctly. A small pbkdf2gen program
is available to allow generation of appropriate keys with the salts.
Bug: 3059950
Change-Id: If4305c989fd692fd1150eb270dbf751e09c37295
When the storage is emulated, we don't want to install ASEC containers
to it. This adds the API to check when the external storage is emulated
and uses it to check whether or not to install packages to the external
storage in an ASEC container.
Bug: 3024387
Change-Id: Ia0318aca9e4938a4897deaada5603a4c7c1d0f48
Merge commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45' into gingerbread-plus-aosp
* commit 'b4de3dca96b9ff18562062e181dcd8b83e641e45':
OBB: rearrange to be entirely asynchronous
Rearrange structure of MountService handling of OBBs to be entirely
asynchronous so we don't rely on locking as much. We still need the
locking to support dumpsys which has been improved to output all the
data structures for OBBs.
Added more tests to cover more of the error return codes.
Oh and fix a logic inversion bug.
Change-Id: I34f541192dbbb1903b24825889b8fa8f43e6e2a9
Merge commit 'c296f22e713257271f95c2115df9e13d05d5687a'
* commit 'c296f22e713257271f95c2115df9e13d05d5687a':
Revert "Only allow 8 OBBs to be mounted by a UID"
Merge commit '36455d03256024981b1bf21557722a010b5e092a'
* commit '36455d03256024981b1bf21557722a010b5e092a':
Add MountService tests and fix a bug it found
Merge commit '0145e36cad1472acafb492b3f009ca6eba9593ea' into gingerbread-plus-aosp
* commit '0145e36cad1472acafb492b3f009ca6eba9593ea':
Revert "Only allow 8 OBBs to be mounted by a UID"
It's basically a duplicate of MCS_UNBIND state, so just get rid of it
which simplifies the state transitions.
Bug: 3067076
Change-Id: I34111be88dd727af8ad59c9f49debd54ede827ea
Merge commit 'a3ee5c0351e51f7a978ddddc37644f46051ca6ed' into gingerbread-plus-aosp
* commit 'a3ee5c0351e51f7a978ddddc37644f46051ca6ed':
Add MountService tests and fix a bug it found
An incorrect assumption about how death observers were tracked lead to
an IllegalArgumentException in some cases. Make sure the linking and
unlinking of the Binder to its ObbState death observer is symmetric to
avoid this problem.
Bug: 3062360
Change-Id: Idd016db12551c80cd74d00f11cf6569bd3b4ce21
Add some MountService tests that are based partially on some stuff done
in PackageManagerTests. This allows us to test the OBB changes in an
easy way.
Also, it found some bugs in the DefaultContainerService connection state
machine, so fix those while we're at it.
Change-Id: I18f38593be754eb32fb6e842f88eec47e2beefce
If vold isn't told "none" for the key, it will try to mount it as an
encrypted container.
Also remove the -c option from mkobb since it can be triggered by
including a key as well.
Change-Id: I40a8ff3f778bfda682312630e6687ecc14b51844
Merge commit '6ce5f60c791401ed0faf5d36baf4fc6612358676'
* commit '6ce5f60c791401ed0faf5d36baf4fc6612358676':
Remove OBBs from state list when volume unmounted
Merge commit '8b28441adab59f2bb0d92c8a717af75331249e08' into gingerbread-plus-aosp
* commit '8b28441adab59f2bb0d92c8a717af75331249e08':
Being already unmounted is not a failure
Merge commit '27358a69b33eaa268ee75ef778ec824c8085adcc' into gingerbread-plus-aosp
* commit '27358a69b33eaa268ee75ef778ec824c8085adcc':
Only allow 8 OBBs to be mounted by a UID
Merge commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94' into gingerbread-plus-aosp
* commit '38cf8867a8d3e8d5159abd0bd0e6a3b0b8348b94':
Remove OBBs from state list when volume unmounted
Using a plaintext password doesn't work unless it's a certain length, so
just hash the plaintext password with MD5 to make it the right length
for the twofish encryption.
Tracking the IInterface doesn't make much sense since it's different
each time, so track the IBinder instead. That way we can unlinkToDeath
the binder when the last thing it's holding onto goes away.
Change-Id: Id828d25b4d74f27e9d8b4bfb3909c964469cc473