Commit graph

4916 commits

Author SHA1 Message Date
Kenny Root
7b18a7b36f vold: Convert to use OpenSSL MD5 API
Change-Id: I9b84370fa9a98464c211ebe8983be8dbe9dd7ccd
2010-03-15 14:39:40 -07:00
San Mehat
befd59c152 vold: remove some dead code
Change-Id: Iaeb5d3334ec22ed31da9734bb8d7cd17e6a40eaf
Signed-off-by: San Mehat <san@google.com>
2010-03-15 10:28:21 -07:00
San Mehat
cb4dac8a52 vold: Remove autorun.inf at mount/unmount time if it exists
Change-Id: Ia57da8ee177453a601a23d965c2b4f16b6de46e5
Signed-off-by: San Mehat <san@google.com>
2010-03-14 13:41:54 -07:00
San Mehat
57df7bf339 vold: Fix argument validation for volume commands
Change-Id: I74aa63ff9f9bc32bd871e6c53ab50b6baf79e650
Signed-off-by: San Mehat <san@google.com>
2010-03-14 13:41:27 -07:00
San Mehat
d9a4e35861 vold: Bugfixes & cleanups
- Fix issue where container-names > 64 bytes were getting truncated in the
    kernel. lo_name is only 64 bytes in length, so we now hash the container
    id via md5
  - Add 'dump' command to dump loop and devicemapper status
  - Add 'debug' command to enable more detailed logging at runtime
  - Log vold IPC arguments (minus encryption keys)
  - Fix premature return from Loop::lookupActive() and friends

Change-Id: I0e833261a445ce9dc1a8187e5501d27daba1ca76
Signed-off-by: San Mehat <san@google.com>
2010-03-13 16:42:19 -08:00
San Mehat
2a5b8ce09b vold: Switch to using libdiskconfig for partition setup.
Also handles an issue where NPARTS=0 on a disk change uevent

Change-Id: I77c56f177dc65df91468bbd7d5fe1889db414d7a
Signed-off-by: San Mehat <san@google.com>
2010-03-10 15:18:41 -08:00
Jean-Baptiste Queru
d071596fd9 Add an empty CleanSpec.mk
Change-Id: Ied5f7eddd18adb38699c8a034a78ff9de4aab8de
2010-03-08 18:05:25 -08:00
San Mehat
fcf24fe62f vold: Add a versioned superblock to secure containers.
Add an un-encrypted superblock to the end of a secure container to
help identify the crypto cipher used. This is required in order to
provide some semblence of versioning, in case we have cause to
change the crypto type on an update - say for example switching
from software to hardware encryption, or from 128 -> a zillion
bit keys.

NOTE: This format is incompatible with previous secure containers.
After this change they will no longer be mountable.

Signed-off-by: San Mehat <san@google.com>
2010-03-03 12:40:34 -08:00
San Mehat
2350c44ff3 vold: Add support for xwarp
Signed-off-by: San Mehat <san@google.com>
2010-03-02 13:17:02 -08:00
San Mehat
f1b07fb5e3 vold: Don't bail out on init failure & bump version number
Signed-off-by: San Mehat <san@google.com>
2010-03-02 13:16:33 -08:00
San Mehat
a1091cb0c4 vold: Allow creation of a container with no filesystem
Signed-off-by: San Mehat <san@google.com>
2010-02-28 20:17:20 -08:00
San Mehat
55013f7131 vold: Fix uninitialized mountpoint bug
Signed-off-by: San Mehat <san@google.com>
2010-02-24 12:12:34 -08:00
San Mehat
12f4b89046 vold: Retry rmdir of asec mount point
Signed-off-by: San Mehat <san@google.com>
2010-02-24 11:43:22 -08:00
San Mehat
96956ed0e2 vold: Prohibit container rename when dst container is mounted
Signed-off-by: San Mehat <san@google.com>
2010-02-24 08:42:51 -08:00
San Mehat
0e382532f3 vold: fix infinite loop when failing to unmount a busy container in unmountVolume()
Signed-off-by: San Mehat <san@google.com>
2010-02-24 08:25:55 -08:00
San Mehat
52c2ccb6d2 vold: Make asec sdcard dir a hidden dir
Signed-off-by: San Mehat <san@google.com>
2010-02-23 18:26:13 -08:00
San Mehat
3bb6020e46 vold: Stage the mounting of media to hide the ASEC imagefile directory
In order to protect the '/android_secure' directory on VFAT removable media
from being mucked with by 3rd party applications on the device, we hide the
directory with a read-only, zero-sized tmpfs mounted on-top. A reference to the
hidden directory is kept by a bind-mount which is mounted at a location which
only root can access.

Staging consists of:
  1. Mount checked media at a secure location (/mnt/secure/staging)
  2. Ensure /android_secure exists on the media, (creating if it doesnt)
  3. Bind-mount /mnt/secure/staging/android_secure -> /mnt/secure/asec
     (where only root can access it)
  4. Mount an RDONLY zero-sized tmpfs over /mnt/secure/staging/android_secure
  5. Atomically move /mnt/secure/staging to the publicly accessable storage
     directory (/mnt/sdcard)

Signed-off-by: San Mehat <san@google.com>
2010-02-19 18:14:36 -08:00
San Mehat
8f2875b297 vold: Clean up asec command response and add support for 'StorageBusy'
Signed-off-by: San Mehat <san@google.com>
2010-02-18 11:48:50 -08:00
San Mehat
4ba8948dc1 vold: Add 'force' option to anything that can cause an unmount
Signed-off-by: San Mehat <san@google.com>
2010-02-18 11:48:49 -08:00
San Mehat
d31e380bd9 vold2: Don't allow containers < 1mb, and clean up some logging
Signed-off-by: San Mehat <san@google.com>
2010-02-18 11:48:49 -08:00
Kenny Root
b3b4318ab8 Check length of filenames before strcat
Just in case someone tries to set up a series of links to trick us, do a
quick sanity check on the total length of the strings we're about to
concatenate.

Change-Id: Iba9617008dbc1e93e1907393052caf1e52fbe312
2010-02-18 09:35:35 -08:00
San Mehat
586536c60b vold: Refactor Processkiller and add command to return users of a mount point
Signed-off-by: San Mehat <san@google.com>
2010-02-16 17:12:00 -08:00
San Mehat
8c940ef7db vold: Fix devmapper/ptmx fd leak, and give asec unmount more time
Signed-off-by: San Mehat <san@google.com>
2010-02-13 18:59:48 -08:00
Jean-Baptiste Queru
c6fc646af4 am 4468682c: Merge from open-source master
Merge commit '4468682c7035d431c6154ab298c5ce0f9e2350f8'

* commit '4468682c7035d431c6154ab298c5ce0f9e2350f8':
  new project, first commit
2010-02-11 12:20:09 -08:00
Jean-Baptiste Queru
4468682c70 Merge from open-source master 2010-02-11 11:03:05 -08:00
San Mehat
3b9b8e8308 vold: Fix format argument bug
Signed-off-by: San Mehat <san@google.com>
2010-02-08 15:51:50 -08:00
San Mehat
62e5dd245b vold: Reduce logspam and add 250ms delay before first unmount attempt
Signed-off-by: San Mehat <san@google.com>
2010-02-06 09:53:22 -08:00
San Mehat
b9aed74b14 vold: Fix a few bugs
- share command was taking wrong arguments
 - shared command was returning two termination codes
 - Force FAT32 cluster size to 4k when formatting
Signed-off-by: San Mehat <san@google.com>
2010-02-04 15:07:01 -08:00
San Mehat
f5c6198096 vold: Silly rabbit, don't use unlink() when you mean't rmdir()
Signed-off-by: San Mehat <san@google.com>
2010-02-03 11:04:46 -08:00
San Mehat
2b22552f9a vold: Fix share status argument off by one
Signed-off-by: San Mehat <san@google.com>
2010-02-03 10:26:40 -08:00
San Mehat
fbe33b4a40 vold2: Don't print error on unknown Netlink event
Signed-off-by: San Mehat <san@google.com>
2010-02-03 08:50:19 -08:00
San Mehat
eba65e9d43 vold: Bloat reduction
Signed-off-by: San Mehat <san@google.com>
2010-02-02 08:03:50 -08:00
San Mehat
048b0801fc vold: Add support for renaming secure containers
Signed-off-by: San Mehat <san@google.com>
2010-01-23 08:17:06 -08:00
San Mehat
68f8ebdb24 vold2: update some debugging
Signed-off-by: San Mehat <san@google.com>
2010-01-23 07:23:59 -08:00
San Mehat
a4dc3b15b7 vold: Don't fail to return path if volume isn't mounted
Signed-off-by: San Mehat <san@google.com>
2010-01-22 14:48:31 -08:00
San Mehat
5817821cf1 vold: Add command to unmount secure containers
Signed-off-by: San Mehat <san@google.com>
2010-01-18 06:19:40 -08:00
San Mehat
88705166ab vold: Unmount secure containers when the underlying media is removed.
Signed-off-by: San Mehat <san@google.com>
2010-01-15 09:26:28 -08:00
San Mehat
0586d54053 vold2: Fix issue with destroying / unmounting asec
Signed-off-by: San Mehat <san@google.com>
2010-01-12 15:38:59 -08:00
San Mehat
dfe79492a4 vold2: Fix a mb -> sector conversion refactor bug
Signed-off-by: San Mehat <san@google.com>
2010-01-11 10:03:24 -08:00
San Mehat
c66770f4c0 vold: Rename the C in ASEC to Container
Signed-off-by: San Mehat <san@google.com>
2010-01-11 09:19:15 -08:00
San Mehat
8b8f71b1d7 vold: Internally use sector counts for asec lengths
Signed-off-by: San Mehat <san@google.com>
2010-01-11 09:17:25 -08:00
San Mehat
b78a32c1d5 vold: Add encrypted ASEC support via devmapper
- Supports up to 4096 containers
- Keys are now implemented - specifying a key of 'none' means no encryption.
  Otherwise, the key must be a string of 32 characters

Signed-off-by: San Mehat <san@google.com>
2010-01-11 08:12:52 -08:00
San Mehat
8da6bcb006 vold: Increase max supported loop devices to 255
Signed-off-by: San Mehat <san@google.com>
2010-01-09 12:24:05 -08:00
San Mehat
8d934caeae vold: Always format FAT32
Signed-off-by: San Mehat <san@google.com>
2010-01-09 12:23:47 -08:00
San Mehat
23969931fa vold: Use process-killer when unmounting asec containers
Signed-off-by: San Mehat <san@google.com>
2010-01-09 07:08:06 -08:00
San Mehat
cff5ec3d36 vold: Temporarily disable asec mountpoint permissions
Signed-off-by: San Mehat <san@google.com>
2010-01-08 12:31:44 -08:00
Doug Kwan
1bc9558895 Add missing library used by the main executable in linker options. Currently
the library is implicit added via inter-library dependency.
2010-01-07 13:54:17 -08:00
San Mehat
eb13a90bb9 vold: Don't freak out if an asec mountpoint already exists
Signed-off-by: San Mehat <san@google.com>
2010-01-07 12:15:00 -08:00
San Mehat
fff0b47998 vold2: Enable support for custom mount perm masks and wire to asec
Signed-off-by: San Mehat <san@google.com>
2010-01-06 19:19:46 -08:00
San Mehat
a19b250bd2 vold2: Initial support for Android Secure External Caches
Signed-off-by: San Mehat <san@google.com>
2010-01-06 10:55:29 -08:00