a3e90798b7ad3ed62e5b31842c699b2f98bd457b |
|
18-Oct-2012 |
Kenny Root <kroot@google.com> |
Robustly add symlink and add for non-primary users Amazingly, some apps still don't use the nativeLibraryPath. So add a lib symlink for non-primary users to fix that. Also, there was an error when the symlink existed that it would give up. This shouldn't really happen, but in that case, just remove it and create a new one to be safe. Also, move the downgrade code to the appropriate place. This downgrade case triggered the above symlink existing bug. Bug: 7318366 Bug: 7371571 Change-Id: Ia175b36d98f00bdc2f2433b909aafd524eb34d15
/frameworks/base/cmds/installd/installd.c
|
54289b8b4a110cc1ae106d79785cc762a2aebd6e |
|
01-Oct-2012 |
Amith Yamasani <yamasani@google.com> |
Fix cache deletion for secondary users Bug: 7249419 Change-Id: Idbc0f9994508059ebf5055aea961b87e08b3673a
/frameworks/base/cmds/installd/installd.c
|
9bbd70a96397bd5f1445ad6c21977fccfb350dfa |
|
10-Sep-2012 |
Kenny Root <kroot@google.com> |
Remove "unlinklib" command from installd unlinklib is no longer necessary since libraries are now either stored in an ASEC container or in /data/app-lib Replace lib directory with a symlink to the /data/app-lib directory even if it's a dangling link. That way developers don't name something "lib" in their directory which gets blown away during an update. Change-Id: I142cf13dba9c13aafbaf0ff8d5e9872cbf1cc910
/frameworks/base/cmds/installd/installd.c
|
0c191624fba8484e811027a9db40a62a960ab7dc |
|
09-Sep-2012 |
Kenny Root <kroot@google.com> |
Remove "protect" command from installd No one uses the "protect" command anymore, so remove it from installd. Change-Id: Ia990bae6f95cd6e317496f5dd173ec15164d7164
/frameworks/base/cmds/installd/installd.c
|
812b19a425b8304ac9e5408cc8ceb9f363c72559 |
|
01-Sep-2012 |
Nick Kralevich <nnk@google.com> |
installd: reduce privileges. Make installd run with fewer privileges. This will help make exploitation of installd based vulnerabilities more difficult to perform. installd now runs with the following privileges: * CAP_DAC_OVERRIDE * CAP_CHOWN These two capabilities are needed to add and remove files from application's home directories. * CAP_SETUID * CAP_SETGID These permissions are needed to further drop privileges when running dexopt as the application UID. "installd" no longer runs with full root privileges. It cannot, for example, mount and unmount filesystems, install modules, perform direct I/O, etc. Change-Id: Ib407e41e5e4c95f35a5c6a154812c5e8ae3006ed
/frameworks/base/cmds/installd/installd.c
|
8ea0dc6a89b011d4f478c0c8192570d69cf7ce79 |
|
28-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Shared OBB storage across users. To avoid downloading large OBB files separately for each user, provide a shared view of /sdcard/Android/obb to all apps. Added upgrade step to migrate the owners existing OBB files to become the default view. Bug: 7008879 Change-Id: I199321552fa7d4b97d5ed7fc3b3bc41f23618601
/frameworks/base/cmds/installd/installd.c
|
dc9b0128c52cc797847240e81ebc6de75229a3ab |
|
27-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Ensure /data/media before trying to upgrade. Most devices create the path in their init.rc, but create it just to be sure. This fixes emulator boot failure. Bug: 7058844 Change-Id: Icab3ce11c4304d972d13e1d9a0c269cfe05b9370
/frameworks/base/cmds/installd/installd.c
|
0c3804950236fe170ebf6cc7a5f1e3e305b8f315 |
|
21-Aug-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve multi-user app management. Introduce API to get per-user storage information, keep track of services associated with users, and various small cleanup. Change-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634
/frameworks/base/cmds/installd/installd.c
|
91bbb8a1e9f8b4324fd086fa9b26a4e9fe57569b |
|
17-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Create media paths for existing users. Bug: 6925012 Change-Id: I23bd9187217645cf538e074527c143a911a61299
/frameworks/base/cmds/installd/installd.c
|
5b1ada2562c17921adf6a62ea62bcb445160983c |
|
15-Aug-2012 |
Jeff Sharkey <jsharkey@android.com> |
Multi-user external storage support. Emulated external storage always has multi-user support using paths like "/data/media/<user_id>". Creates and destroys these paths along with user data. Uses new ensure_dir() to create directories while always ensuring permissions. Add external storage mount mode to zygote, supporting both single- and multi-user devices. For example, devices with physical SD cards are treated as single-user. Begin migrating to mount mode instead of relying on sdcard_r GID to enforce READ_EXTERNAL_STORAGE. Bug: 6925012 Change-Id: I9b872ded992cd078e2c013567d59f9f0032ec02b
/frameworks/base/cmds/installd/installd.c
|
197a0c82a1fbf337ec0a85d36b6b89c3d6e8a0ac |
|
12-Jul-2012 |
Dianne Hackborn <hackbod@google.com> |
Improve cleanup of file caches. This rewrites installd's code for deleting cache files to be better: - Isn't really stupid about just deleting directories in the order they are found on the filesytem; now collects all cache files and sorts them by mod time to determine which to delete. - Also deletes cache files in /data/media and for all users. This also tweaks DeviceStorageMonitor to be a little smarter about deciding when to flush cache files, having upper and lower limits that it allows memory to get down to and then flash files to reach the higher free storage limit. This should reduce the amount that we perform flushing when starting to reach the storage limit. Finally add a new pm command to force a cache flush. Change-Id: I02229038e1ad553d1168393e5cb6d5025933271d
/frameworks/base/cmds/installd/installd.c
|
d0c5f515c05d05c9d24971695337daf9d6ce409c |
|
08-Jun-2012 |
Dianne Hackborn <hackbod@google.com> |
Fix issue #6295373: "Package com.google.android.apps.authenticator2 has... ...mismatched uid: X on disk, Y in settings" errors on Froyo and Gingerbread Deal more gracefully with the uid changing in three ways: 1. If the uid on disk has become root, then have installd change it to the application's uid. This is to correct a potential case where installd was interrupted while linking or unlinking the libs dir, during which it temporarily changes the owner of the dir to root so that a malicious app can not get in its way. So if the uid on disk has become root, we assume we can safely just change it back to the correct uid. 2. When scaning packages at boot, use the same "delete and rebuild data directory" code for third party applications as we have for system applications. This allows us to at least end up in a state where the app will run, even if its data is lost. 3. But we really don't want to get in to case 2, so if an application update is being installed and we find that the uid we now have for the app is different than the one on disk, fail the update. This will protect against for example a developer changing the sharedUserId of their app and getting into this bad state. Bug: 6295373 Change-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39
/frameworks/base/cmds/installd/installd.c
|
7ac3ed1d7679e9cb90b44c6ab1629318b17c0690 |
|
24-Mar-2012 |
Nick Kralevich <nnk@google.com> |
resist umask changes, make dirs 0711 Make sure /data/user directory permissions get explicitly set regardless of the system umask. Change directory permissions to 0711. No need for read permissions. Bug: 3272072 Change-Id: Ida7f3c6656f4e0c9d0a9f7648491cc853c4e44ca
/frameworks/base/cmds/installd/installd.c
|
742a67127366c376fdf188ff99ba30b27d3bf90c |
|
04-May-2011 |
Amith Yamasani <yamasani@google.com> |
Multi-user - 1st major checkin Switching activity stacks Cache ContentProvider per user Long-press power to switch users (on phone) Added ServiceMap for separating services by user Launch PendingIntents on the correct user's uid Fix task switching from Recents list AppWidgetService is mostly working. Commands added to pm and am to allow creating and switching profiles. Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
/frameworks/base/cmds/installd/installd.c
|
3762c311729fe9f3af085c14c5c1fb471d994c03 |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Bug: 5449033 Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
/frameworks/base/cmds/installd/installd.c
|
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 |
|
04-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
/frameworks/base/cmds/installd/installd.c
|
292f8bc9d1b790ab975a87a842c7fabc908b97e0 |
|
28-Jun-2011 |
Dianne Hackborn <hackbod@google.com> |
Plumb information from the framework about asec container size. Change-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3
/frameworks/base/cmds/installd/installd.c
|
0b285499db739ba50f2f839d633e763c70e67f96 |
|
15-Apr-2011 |
Amith Yamasani <yamasani@google.com> |
Plumbing in PackageManager and installd for multi-user support. - Create /data/user directory and symlink /data/user/0 -> /data/data for backward compatibility - Create data directories for all packages for new user - Remove data directories when removing a user - Create data directories for all users when a package is created - Clear / Remove data for multiple users - Fixed a bug in verifying the location of a system app - pm commands for createUser and removeUser (will be disabled later) - symlink duplicate lib directories to the original lib directory Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
/frameworks/base/cmds/installd/installd.c
|
86c9584559439504fc57ece2ccd9b6cbd568430c |
|
31-Mar-2011 |
Kenny Root <kroot@google.com> |
Update installd to allow multiuser * Add ability to select different personas to generate the path to be created. * Move hardcoded paths to read from init's set environment. * Add unit tests for all the utility functions that build strings to make sure they're correct. * Fill in persona with "0" all the time now. Will be plumbed through in later CL. Change-Id: I0a7f6e3640cb6b052f8823080886ee79e90b679f
/frameworks/base/cmds/installd/installd.c
|
35ab3ad61fcc349380d7e7f2fcf9a0dfbf76ae11 |
|
03-Feb-2011 |
Kenny Root <kroot@google.com> |
Remove defunct secure FS work Bug: 3365047 Change-Id: I68eaea295881f5431907e1b93bdd73e644e84aa5
/frameworks/base/cmds/installd/installd.c
|
6a6b007c77e5cab7ee435506a4f65824f52028b6 |
|
08-Oct-2010 |
Kenny Root <kroot@google.com> |
Symlink application lib directory when on SD card This will help legacy games that use dlopen() to directly access the /data/data/<app>/lib directory before the ApplicationInfo.nativeLibraryDir was part of the API. Change-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da
/frameworks/base/cmds/installd/installd.c
|
3e319a9962434e1fae86b2180ad210170f02c152 |
|
07-Sep-2010 |
Kenny Root <kroot@google.com> |
Allow installd to handle large partitions Use int64_t because we're RPCing over to Java which uses a Long to represent the filesystem space. Change-Id: I842b2cf9f2ff8f980ff5895c1c8eb9ebefa1ea31
/frameworks/base/cmds/installd/installd.c
|
b858dfda5012a1040927ed62c3bb856c3294d882 |
|
02-Feb-2010 |
Dianne Hackborn <hackbod@google.com> |
Implement system data migration support. This adds three new features: - <original-package android:name="com.foo" /> manifest tag. This allows an .apk to specify another package it originally came from, propagating all state and data from the old to new package. - <adopt-permissions android:name="com.foo" /> manifest tag. In some more complicated cases, a new .apk may be a combination of multiple older .apks that each declared their own permissions. This allows you to propagate the permissions from these other .apks into the new one. - A new system/etc/updatecmds directory. You can place files here which describe data files to move from one package to another. (See below for details.) Also in this change: we now clean up the data directories of .apks that disappear from the system image, and some improvements to logging and reporting error messages. A typical file in the updatecmds directory looks like this: ------- com.google.android.gsf:com.google.android.providers.talk databases/talk.db com.google.android.gsf:com.google.android.googleapps databases/gls.db ------- This says that for com.google.android.sfs, there are two packages to move files from: From com.google.android.providers.talk, the file databases/talk.db. From com.google.android.googleapps, the file databases/gls.db As part of moving the file, its owner will be changed from the old package to whoever is the owner of the new package's data directory. If those two files had existed, after booting you would now have the files: /data/data/com.google.android.gsf/databases/talk.db /data/data/com.google.android.gsf/databases/gls.db Note that all three of these facilities assume that the older .apk is completely removed from the newer system. The WILL NOT work correctly if the older .apk still remains.
/frameworks/base/cmds/installd/installd.c
|
a8529f68671a8a118751cb6ad577f44eaf076b96 |
|
18-Nov-2009 |
Oscar Montemayor <oam@google.com> |
Encrypted File Systems Project. Installer modifications. Started to modify isntaller for data redirection to a secure location.
/frameworks/base/cmds/installd/installd.c
|
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/cmds/installd/installd.c
|
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
/frameworks/base/cmds/installd/installd.c
|
54b6cfa9a9e5b861a9930af873580d6dc20f773c |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
/frameworks/base/cmds/installd/installd.c
|