Commit Graph

612 Commits

Author SHA1 Message Date
Nick Kralevich
fc1b9fa317 am b66ee6c3: Merge "Ensure that app lib symlinks are correctly labeled when created."
* commit 'b66ee6c32d87961d5b9f0be97b5fdccb928fd453':
  Ensure that app lib symlinks are correctly labeled when created.
2014-05-13 20:35:38 +00:00
Stephen Smalley
3a98389263 Ensure that app lib symlinks are correctly labeled when created.
At present, the app lib symlinks are created before setting
the package directory security context, and therefore default
to system_data_file.  Upon a later restorecon_recursive,
they are relabeled to the same type as the package directory,
e.g. app_data_file.  Avoid this inconsistency by setting the
package directory security context before creating the symlink
so that it inherits the same security context.

Change-Id: I1ee6ccd8a2aa63a4d2efda67f313c97932235911
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-05-13 12:59:40 -04:00
Narayan Kamath
fc4e378877 am 44df726a: am cb079c89: Merge "Add instruction-set arguments to installd commands."
* commit '44df726a6cf4fe1119e146c9a18c78966a6305d3':
  Add instruction-set arguments to installd commands.
2014-05-01 14:05:10 +00:00
Narayan Kamath
44df726a6c am cb079c89: Merge "Add instruction-set arguments to installd commands."
* commit 'cb079c899ac9d9c5ec90840249821f58c817406c':
  Add instruction-set arguments to installd commands.
2014-05-01 14:00:54 +00:00
Narayan Kamath
1b40032077 Add instruction-set arguments to installd commands.
The instruction-set is used to construct the dalvik cache
path and is also passed down to dex2oat.

(cherry picked from commit 791781bfb8)

Change-Id: I43396b16f6eaecacf0fb7d052526fc5a239167ac
2014-05-01 11:38:02 +01:00
Nick Vaccaro
bd81c258c2 am 45fcfb48: am 85453ecc: dumpstate: increase poll timeout waiting for SIGQUIT logging
* commit '45fcfb48ef9e65747e7a3f35e1a4da232f6e161a':
  dumpstate: increase poll timeout waiting for SIGQUIT logging
2014-04-30 23:35:03 +00:00
Nick Vaccaro
45fcfb48ef am 85453ecc: dumpstate: increase poll timeout waiting for SIGQUIT logging
* commit '85453ecc90a94564e586f0f97c9ec2c0cf831501':
  dumpstate: increase poll timeout waiting for SIGQUIT logging
2014-04-30 20:35:15 +00:00
Nick Vaccaro
85453ecc90 dumpstate: increase poll timeout waiting for SIGQUIT logging
Increased the maximum time dumpstate will wait for SIGQUIT process
to finish dumping its thread stacks to the logfile to 5 seconds.

Bug: 14057177
Change-Id: I0b43004512855d202f2fe0ea7b0e934e77a3a070
2014-04-30 11:28:31 -07:00
Narayan Kamath
791781bfb8 Add instruction-set arguments to installd commands.
The instruction-set is used to construct the dalvik cache
path and is also passed down to dex2oat.

Change-Id: Ie480841b3e917dabe23ad4d5f4a0b08990500a51
2014-04-30 09:39:37 +01:00
Bill Yi
e4f00b2aae Merge commit '6d05ef2310bdc84811d5b0385b009ad11447a749' into HEAD 2014-04-29 11:34:19 -07:00
Brian Carlstrom
aaa22fd38c am 58ea37fe: am 108ed9fa: Merge "Fix incorrect odex path handling"
* commit '58ea37fe26fc733db478e606374f08d8a9d070cc':
  Fix incorrect odex path handling
2014-04-28 22:10:01 +00:00
Brian Carlstrom
58ea37fe26 am 108ed9fa: Merge "Fix incorrect odex path handling"
* commit '108ed9fa946ec516c0d853927c76ebbfca1dcb23':
  Fix incorrect odex path handling
2014-04-28 22:06:09 +00:00
Chih-Wei Huang
0e8ae16f08 Fix incorrect odex path handling
It's wrong to just concatenate the apk_path and .odex.
The bug prevents the prebuilt odex being used since Kitkat.

The patch is copied from the code of JellyBean.

Change-Id: I0ce8a877e3df8ae1ab9a0e3aeeef2d5253efc223
2014-04-28 14:08:16 -07:00
Mohamad Ayyash
dd306d43ed Merge "atrace: Add f2fs sync and ext4 write tracepoints." 2014-04-15 22:10:10 +00:00
Mohamad Ayyash
26dbcbe013 atrace: Add f2fs sync and ext4 write tracepoints.
Change-Id: I76fa32f7d80aaeafc26494d9018b7a004e7dc3d2
2014-04-11 17:31:31 -07:00
Nick Kralevich
db1d823b4c am 236ed6d3: am 82fb5809: Merge "restorecon the profile directory."
* commit '236ed6d3d376b12573cca6878d3b5013371f5bc8':
  restorecon the profile directory.
2014-04-09 19:49:43 +00:00
Nick Kralevich
236ed6d3d3 am 82fb5809: Merge "restorecon the profile directory."
* commit '82fb58095524c833b0470c4b236aa8a70acf2a0f':
  restorecon the profile directory.
2014-04-09 19:46:14 +00:00
Stephen Smalley
a240733137 restorecon the profile directory.
This is required so that it will be assigned the correct SELinux
security context on first creation by installd.

Bug: 13927667
Change-Id: I4857d031f9e7e60d48b8c72fcb22a81b3a2ebaaa
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-04-09 19:08:20 +00:00
Nick Kralevich
96668903e4 am 4b3d6e31: am 3ebb877e: Merge "Modify installd\'s restorecon function."
* commit '4b3d6e310016140026b0b6c9dca757bf37d6d26a':
  Modify installd's restorecon function.
2014-03-31 20:26:29 +00:00
Nick Kralevich
4b3d6e3100 am 3ebb877e: Merge "Modify installd\'s restorecon function."
* commit '3ebb877e52a2661de56c3f44827f33824e735730':
  Modify installd's restorecon function.
2014-03-31 20:20:44 +00:00
Robert Craig
da30dc7336 Modify installd's restorecon function.
Changes above with PMS and below with libselinux
have resulted in a few changes to the restorecon data
api. This change is needed in order to support the new
way to issue a recursive restorecon of certain
/data/data directories.

The restorecondata function has also been modified to
find all users on the device for a given package name
(argument to the function) and to issue a separate
recursive restorecon call for each.

Change-Id: Ie440cba2c96f0907458086348197e1506d31c1b6
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-03-28 14:32:07 -04:00
Nick Kralevich
9cddbd258d am d9ee7dee: am b1a8c016: Merge "Send libselinux logging to logcat."
* commit 'd9ee7dee2cf42c0e672c7ac85c0252a22d3e5f08':
  Send libselinux logging to logcat.
2014-03-26 16:36:38 +00:00
Nick Kralevich
d9ee7dee2c am b1a8c016: Merge "Send libselinux logging to logcat."
* commit 'b1a8c016371282a3cd3b113e6b2c0310372babf2':
  Send libselinux logging to logcat.
2014-03-26 15:55:46 +00:00
Stephen Smalley
7abb52bcaf Send libselinux logging to logcat.
Otherwise we can't readily see log messages from libselinux calls
made by installd.

Change-Id: I319b30c181470468fe19dd5fbe9251ef03f1163b
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-03-26 09:31:25 -04:00
Xia Wang
d0d4366475 am a0da27d5: am 9c7db080: Build the benchmark test to /data/local/tmp/ for automated test
* commit 'a0da27d546865d075322c410121e9c3101cec449':
  Build the benchmark test to /data/local/tmp/ for automated test
2014-03-25 03:53:59 +00:00
Xia Wang
a0da27d546 am 9c7db080: Build the benchmark test to /data/local/tmp/ for automated test
* commit '9c7db08049e1d36c2f60dd703f27c432bc8cfbc5':
  Build the benchmark test to /data/local/tmp/ for automated test
2014-03-25 03:46:32 +00:00
Xia Wang
6d05ef2310 am 9c7db080: Build the benchmark test to /data/local/tmp/ for automated test
* commit '9c7db08049e1d36c2f60dd703f27c432bc8cfbc5':
  Build the benchmark test to /data/local/tmp/ for automated test
2014-03-24 18:39:57 +00:00
Xia Wang
9c7db08049 Build the benchmark test to /data/local/tmp/ for automated test
Change-Id: I27a5ee24636ff9752a35dbab793821f6b7a79221
(cherry picked from commit b7925f1364)
2014-03-24 18:13:19 +00:00
Nick Kralevich
bb9c93bb6e am 5d58e309: am 1bf30245: Merge "Extend installd to support SELinux restorecon function."
* commit '5d58e3092d70231da57140a7d9d9fbb87fd4b8e6':
  Extend installd to support SELinux restorecon function.
2014-03-19 20:41:51 +00:00
Nick Kralevich
5d58e3092d am 1bf30245: Merge "Extend installd to support SELinux restorecon function."
* commit '1bf30245cbb8be7279fadcf4071cecc8db91789f':
  Extend installd to support SELinux restorecon function.
2014-03-19 20:29:27 +00:00
Robert Craig
e9887e46ce Extend installd to support SELinux restorecon function.
Implement new restorecondata function which will allow
the relabeling of /data/data and /data/user directories.
This is needed in the case of certain OTAs. Not every
boot will apply this relabeling however. Consult change
I77bf2a0c4c34b1feef6fdf4d6c3bd92dbf32f4a1 for
clarification on this issue.

Change-Id: I05e8b438950ddb908e46c9168ea6ee601e6d674f
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2014-03-19 17:37:48 +00:00
Dan Stoza
2c22093c1c Merge "Remove deprecated BufferQueue constructor" 2014-03-17 18:46:14 +00:00
Mark Salyzyn
993146092f am d4dabf87: am cdbf28b3: Merge "native frameworks: 64-bit compile issues"
* commit 'd4dabf872ac0a12e12aebae9032f7d62762c2aeb':
  native frameworks: 64-bit compile issues
2014-03-13 23:12:09 +00:00
Dan Stoza
6780a2d6a5 Remove deprecated BufferQueue constructor
Bug: 13415624
Change-Id: I1c17833511b5961af5a9bbb9cc3d627ce558d424
2014-03-13 11:31:43 -07:00
Mark Salyzyn
d4dabf872a am cdbf28b3: Merge "native frameworks: 64-bit compile issues"
* commit 'cdbf28b3f7f5327f4cb0eb95b8326bf4c24c87ba':
  native frameworks: 64-bit compile issues
2014-03-13 15:26:10 +00:00
Mark Salyzyn
92dc3fc52c native frameworks: 64-bit compile issues
- Fix format (print/scanf)
- Suppress unused argument warning messages (bonus)

Change-Id: I05c7724d2aba6da1e82a86000e11f3a8fef4e728
2014-03-12 13:12:44 -07:00
Anwar Ghuloum
d105876a6c am 85864b87: am 06ed9491: Merge "Fix parameter ordering for installd\'s dex2oat execl."
* commit '85864b8724b3908d2f5aa861276ce5e80d7f820e':
  Fix parameter ordering for installd's dex2oat execl.
2014-03-12 19:57:05 +00:00
Anwar Ghuloum
85864b8724 am 06ed9491: Merge "Fix parameter ordering for installd\'s dex2oat execl."
* commit '06ed9491418ce84e4272bf4201545fa6cfe3932e':
  Fix parameter ordering for installd's dex2oat execl.
2014-03-11 23:43:19 +00:00
Anwar Ghuloum
4bc054019d Fix parameter ordering for installd's dex2oat execl.
Change-Id: Ibd6fd46c6ec3137874f9a3d5eea134bc804e039a
2014-03-11 15:42:58 -07:00
Andy McFadden
e98151e004 Remove "screenshot"
This is the old screenshot utility, which relies on direct access
to the framebuffer device.  It was replaced a long time ago by
"screencap", which talks to SurfaceFlinger (and includes a fallback
that tries to use the FB dev).

Change-Id: Id75a574bc78033761070b64d528fed06e23a0189
2014-03-11 11:21:21 -07:00
Dave Allison
544b09523b am 13c6fb10: am 1649c77e: Merge "ART profiler"
* commit '13c6fb1026531635f409f111d78d561592d2ede9':
  ART profiler
2014-03-08 07:28:20 +00:00
Dave Allison
13c6fb1026 am 1649c77e: Merge "ART profiler"
* commit '1649c77ed29eada5de32ace97033b9d898e9a6eb':
  ART profiler
2014-03-08 01:56:32 +00:00
Dave Allison
d93707342a ART profiler
Add args to the installd commands for profiler usage.
Make installd create the profile files and allow apps
to write to them.

The profile files are in /data/dalvik-cache/profiles.  This
central location is needed due to permissions issues with
dex2oat reading from an app's data directory.  The solution
is to put the profile file in a directory owned by the
install user and make the file writeable by the shared group
id of for the app.  The app can read and write to these files
only in the profiles directory.  The 'system' user also needs
to be able to read the files in order to determine the amount
of change to the file over time.

Bug: 12877748
Change-Id: I9b8e59e3bd7df8a1bf60fa7ffd376a24ba0eb42f

Conflicts:
	cmds/installd/commands.c
2014-03-07 12:35:52 -08:00
Mathieu Chartier
62d0f901fd Don't pass in empty arg to dex2oat.
We would occassionally pass in an empty arg "" instead of a NULL.
This caused problems since dex2oat isn't made to handle empty args.

(cherry picked from commit f53dbfeda3)

Change-Id: Ia2d60b895391bf83b5d250c20ddb8a4917d347a6
2014-03-05 17:56:31 -08:00
Mathieu Chartier
1d84e25648 am 3c39e03c: Merge "Don\'t pass in empty arg to dex2oat."
* commit '3c39e03c08094ce65608cae8a45dd726cf10b5c3':
  Don't pass in empty arg to dex2oat.
2014-03-06 01:05:22 +00:00
Mathieu Chartier
f53dbfeda3 Don't pass in empty arg to dex2oat.
We would occassionally pass in an empty arg "" instead of a NULL.
This caused problems since dex2oat isn't made to handle empty args.

Change-Id: Ibb1aed64a4aa17459b2a75a5a2abcf13c7fa8ac7
2014-03-05 16:58:48 -08:00
Brian Carlstrom
cd44310a13 am c9e60374: am e19c99aa: Merge "Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags"
* commit 'c9e60374f5144e94103e5b866570be114aa165c8':
  Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags
2014-03-05 22:33:26 +00:00
Brian Carlstrom
c9e60374f5 am e19c99aa: Merge "Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags"
* commit 'e19c99aad605c395f53bf39ae1a27e298e7e33ce':
  Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags
2014-03-05 20:09:46 +00:00
Brian Carlstrom
0ae8e39ebc Add dalvik.vm.dex2oat-flags to mimic dalvik.vm.dexopt-flags
Change-Id: Ic048ed654ea0ae38c9684e5fa5b14742b6b83305
2014-03-04 14:11:55 -08:00
Narayan Kamath
87eb08dc07 am ad0f05be: am b98c4761: Merge "Correcting include path in installd test project\'s Android.mk"
* commit 'ad0f05bed95dc816a5b1e4bea23b0736458c1857':
  Correcting include path in installd test project's Android.mk
2014-02-28 16:23:59 +00:00
Narayan Kamath
ad0f05bed9 am b98c4761: Merge "Correcting include path in installd test project\'s Android.mk"
* commit 'b98c4761e0c80a8d8138910e0a5e5fc8baff8282':
  Correcting include path in installd test project's Android.mk
2014-02-28 16:19:30 +00:00
Ramin Zaghi
7400742285 Correcting include path in installd test project's Android.mk
installd project has moved from frameworks/base to frameworks/native
 and so its test project's c_include path defined in Android.mk
 has to match the change.

Change-Id: I597125ff659f51edbd9fc95371790e2d567c78be
2014-02-28 15:41:57 +00:00
Xia Wang
b7925f1364 Build the benchmark test to /data/local/tmp/ for automated test
Change-Id: I27a5ee24636ff9752a35dbab793821f6b7a79221
2014-02-26 18:04:50 -08:00
Dianne Hackborn
20c7adbfaa am b37b312b: am 7d86b454: Merge "frameworks/native: move idmap to frameworks/base"
* commit 'b37b312b829c7ab5107c2f96d0a95a557f67a831':
  frameworks/native: move idmap to frameworks/base
2014-02-14 02:00:17 +00:00
Dianne Hackborn
b37b312b82 am 7d86b454: Merge "frameworks/native: move idmap to frameworks/base"
* commit '7d86b45472898373bbe3ef03286b66d71ea82b79':
  frameworks/native: move idmap to frameworks/base
2014-02-14 01:54:37 +00:00
Dianne Hackborn
7d86b45472 Merge "frameworks/native: move idmap to frameworks/base" 2014-02-14 01:45:28 +00:00
Nick Kralevich
165c8bdfb5 am 0e4d2885: am 2044ac43: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit '0e4d2885a34d31f5dbe5a08bdb654953abaf82a2':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-13 00:16:04 +00:00
Nick Kralevich
0e4d2885a3 am 2044ac43: Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API."
* commit '2044ac43e53b517526b3c70dc4fbc60ffc01693f':
  Convert all selinux_android_restorecon and _setfilecon calls to new API.
2014-02-12 23:15:07 +00:00
Nick Kralevich
2044ac43e5 Merge "Convert all selinux_android_restorecon and _setfilecon calls to new API." 2014-02-12 23:09:45 +00:00
Colin Cross
07a4728150 frameworks/native: move idmap to frameworks/base
idmap depends on libandroidfw, so it should go in frameworks/base.

Change-Id: Ieee30ba9d8170d3118acc89f0617981228a6974b
2014-02-11 18:04:03 -08:00
Dianne Hackborn
297097957f am 6e5fdb15: am 6c14f0ad: Merge "Runtime resource overlay, iteration 2"
* commit '6e5fdb1551ca7d117bf7e1acca133a077a8701f0':
  Runtime resource overlay, iteration 2
2014-02-11 21:49:02 +00:00
Dianne Hackborn
6e5fdb1551 am 6c14f0ad: Merge "Runtime resource overlay, iteration 2"
* commit '6c14f0ad82be418c742e56fe586657ea0f394b05':
  Runtime resource overlay, iteration 2
2014-02-11 21:41:23 +00:00
Dianne Hackborn
6c14f0ad82 Merge "Runtime resource overlay, iteration 2" 2014-02-11 21:27:36 +00:00
Dianne Hackborn
667c3a19d8 am 99188064: am 340aa8cb: Merge "New command line tool \'idmap\'"
* commit '99188064fd3b2d4ca85b02afefa4adb2562f8940':
  New command line tool 'idmap'
2014-02-11 20:41:09 +00:00
Dianne Hackborn
99188064fd am 340aa8cb: Merge "New command line tool \'idmap\'"
* commit '340aa8cbd4afbb68b16f369336cc1c202582f021':
  New command line tool 'idmap'
2014-02-11 20:35:42 +00:00
Dianne Hackborn
340aa8cbd4 Merge "New command line tool 'idmap'" 2014-02-11 20:29:56 +00:00
Stephen Smalley
26288202e7 Convert all selinux_android_restorecon and _setfilecon calls to new API.
libselinux selinux_android_restorecon API is changing to the more
general interface with flags and dropping the older variants.

Also get rid of the old, no longer used selinux_android_setfilecon API
and rename selinux_android_setfilecon2 to it as it is the only API in use.

Change-Id: I1e71ec398ccdc24cac4ec76f1b858d0f680f4925
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-02-07 09:36:11 -05:00
Arve Hjønnevåg
ba91e5af45 am 8641112a: am 4e7fd950: Merge "Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set."
* commit '8641112a1c3d4ff3ed68131d07eed01b715ac906':
  Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.
2014-02-04 02:10:18 +00:00
Arve Hjønnevåg
8641112a1c am 4e7fd950: Merge "Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set."
* commit '4e7fd9506103dcc9750788caf1f94b8d1348f37b':
  Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.
2014-02-04 02:01:45 +00:00
Arve Hjønnevåg
f3ad11cf3c Use 64 bit binder interface if TARGET_USES_64_BIT_BINDER _or_ TARGET_IS_64_BIT is set.
Change-Id: I46a29939fa29ec9421ab6dff3285502f69a31745
2014-02-03 14:48:36 -08:00
Arve Hjønnevåg
88f6ad18de am c93865de: am 58242fc2: Merge changes Ib0e5a037,I1bd7c38e,Icfc67c2a,I96c64312,I59528054, ...
* commit 'c93865de80a16d3638936890fb42eb175284044b':
  ServiceManager: Implement PING_TRANSACTION
  ServiceManager: Use 32/64 bit types from new binder header
  Binder: Use 64 bit pointers in 32 processes if selected by the target
  Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true
  Binder: Make binder portable
  ServiceManager: Fix the binder interface
  ServiceManager: Store handles in uint32_t instead of void *
  ServiceManager: Generic Fixes
  ServiceManager: Add extra error handling
  ServiceManager: Fix Android.mk
  ServiceManager: Make use of kernel exported structures
2014-02-03 22:11:16 +00:00
Arve Hjønnevåg
c93865de80 am 58242fc2: Merge changes Ib0e5a037,I1bd7c38e,Icfc67c2a,I96c64312,I59528054, ...
* commit '58242fc29881cf29d56ee6e5fde6d73b16d0b67c':
  ServiceManager: Implement PING_TRANSACTION
  ServiceManager: Use 32/64 bit types from new binder header
  Binder: Use 64 bit pointers in 32 processes if selected by the target
  Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true
  Binder: Make binder portable
  ServiceManager: Fix the binder interface
  ServiceManager: Store handles in uint32_t instead of void *
  ServiceManager: Generic Fixes
  ServiceManager: Add extra error handling
  ServiceManager: Fix Android.mk
  ServiceManager: Make use of kernel exported structures
2014-02-03 21:18:35 +00:00
MÃ¥rten Kongstad
63568b1430 Runtime resource overlay, iteration 2
Support any number of overlay packages. Support any target package.

UPDATED PACKAGE MATCHING
------------------------
In Runtime resource overlay, iteration 1, only a single overlay package
was considered. Package matching was based on file paths:
/vendor/overlay/system/framework-res.apk corresponded to
/system/framework-res.apk. Introduce a more flexible matching scheme
where any package is an overlay package if its manifest includes

    <overlay targetPackage="com.target.package"/>

For security reasons, an overlay package must fulfill certain criteria
to take effect: see below.

THE IDMAP TOOL AND IDMAP FILES
------------------------------
Idmap files are created by the 'idmap' binary; idmap files must be
present when loading packages. For the Android system, Zygote calls
'idmap' as part of the resource pre-loading. For application packages,
'idmap' is invoked via 'installd' during package installation (similar
to 'dexopt').

UPDATED FLOW
------------
The following is an outline of the start-up sequences for the Android
system and Android apps. Steps marked with '+' are introduced by this
commit.

Zygote initialization
   Initial AssetManager object created
+    idmap --scan creates idmaps for overlays targeting 'android', \
           stores list of overlays in /data/resource-cache/overlays.list
   AssetManager caches framework-res.apk
+  AssetManager caches overlay packages listed in overlays.list

Android boot
   New AssetManager's ResTable acquired
     AssetManager re-uses cached framework-res.apk
+    AssetManager re-uses cached 'android' overlays (if any)

App boot
   ActivityThread prepares AssetManager to load app.apk
+  ActivityThread prepares AssetManager to load app overlays (if any)
   New AssetManager's ResTable acquired as per Android boot

SECURITY
--------
Overlay packages are required to be pre-loaded (in /vendor/overlay).
These packages are trusted by definition. A future iteration of runtime
resource overlay may add support for downloaded overlays, which would
likely require target and overlay signatures match for the overlay to
be trusted.

LOOKUP PRIORITY
---------------
During resource lookup, packages are sequentially queried to provide a
best match, given the constraints of the current configuration. If any
package provide a better match than what has been found so far, it
replaces the previous match. The target package is always queried last.

When loading a package with more than one overlay, the order in which
the overlays are added become significant if several packages overlay
the same resource.

Had downloaded overlays been supported, the install time could have been
used to determine the load order. Regardless, for pre-installed
overlays, the install time is randomly determined by the order in which
the Package Manager locates the packages during initial boot. To support
a well-defined order, pre-installed overlay packages are expected to
define an additional 'priority' attribute in their <overlay> tags:

    <overlay targetPackage="com.target.package" priority="1234"/>

Pre-installed overlays are loaded in order of their priority attributes,
sorted in ascending order.

Assigning the same priority to several overlays targeting the same base
package leads to undefined behaviour. It is the responsibility of the
vendor to avoid this.

The following example shows the ResTable and PackageGroups after loading
an application and two overlays. The resource lookup framework will
query the packages in the order C, B, A.

        +------+------+-     -+------+------+
        | 0x01 |      |  ...  |      | 0x7f |
        +------+------+-     -+------+------+
            |                           |
        "android"                Target package A
                                        |
                       Pre-installed overlay B (priority 1)
                                        |
                       Pre-installed overlay C (priority 2)

Change-Id: If49c963149369b1957f7d2303b3dd27f669ed24e
2014-02-03 16:16:40 +01:00
MÃ¥rten Kongstad
5ee3dafa98 New command line tool 'idmap'
Introduce a new tool 'idmap' to handle generation and verification of
idmap files. The tool is modelled on 'dexopt', and is intended to be
used similarly, notably by 'installd'.
See cmds/idmap/idmap.cpp for further documentation on 'idmap'.

Note: this commit is interdependent on a commit in project build/ to add
'idmap' to PRODUCT_PACKAGES.

Note: the changes to androidfw are only stubs. The actual implementation
will be provided in Runtime resource overlay, iteration 2.

Change-Id: I7131b74ece1e46c8a9c0a31d103e686aa07da2bb
2014-02-03 16:16:39 +01:00
Arve Hjønnevåg
e5245cbf5d ServiceManager: Implement PING_TRANSACTION
Stop printing "invalid id " to stderr every time a process tries to
connect to the servicemanager.

Change-Id: Ib0e5a0375bfa2dec2c2f9cd668bd5dda46ed6588
2014-01-31 17:22:30 -08:00
Arve Hjønnevåg
399b6c3bbc ServiceManager: Use 32/64 bit types from new binder header
Change-Id: I1bd7c38ed9f43125cf9c63aa533434ee7ca06f80
2014-01-31 17:22:30 -08:00
Arve Hjønnevåg
e91fff0a2d Add BINDER_IPC_32BIT to CFLAGS unless TARGET_USES_64_BIT_BINDER is true
Change-Id: I96c643123b0314c361b7f48a18d5c22c660d4ff5
2014-01-31 15:50:59 -08:00
Brian Carlstrom
e0dd0b8514 am af3efe8c: Merge "frameworks/native: Rename persist.sys.dalvik.vm.lib to allow new default"
* commit 'af3efe8ce7e2eeb7a98552af5cf38d8a9720f018':
  frameworks/native: Rename persist.sys.dalvik.vm.lib to allow new default
2014-01-31 12:34:20 +00:00
Serban Constantinescu
3a345f0df5 ServiceManager: Fix the binder interface
This patch adds support for binder transactions on 64bit systems
without breaking the existing 32bit ABI. It has been tested on
the Android emulator and ARMv8 Model.

Most of the changes in this patch just follow the binder ABI.

Change-Id: I8c37b847ea65008d56554d34d4696fe3d22f7533
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:49:34 +00:00
Serban Constantinescu
5fb1b8836a ServiceManager: Store handles in uint32_t instead of void *
This patch corrects the types used for storing handles.

Change-Id: If9c10782345f1de9e12b4b3fd6be9e02e6b568cd
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:49:30 +00:00
Serban Constantinescu
9b738bb411 ServiceManager: Generic Fixes
This patch fixes some of the ServiceManager issues. The following patches
of the series add fixes to the ABI.

Change-Id: Ib479234c8704e12592f1b149ddec67881bc50230
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:49:25 +00:00
Serban Constantinescu
a44542ca74 ServiceManager: Add extra error handling
This patch extends the error handling. It also adds a check for a matching
binder version - kernel/userspace.

Change-Id: I43a262934b38c5711536aaa42754fed1ef04b39e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:49:20 +00:00
Serban Constantinescu
dc832dc551 ServiceManager: Fix Android.mk
This patch fixes Android.mk and enables building bctest as an optional
module without any extra hacks.

Change-Id: Icaf8bf9452776db2ea4a2ba75f3abf05b4e2cdab
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:49:16 +00:00
Serban Constantinescu
bcf38880c6 ServiceManager: Make use of kernel exported structures
This patch switches ServiceManager to use the structures exported in the
kernel headers rather then redefining its own.

struct binder_txn is replaced with struct binder_transaction_data and struct
binder_object with struct flat_binder_object, both defined in the binder driver
header <linux/binder.h>.

Change-Id: I3b3e97918173ea35a289e184774ae06193192da3
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-01-31 10:20:49 +00:00
Brian Carlstrom
87a12bf53b frameworks/native: Rename persist.sys.dalvik.vm.lib to allow new default
Bug: 12798969

(cherry picked from commit 0c05d3aca6)

Change-Id: I3db785c3f8a3d242d7a0127ed5bec9ecca67f52c
2014-01-30 16:27:52 -08:00
Brian Carlstrom
0c05d3aca6 frameworks/native: Rename persist.sys.dalvik.vm.lib to allow new default
Bug: 12798969
Change-Id: I6b40317eceb3d89b0acff88238a9a9ab423c4d78
2014-01-30 13:16:53 -08:00
John Spurlock
5ecd4beef8 Dump system settings for all users
Change-Id: Ic832b19fe698da1984876b2949c3f26990ae5076
2014-01-29 14:34:24 -05:00
Guang Zhu
9fcca4ee17 releax wait timeout on start of dumpstate service
Bug: 12181612
Change-Id: If7ae97de1e42890dac37d036ead669ccda65e688
2014-01-15 15:58:54 -08:00
Nick Kralevich
b281d81404 am e2d412f0: am e7394ba8: am c02c35fb: Merge "restorecon /data/media when re-creating it for multi-user upgrade."
* commit 'e2d412f0466ac6a1a33e2c2563ed2192b58bfa87':
  restorecon /data/media when re-creating it for multi-user upgrade.
2013-12-17 23:18:58 +00:00
Nick Kralevich
e2d412f046 am e7394ba8: am c02c35fb: Merge "restorecon /data/media when re-creating it for multi-user upgrade."
* commit 'e7394ba8bd9cd90a0fb72f6c50522a41cd7877fd':
  restorecon /data/media when re-creating it for multi-user upgrade.
2013-12-17 23:12:20 +00:00
Stephen Smalley
47a351834f restorecon /data/media when re-creating it for multi-user upgrade.
Change-Id: I112c61863f2104d1962697c54cff25106e9b48a0
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-12-17 16:04:20 -05:00
Todd Poynor
34ced636fb am 2a83daa8: dumpstate: dump console-ramoops instead of last_kmsg if present
* commit '2a83daa8a3e1eab292dc1464bbe78f025f4bc0e9':
  dumpstate: dump console-ramoops instead of last_kmsg if present
2013-12-11 06:30:39 +00:00
Todd Poynor
2a83daa8a3 dumpstate: dump console-ramoops instead of last_kmsg if present
Change-Id: I41a922b33f0b6b4e8e150a92e46032501a165e33
2013-12-10 14:42:27 -08:00
Nick Kralevich
17dc96ecde am 651dc744: am bef08b8d: Merge "Handle policy reloads within installd rather than restarting it."
* commit '651dc7440b10c8a4090bd5469a2e90d3bfe8356e':
  Handle policy reloads within installd rather than restarting it.
2013-12-02 23:31:01 +00:00
Nick Kralevich
bef08b8d1b Merge "Handle policy reloads within installd rather than restarting it." 2013-11-27 21:09:13 +00:00
Nick Kralevich
b5e4762129 am e4e91c4e: resolved conflicts for merge of e678897f to klp-dev-plus-aosp
* commit 'e4e91c4ead821afb5aced2e33ee39d8878eb4d1e':
  Proper security labeling of multi-user data directories.
2013-09-20 12:53:20 -07:00
Nick Kralevich
e4e91c4ead resolved conflicts for merge of e678897f to klp-dev-plus-aosp
Change-Id: Ie2a5e7a917ab7f5a0ee98300b880d22c7a10bf70
2013-09-20 12:45:20 -07:00
Mike Lockwood
30a7d5a5a9 Add support for "input" service running as user AID_INPUT
Change-Id: I8b6700c25ea2264fb3e1c16e18df281eb67b931f
2013-09-18 14:44:30 -07:00
Robert Craig
880d1a957e Proper security labeling of multi-user data directories.
Add seinfo paramater to appropriate make directory
functions. This allows proper labeling for multi-user
scenarios.

Change-Id: Iaba7c40645bc7b6cc823d613da0c3782acf6ddd5
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-09-18 13:21:12 +00:00
Mike Lockwood
2a5fd8b064 servicemanager: Add support for "audio" service running as AID_AUDIO user
Change-Id: Ia41f1edd05f233ac5ce43c34eb8ab3ab76ffa194
2013-09-11 08:10:11 -07:00
Dianne Hackborn
3b010de1c1 am ecc05fb5: am 59b1516f: Fix issue #10422349: Limit/change the battery history data in batterystats
* commit 'ecc05fb5430ebb57710850f22d2a370c2af86e9d':
  Fix issue #10422349: Limit/change the battery history data in batterystats
2013-09-04 18:32:12 -07:00
Dianne Hackborn
ecc05fb543 am 59b1516f: Fix issue #10422349: Limit/change the battery history data in batterystats
* commit '59b1516f4cefcfd599f4e5e9c4a227a48d1ace65':
  Fix issue #10422349: Limit/change the battery history data in batterystats
2013-09-04 18:24:33 -07:00
Dianne Hackborn
59b1516f4c Fix issue #10422349: Limit/change the battery history data in batterystats
Use new compact option to include history when dumping battery stats.

Change-Id: I3833a88db76d8791bd5c2e8f6ff414af65472a42
2013-09-04 18:04:14 -07:00
Rom Lemarchand
b3fb0ae7fd fix incorrect aspect ratio label
2048x1536 was labeled as 3:2 when it is 4:3.

Change-Id: I981af139ba3d1c6f111772aeaccf95c679999370
2013-08-29 16:19:18 -07:00
John Reck
68bfe1fea6 am 05f0a81a: Merge "Add libpng include path"
* commit '05f0a81a93f0d41fa4115c752e617849d145fe5b':
  Add libpng include path
2013-08-27 09:54:06 -07:00
John Reck
e9b2dfe3fd Add libpng include path
Forward compatibility change

Change-Id: Iae792715d9a9aea34f53cd6383981371835c4a31
2013-08-26 16:48:46 -07:00
Dmitry Shmidt
a8113c12cc am 072ca28d: am 56968ec0: Merge "dumpstate: Fix wifi list of networks dump" into klp-dev
* commit '072ca28d7860829083f17d9e24863329010536cf':
  dumpstate: Fix wifi list of networks dump
2013-08-21 12:41:51 -07:00
Dmitry Shmidt
1d6b97c869 dumpstate: Fix wifi list of networks dump
Bug: 9056601

Change-Id: Ia0adb67afdf3d478033d0ee34bbb95e621e2fe51
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2013-08-21 10:58:29 -07:00
Mathias Agopian
bebc84e19c am 99b535ad: am 5bbe0ab6: fix build. optional test broke.
* commit '99b535ad06fa033784c251394143287f9b0b89c8':
  fix build. optional test broke.
2013-08-14 18:32:27 -07:00
Mathias Agopian
5bbe0ab655 fix build. optional test broke.
Change-Id: I0ed5e2cd4c8945ee95673ed0eec5820d9def5097
2013-08-14 18:22:02 -07:00
Todd Poynor
c8919373b2 am b52bfbb1: am 5025593d: Merge "dumpstate: switch to HAL static libraries" into klp-dev
* commit 'b52bfbb1c4ee3e19d4ce54f3d9e149878696edf1':
  dumpstate: switch to HAL static libraries
2013-08-13 17:30:12 -07:00
Todd Poynor
4f5b9a701b dumpstate: switch to HAL static libraries
Change-Id: I865a0b4b4a84a2d54a239e7b09874287f0c1ad56
2013-08-13 16:30:01 -07:00
John Reck
05cf62d1c8 Fix libpng includes
png.h now includes pnglibconf.h
 update the include path so it can find it

Change-Id: I594f1613e42405072029ae4cd7f9f8d0e03b2434
2013-08-13 13:47:12 -07:00
Stephen Smalley
bd558d6187 Handle policy reloads within installd rather than restarting it.
Restarting installd upon policy reloads has reportedly caused
stability problems for some users.  Stop restarting installd
and instead handle policy reloads within it.

Change-Id: I697a736d8e414cfc6cfa131ed7b97c7f7694d022
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2013-07-26 15:48:07 -04:00
Alex Ray
656a6b9e36 dumpstate: remove libutils dependency
Change-Id: I9745f389402c01b90877612e060ac996eba99964
2013-07-23 17:51:19 -07:00
Mathias Agopian
7ffaa7c60d move services executables sources in their respective src folder
Change-Id: Ic65434a26c7fed1699abf0851fec6faa40e09c0c
2013-07-22 12:25:18 -07:00
Mathias Agopian
595264f1af BufferQueue improvements and APIs changes
this is the first step of a series of improvements to
BufferQueue. A few things happen in this change:

- setSynchronousMode() goes away as well as the SynchronousModeAllowed flag
- BufferQueue now defaults to (what used to be) synchronous mode
- a new "controlled by app" flag is passed when creating consumers and producers
  those flags are used to put the BufferQueue in a mode where it
  will never block if both flags are set. This is achieved by:
  - returning an error from dequeueBuffer() if it would block
  - making sure a buffer is always available by replacing
    the previous buffer with the new one in queueBuffer()
    (note: this is similar to what asynchrnous mode used to be)

Note: in this change EGL's swap-interval 0 is broken; this will be
fixed in another change.

Change-Id: I691f9507d6e2e158287e3039f2a79a4d4434211d
2013-07-18 22:28:18 -07:00
Mathias Agopian
7f069d79e7 Merge "always pass the BufferQueue explicitely to consumers" 2013-07-16 02:17:58 +00:00
Jeff Sharkey
f8bca79df3 Merge "Change legacy "persona" references to userid_t." 2013-07-16 00:19:19 +00:00
Jeff Brown
40c9e0a398 Add skeleton of input flinger.
Change-Id: I7f25080e446d4d3d9de9b18fe432a09bc751e0d9
2013-07-15 16:03:14 -07:00
Jeff Sharkey
abe4fe5b46 Change legacy "persona" references to userid_t.
Offers stronger typing with no functional change.

Change-Id: I09f0262470feec5cfdf26658f998c20550af84d4
2013-07-15 15:16:10 -07:00
Nick Kralevich
76b45c126b dumpstate: Show SELinux process labels
Change-Id: Ie19586a3b733bd4420f6b20b5d253d42c2f165ea
2013-07-15 12:21:40 -07:00
Mathias Agopian
8f938a5338 always pass the BufferQueue explicitely to consumers
Change-Id: I883b0a7b19d8e722f9ab714ba6f49e658b02ca86
2013-07-12 22:06:26 -07:00
Dianne Hackborn
1bd5068a51 Fix cmd line arguments for usagestats.
Change-Id: I9a1436aa1d1665924ba62a568bb4b66d67ae2814
2013-07-12 12:19:44 -07:00
Brian Carlstrom
e7a8b17e37 Renaming dalvik.vm.lib to persist.sys.dalvik.vm.lib
Change-Id: If31695e04bb813eb75b2fdd00e5d70ced4fbb0e9
2013-07-10 09:51:20 -07:00
Dianne Hackborn
5cd46aa339 Update to follow procstats options changes.
Change-Id: I6f016c944cfcd01bbbcf3cf37bc7ff05482f0012
2013-07-09 15:01:40 -07:00
Dianne Hackborn
3e5fa73722 Update to use --include-committed for procstats.
Change-Id: I5ce737b624c5617c94054d6bedebca754fbf16a9
2013-07-03 16:51:15 -07:00
Ken Sumrall
d3fa561616 Add support for mmc trace events
Change-Id: I1d9f2a85e50f8e30d418fb97c01ce7b0fbb680bd
2013-07-03 12:32:50 -07:00
Dianne Hackborn
02bea9786d Add checkin dumps to bug reports.
This is a duplicate of the associated human-readable dumps
of these services, but much better for automated parsing.

Change-Id: I902b768b03aeac1472f03f96913f9b8ada5dba9c
2013-06-26 18:59:09 -07:00
Brian Carlstrom
1705fc44fb Moving dex2oat installd patches from frameworks/base
(cherry picked from commit 3fa3a652ba9a7c5b23b6f2bc7c1851d4e23e430f)

Change-Id: I2f9bb66e1b0463bef41805f2d220160880121813
2013-06-19 23:20:49 -07:00
Amith Yamasani
12861530ef Merge "Add a note about emulated sdcard in rawbu usage dump" 2013-06-14 18:00:01 +00:00
Amith Yamasani
b82bf9dfc9 Add a note about emulated sdcard in rawbu usage dump
Change-Id: I95af9175235a18716d63a863b482a323392e4fa2
2013-06-14 10:43:39 -07:00
keunyoung
caad555f3e add dumpsys -l to list available services
- for people with poor memory like me :)

Change-Id: I60160ca333ac4864bb8328f164cc2e9eba3660fc
2013-06-13 16:32:26 -07:00
jp abgrall
c40f4e64f2 am 4b2b0a74: am 74bd799e: Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes"
* commit '4b2b0a7494c872b7d545a9abe2d08ca0d0325073':
  Exit dumpstate on SIGPIPE to avoid cascading child crashes
2013-05-28 15:52:27 -07:00
jp abgrall
4b2b0a7494 am 74bd799e: Merge "Exit dumpstate on SIGPIPE to avoid cascading child crashes"
* commit '74bd799ec20d2420459fa382533b1cc39ca9a54c':
  Exit dumpstate on SIGPIPE to avoid cascading child crashes
2013-05-28 15:46:14 -07:00
John Michelau
885f888c55 Exit dumpstate on SIGPIPE to avoid cascading child crashes
When dumpstate ignores SIGPIPE it can lead to a cascade of tombstones /
coredumps since many of its children don't handle or ignore it.  It's
best to just exit dumpstate once the pipe is broken.

Change-Id: Ic0c57ecf4171f0c0a07837e51c41cb1876e1350c
2013-05-28 14:20:59 -05:00
Tim Murray
f0f2841d95 Add RenderScript category for atrace.
Change-Id: I069a301329f4a579c7b2716fa52c3f4a0ae0062b
2013-05-23 14:39:42 -07:00
Jamie Gennis
7f9efade0d am d2a92b5b: am db733579: Merge "atrace: add the \'dalvik\' trace category" into jb-mr2-dev
* commit 'd2a92b5b97b5a107d327744f216abdea8e0cda89':
  atrace: add the 'dalvik' trace category
2013-05-08 15:03:56 -07:00
Mathias Agopian
002e1e58df libutils clean-up
Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
2013-05-07 18:28:11 -07:00
Jamie Gennis
d2a92b5b97 am db733579: Merge "atrace: add the \'dalvik\' trace category" into jb-mr2-dev
* commit 'db733579a4c64eddd7dadb4ac15f54658ccfc0fb':
  atrace: add the 'dalvik' trace category
2013-05-07 18:23:18 -07:00
Jamie Gennis
db733579a4 Merge "atrace: add the 'dalvik' trace category" into jb-mr2-dev 2013-05-08 01:21:17 +00:00
Jamie Gennis
eff2e8d237 atrace: add the 'dalvik' trace category
Bug: 8856374
Change-Id: Ie7759328333d21d8123ce9d4f1a177cae5ede51e
2013-05-07 15:20:57 -07:00
Erik Gilling
63d076e339 flatland: add 1920x1200 to 16:10 resolutions
Change-Id: Ie7540c1ca4ec2c7ea8a307ce118d35479cdf499c
2013-05-07 12:32:59 -07:00
Erik Gilling
7bfdf27539 flatland: add 3:2 tests
Change-Id: I90496207fbf972c9a8e6baa2188a7732a282f879
2013-05-07 12:32:59 -07:00
Dianne Hackborn
ba018b3fa5 am 4fc27d79: Merge "Fix issue #8768456: Settings > App Info under reports..." into jb-mr2-dev
* commit '4fc27d79c29646b08ff059abc19cc4a7bccaa316':
  Fix issue #8768456: Settings > App Info under reports...
2013-05-02 15:15:17 -07:00
Dianne Hackborn
8b41780d73 Fix issue #8768456: Settings > App Info under reports...
...app storage size for apps w/ .so files

The lib directories are tagged with the apk install number,
so must be explicitly passed down to installd.

Change-Id: Iae8815afd6ba964f5b2ed86a0d04a91827391ed6
2013-05-01 18:55:10 -07:00
Dianne Hackborn
0c71bb90f9 am 9380d78c: Add new resources trace.
* commit '9380d78c98d8b8fbce9ade5881fab7134fadc015':
  Add new resources trace.
2013-04-12 17:06:29 -07:00
Dianne Hackborn
9380d78c98 Add new resources trace.
Change-Id: Iab8c1ef51f491e818fb4bab0ba7a042f0d9bec9a
2013-04-12 16:58:24 -07:00
Ying Wang
46f19772ae resolved conflicts for merge of c76e8a20 to jb-mr2-dev-plus-aosp
Change-Id: I895a8ad8c936a80c70aaac739c6441d3c7c55834
2013-04-09 22:27:50 -07:00
Ying Wang
8a0cb4ee0b Add liblog
Bug: 8580410
Change-Id: I2ca4fa00dde0b574df3619134836bcb9315bd506
2013-04-09 21:55:39 -07:00
Geremy Condra
e167d889e4 am a3d3e137: Merge "dumpstate: Add SELinux restorecon call."
* commit 'a3d3e137f473a965fefced9670e3b0c6b5f7f791':
  dumpstate: Add SELinux restorecon call.
2013-04-04 23:42:15 -07:00
Robert Craig
957983787d dumpstate: Add SELinux restorecon call.
Set the security context on the directory used
to dump Dalvik and native stack traces.

Change-Id: Iba13783f10e850485ce1a8d4aa5792d55085eb22
Signed-off-by: Robert Craig <rpcraig@tycho.ncsc.mil>
2013-04-04 06:33:10 -04:00
Jamie Gennis
f7f29c8f9d atrace: add support for app tracing
This change adds support for the -a command line argument to atrace.  This
argument sets the comma separated list of application names (i.e.
/proc/self/cmdline values) for which to enable application-level tracing.

Change-Id: I812d57c4cdc581943247229413f09b7e1adc10d0
2013-03-28 13:53:45 -07:00
Jamie Gennis
9794f90368 Merge "atrace: fix tracing on user builds" into jb-mr2-dev 2013-03-28 18:14:14 +00:00
Jamie Gennis
6f6f3f710b atrace: fix tracing on user builds
Change-Id: Idef15d514f0bd1e117362c6a06a2ea24314feb7f
2013-03-27 15:50:30 -07:00
Geremy Condra
437bdbbaec Merge "Add seinfo parsing to PackageManagerService." into jb-mr2-dev 2013-03-26 01:39:22 +00:00
Robert Craig
4d3fd4e998 Add seinfo parsing to PackageManagerService.
This patch set allows the PMS to parse the
mac_permissions.xml file which contains the
seinfo values. Each package that is installed
on the device will be assigned an seinfo value
based on policy. This seinfo value will help label
the app process and data directory.  Modifications
include adjustments to ApplicationInfo.java
to store the seinfo tag per package as well as
adjustments to installd to communicate the seinfo
tag to libselinux.

Change-Id: I61ad1ea12fb6a9a6d0b108ec163bc4bf4c954b58
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2013-03-25 17:37:51 -07:00
Jeff Sharkey
aaaa57bf89 Bugreport broadcasts are only useful to owners.
Bug: 8415156
Change-Id: Ia73969262abe9f715f038dad934651d7e5d65c87
2013-03-25 17:15:57 -07:00
Jamie Gennis
43122e7e67 atrace: use creat instead of truncate
Change-Id: Ie25c704f33c419c0c542249ae2841393862df0ab
2013-03-21 14:06:57 -07:00
Jeff Sharkey
a6c1ab52e3 Merge "Move screenshots near beginning of dumpstate." into jb-mr2-dev 2013-03-20 19:09:45 +00:00
Jeff Sharkey
5a93003d3f Move screenshots near beginning of dumpstate.
Bug: 8420215
Change-Id: I6adffd1182ed8f99b8d11d43785a4eb4a388ceb5
2013-03-19 15:19:48 -07:00
Jamie Gennis
79fb99d0de Merge "atrace: add support for tracing kernel functions" into jb-mr2-dev 2013-03-18 21:54:44 +00:00
Jamie Gennis
e9b8cfb632 atrace: add support for tracing kernel functions
This change adds support for tracing specific kernel function calls using the
function_graph tracer.  It adds a '-k' option to atrace that accepts a comma
separated list of kernel function names for which tracing will be enabled.

Change-Id: I872b2f1d474b8ebb904053853fc8cf8c0a98089c
2013-03-18 13:56:18 -07:00
Jeff Sharkey
7560443061 Increase screenshot timeout.
Devices with large displays take longer than 5 seconds to write.

Change-Id: If74bc4a3cec366ae28eca549bce28ef212e47d8f
2013-03-14 10:20:31 -07:00
Jeff Sharkey
d77d4e0edc Merge "Support broadcast when dumpstate finishes." into jb-mr2-dev 2013-03-14 15:44:15 +00:00
Jeff Sharkey
27f9e6d849 Support broadcast when dumpstate finishes.
Add flag that sends BUGREPORT_FINISHED broadcast when dumpstate
is finished, including the resulting filesystem paths.  Also reduces
directory creation to 0770.

Bug: 7005318
Change-Id: Id4c6b699a56f8acd859b7ab73368500e1a8f3c67
2013-03-13 16:59:27 -07:00
Jamie Gennis
b2a89e3155 atrace: add the webview category
Change-Id: Iefb552cd275bb5784903e8bf328890ecd233e45b
2013-03-11 19:41:28 -07:00
jp abgrall
574d6902b7 am ba8abb51: Merge "Ensure dumpstate children die"
* commit 'ba8abb517d1eddebeda62bf907fa446e3c3b81f6':
  Ensure dumpstate children die
2013-03-11 12:28:06 -07:00
John Michelau
e7b6cf13f9 Ensure dumpstate children die
Use prctl(PR_SET_PDEATHSIG, SIGKILL) in each forked child to ensure
it dies when dumpstate dies.

This is important for two cases:
- dumpstate runs a timer for each child process.  On expiration, it
  sends SIGTERM to kill the process.  Sometimes SIGTERM isn't enough
  to kill a hung process, so the child lives on.
- When dumpstate is killed by the user before completing, outstanding
  children continue to run and generate output.

Change-Id: I96e0dc918c26d56c9fee53611980ba2edd238712
2013-03-11 11:44:15 -05:00
Mathias Agopian
649b976a00 limit number of extra binder threads in SF to 4
it should be enough and it makes debugging easier.

Bug: 6609290
Change-Id: I2341e20cfcfde184fe1ed9b925215f8fa3481ced
2013-03-07 15:32:47 -08:00
Nick Kralevich
98ca63e6d1 am 22641851: Merge "dumpstate: use correct header file."
* commit '22641851c48fee6e79d01adcfab01c0b625cfb3c':
  dumpstate: use correct header file.
2013-03-01 18:05:56 +00:00
Nick Kralevich
d747129e1e installd: use correct header file.
This is a port of https://android-review.googlesource.com/52540 ,
which doesn't apply cleanly to master.

Change-Id: I2824bb7afd4e343b5dc8bed9f24002ec1dcbf07f
2013-02-28 16:59:13 -08:00
Nick Kralevich
e96b2d0037 dumpstate: use correct header file.
Change-Id: I006d7a219ce6309259f271beff6011cc266f1a61
2013-02-28 16:46:22 -08:00
Dmitry Shmidt
5b8176471c Remove obsolte 'su' from 'ping' call (to work on user build)
Change-Id: I2d391bbd39fc591eef33b9c9e4b4cdbda29e41e7
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2013-02-22 11:27:58 -08:00
Mathias Agopian
b7daa0dade fix build: SurfaceTextureClient to Surface rename
Change-Id: Ibcf98337940f9195bcff7b5e8bddb6e912e65163
2013-02-15 14:48:52 -08:00
Mathias Agopian
e3c697fb92 Refactoring: Rename SurfaceTextureClient to Surface
Change-Id: Ibed34175ae273608393aaa5f0a7df207dc40d709
2013-02-14 19:19:05 -08:00
Alex Ray
36ebf51a1b atrace: add HAL tag
Change-Id: Idfd4f2075e8cd82833ef06d4487423c62b59fe11
2013-02-13 15:30:31 -08:00
Jamie Gennis
c52e16cbf9 flatland: remove an unneeded #include
Change-Id: I50831d4efd543664ff7df7aaef35d842aebf1bd6
2013-02-12 18:15:38 -08:00
Ken Sumrall
8f75fa7bcf Do not use su to run the df command in bugreports
User builds do not have su, so when the bugreport attempts to report
disk free space, the command fails and nothing is reported.  However,
the df command does not need to be run as root to report free space,
so just run the command directly.

Change-Id: Ic7deb696f293e772ddf28eacfe16e4250af9a9f3
2013-02-08 17:35:58 -08:00
Glenn Kasten
64c8be0787 Add media.log service
Change-Id: Ic17752fff30676fe692c80260ff68284543385dd
2013-01-16 12:07:03 -08:00
Nick Kralevich
a2d838a542 Revert "App home directories are now 0700 for targetSdkVersion > 17"
This reverts commit 7f5c84a0b2.

Bug: 7966399
Bug: 7208882
Change-Id: I9fb13cf06c0f6605f3d992525346b14fe3259c66
2013-01-09 16:00:53 -08:00
Jamie Gennis
9c183f2493 flatland: add a GPU hardware benchmark
This change adds a GPU benchmark named 'flatland' that is intended to measure
GPU performance of UI rendering and compositing scenarios at a fixed a clock
frequency.  This initial version includes only window compositing scenarios.

Change-Id: I5577863aa3be5c6da8b49cb5d53cc49dec2f7081
2012-12-21 18:07:58 -08:00
Nick Kralevich
7f5c84a0b2 App home directories are now 0700 for targetSdkVersion > 17
Have installd set an app's home directory permissions to
0700 if the app has targetSdkVersion > 17.

Bug: 7208882
Change-Id: Iaa4fc42fec69bc1abdfae53704d6264dd6fa965f
2012-12-14 11:53:14 -08:00
Nick Kralevich
603b6c1975 Merge "remove unused code." 2012-12-12 12:43:19 -08:00
Nick Kralevich
f62d2851a8 remove unused code.
Change-Id: Iacc8b2664a0e404dfa554f223a44126c41581ae4
2012-12-12 10:38:54 -08:00
Jamie Gennis
92573f1ba0 atrace: fix the help string
Change-Id: I19f0093d65d64e669ad71c600c103f4080bfa2c2
2012-12-07 16:29:03 -08:00
Jamie Gennis
6eea6fb259 atrace: clean up tracing option enabling
This change switches atrace to use a table-driven approach to enabling and
disabling options.  It unifies how framework and kernel tracing are enabled,
and causes userland tracing options to be picked up by currently running
processes.

Change-Id: Iba2a3012ca0a67c4defdd076bce597db26e9f539
2012-12-07 14:03:07 -08:00
Chad Jones
9a57c5c69b Merge atrace/ from platform/system/extras to cmds/atrace/ 2012-11-29 14:35:18 -08:00
Glenn Kasten
9284fddfc6 Fix build
Change-Id: Ibb398f36a7569af3480e24145da4317bf5b86998
2012-11-14 16:24:27 -08:00
Erik Gilling
4edbd078cd add asynchronous tracing
Change-Id: I5b8660cd4d2af2ad7c6b2548c9572d3527882d6d
2012-11-14 16:06:04 -08:00
Kenny Root
244408786c Switch keystore to binder
Change-Id: Ie15781de079e8ecc9616cab9a5e392f5c814d9d8
2012-11-14 15:42:38 -08:00
rpcraig
f1c3ffe5f0 Bug fix on installd with SELinux enabled kernel.
setfilecon is not required on libsymlinks when target
doesn't exist. A bootloop is caused without this
change.

Change-Id: Ia895d9063f42885a3db6e8ca30cee5dceb8c1bac
Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>
2012-11-14 10:42:28 -08:00
Dmitry Shmidt
258fe7eac9 am 77622879: am 4bacaec4: am 0b2c9268: bugreport: Add /proc/interrupts dump
* commit '77622879a6a12c6cb916df46c919dde87656e6df':
  bugreport: Add /proc/interrupts dump
2012-11-08 15:59:28 -08:00
Dmitry Shmidt
03d0600ea7 am af9e8a59: am 61db92e7: am c11f56e5: bugreport: Add wlan FW counters dump for bcmdhd
* commit 'af9e8a59619ec6050739dd68ea108cc7e182d059':
  bugreport: Add wlan FW counters dump for bcmdhd
2012-11-08 15:59:27 -08:00
Colin Cross
1493a3974a dumpstate: fix incorrectly zeroed array
Change-Id: I55a916568baf66629b02a6d80fce34b84ffb3a34
2012-11-07 11:25:31 -08:00
Dmitry Shmidt
0b2c926826 bugreport: Add /proc/interrupts dump
Bug: 7301178

Change-Id: Ifad3b981ac904d4637d69dfc223d5bb2c9d80bda
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-11-07 11:09:46 -08:00
Dmitry Shmidt
c11f56e561 bugreport: Add wlan FW counters dump for bcmdhd
Bug: 7494877

Change-Id: I4d24dbcf7596777ec02ab1312c2ab996ba7688f1
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
2012-11-07 10:42:05 -08:00
Colin Cross
0c22e8b316 dumpstate: dump all threads in show_wchan
for_each_pid only finds processes and not their threads.  Add
for_each_tid and call it for show_wchan so we can see where all
threads are blocked in the kernel.

Change-Id: Iffb59f7c2933cecf51cdd358a36e19932c2f24c7
2012-11-02 23:57:43 -07:00
Colin Cross
13990bb4ca am 5b47c5c5: am 742801c6: am 2281af96: dumpstate: add kernel memory fragmentation unusable index
* commit '5b47c5c574d8d3bf8e73ea4fd7a08e0d881d461c':
  dumpstate: add kernel memory fragmentation unusable index
2012-10-30 10:11:27 -07:00
Colin Cross
2281af967d dumpstate: add kernel memory fragmentation unusable index
Dump /d/extfrag/unusable_index in bugreports.  It shows the
percentage of memory in each zone that is not available for
allocations for each order.

Change-Id: I2af6680cb609887ea7b3d6107d1aa88bd0206b52
2012-10-28 22:41:06 -07:00
Mike Lockwood
126d215667 More changes to fix PDK build:
move screencap back to frameworks/base
move libdiskusage over from frameworks/base

Change-Id: I8415716634a4cb5b0fae15ef15ff21ee0a08906a
2012-10-24 12:30:41 -07:00
Mike Lockwood
133ea73de0 Move app_process and system_server back to frameworks/base
due to dependency on libandroid_runtime

Change-Id: Ie30a76ebb57a07ab29dc1b553c0e2dc9ab8d271a
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-10-24 11:51:51 -07:00
Mike Lockwood
94afecf4b6 Move non-Java commands over from frameworks/base
Change-Id: I0571813c1cfcf66abd36eb9f178fc49b618e88a6
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-10-24 10:45:23 -07:00
Erik Gilling
9ba4baf178 atrace: add sync trace support
Change-Id: I2cd2f1a1e51f6e3d1ebbde4d5442be68a218b33d
2012-10-17 12:16:01 -07:00
Glenn Kasten
31be80f02c Add -n and -S options for 'nohup', offline traces
Change-Id: Ieef12b36b8519ff689ab5a81447b1b9bf4806171
2012-10-08 15:48:53 -07:00
Jamie Gennis
e8744fd4dc atrace: make clock & bus bw tracing optional
This change makes enabling clock tracing and bus bandwidth tracing depend on
whether the device's kernel supports these features.  If it's not supported it
will be skipped.

Change-Id: I51d57299693635b0ecebb75de5dccd5b62d47be3
2012-10-05 16:38:04 -07:00
Erik Gilling
99be77cf00 atrace: add clock rate and bus utilization
Change-Id: I4e1764b51225436fc2b3d61454ee822f511a1a7d
2012-10-04 11:55:24 -07:00
Jeff Sharkey
719b8aa1c5 Include Global table in bugreports.
Bug: 7257648
Change-Id: I84c7230fd115cf9d7269bc5367026b52cbcc86ac
2012-10-01 12:52:42 -07:00
Elliott Hughes
c8cff90d49 Merge "Use a named constant rather than a magic number." into jb-mr1-dev 2012-09-17 12:11:25 -07:00
Elliott Hughes
5f87b31d80 Use a named constant rather than a magic number.
Change-Id: I86e8c91c6f5628df3eec38faf28598cc8cef2ea3
2012-09-17 11:43:40 -07:00
jp abgrall
86ca50d860 am e917bfbd: am 09a22fc2: Merge "Allow disable of dumpstate vibrate"
* commit 'e917bfbd19c265ef09c90f93f5dc175fc62259f5':
  Allow disable of dumpstate vibrate
2012-09-17 11:01:37 -07:00
John Michelau
1f794c442c Allow disable of dumpstate vibrate
Change-Id: I747b757f4b5e2d6a472b7b2a19f8c1ca8a4b7fdd
2012-09-17 11:20:19 -05:00
James Dong
1fc4f80fc3 Add stack dump from drmserver process to bugreports
This would be helpful tracking down ANR issues in drmserver

o related-to-bug: 7132419

Change-Id: I7eceaa0c29af26bd0092110be6bddf8f4c063545
2012-09-10 16:10:29 -07:00
Mathias Agopian
85aea74886 add /d/sync to dumpstate
Change-Id: I24f8f3e0420c2198ae3981fc067fb660898655e8
2012-08-08 15:32:02 -07:00
Mathias Agopian
852db07d69 move sensorservice from frameworks/base to frameworks/native
this commit also imports all of sensorservice history.

Change-Id: Iadffcc92be600c48175b8afadcb15b6648532b3f
2012-06-28 15:06:35 -07:00
Jeff Brown
04d7eaf138 am 4f0dfaa7: am 9be7caf3: Merge "Include stack traces for certain native processes in bugreport." into jb-dev
* commit '4f0dfaa7c338870eb58d96fe40234505734db728':
  Include stack traces for certain native processes in bugreport.
2012-06-08 15:33:30 -07:00
Jeff Brown
bf7f49238d Include stack traces for certain native processes in bugreport.
Bug: 6615693
Change-Id: I64c3b3ce0bba62d9c332a795f7d979fb753dc27b
2012-06-08 11:45:00 -07:00
Jamie Gennis
4b23eefd72 atrace: enable running on user builds
This change allows atrace to be run on a user build, where it is not run as
root.  Some command line options still require root, and atrace will refuse to
run if those options are specified when run as non-root.

Bug: 6513400
Change-Id: I29984cb8a7c3ad80ba5fa6b031ed8ff81acabacf
2012-06-07 17:52:34 -07:00
Nick Kralevich
1e339878c1 dumpstate: handle old style "adb bugreport"
When "adb bugreport" was run on previous adb releases, it
called "adb shell dumpstate". In later versions of Android,
this was changed to "adb shell bugreport", which starts
the dumpstate service.

Modify the dumpstate command so that it calls bugreport
when it's not running as root. This allows both
"adb shell dumpstate" and "adb shell bugreport" to have
the exact same output.

Bug: 6391938
Change-Id: Ia32bb9ebc579db3bee7caa0fe66dc3f124d60a12
2012-06-06 16:43:16 -07:00
Jeff Brown
ac9453d82e Add disk I/O tracing.
Bug: 6488845
Change-Id: I93acb726f35b114fb1ea7297da4456826f805b7b
2012-05-22 18:58:46 -07:00
Todd Poynor
29e27a84c1 dumpstate: Add kernel wakeup sources info
Change-Id: I0f95afd6815c1403d8400a18ef3cd19d936d4601
2012-05-22 18:26:47 -07:00
Jeff Sharkey
13461c2ffe Dump packages.xml as root.
Bug: 6501151
Change-Id: Ied638bdbe9ed6fbf749a44de8ac1f9d4167829c1
2012-05-17 13:03:34 -07:00
JP Abgrall
012c2ea565 dumpstate: collect xtables based iface stats, update iptables info.
The newer kernels now have /proc/net/xt_qtaguid/iface_stat_fmt.
Add the extra iptables output and remove ip6tables for nat which doesn't
exist.

Change-Id: I819c707b337a707ca0acd87d9ab38cd68ca0f36c
2012-05-16 20:49:29 -07:00
JP Abgrall
3e03d3fb6a Ignore SIGPIPE is some of the tools used via bugreport
adb bugreport > b & sleep 5; kill $?
will show that a bunch of tools will SIGPIPE when trying to output data
which is normal.
We don't have a way on linux (bsd yes), to set NOSIGPIPE on the file desc
passed down via fork/exec.

Bug: 6447319
Change-Id: I25b30a823addcff89d252f162d0a07035d4fdd3f
2012-05-11 14:14:09 -07:00
Jamie Gennis
3169533f1d atrace: add support for tracing CPU idle events
This change adds the -i command line flag to atrace to enable tracing CPU idle
kernel events.

Change-Id: I4a2c8619224c0f50c7fd7c61c7b24fa2211f656c
2012-05-07 17:58:44 -07:00
Jamie Gennis
7b5170b249 atrace: add support for zlib compression
This change adds the -z command line flag to atrace to enable support for
compressing the trace with zlib as it's printed to stdout.

Change-Id: I45301c63a4d1d388152244fec3c9e05e554598e8
2012-04-28 19:06:49 -07:00
Mathias Agopian
64a1e08b86 SF doesn't need more than a few binder threads
Change-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9
2012-04-19 17:32:03 -07:00
Jeff Sharkey
4287cb4595 Add sdcard_r group to dumpstate.
Bug: 6321962
Change-Id: I318cd88493396f3d8adb5d4d0fc7a12ee40ba737
2012-04-11 12:27:48 -07:00
Jamie Gennis
fe312b98f7 atrace: make cpu freq governor tracing optional
This change allows atrace to run on kernels that do not have CPU frequency
interactive governor tracing enabled in the kernel.

Change-Id: Ibfde751da7b6cc9a55794355093a37feb28f5e52
2012-04-09 17:37:17 -07:00
Nick Kralevich
d51820e8de dumpstate: don't follow symlinks when creating /data/anr/traces.txt
Make Android more robust against symlink attacks when /data/anr
is world-writable.

Bug: 5614000
Change-Id: I9a7e4c4ec9aa4300ac30a968db0dcd276f364ab6
2012-04-06 09:53:45 -07:00
Nick Kralevich
c7f1fe2680 Ensure that /data/anr/traces.txt is world-writable
The umask changed for init. We have to force /data/anr to be world
readble and /data/anr/traces.txt to be world writable so dalvik
processes can write to it.

Hopefully this is a short term change while we investigate tightening
up these permissions.

Bug: 6300296
Change-Id: Iacb4c9f1bc69d2ac679697f9cf9a52694f888489
2012-04-06 09:46:10 -07:00
Colin Cross
f45fa6b285 move dumpstate and dumpsys from frameworks/base to frameworks/native
Change-Id: I8a5318022ce5cd3e7c8055f21fe5da74639aa6c0
2012-03-26 12:39:26 -07:00
Jamie Gennis
cc24c8e6b4 atrace: add some more command line options
This change adds two command line optiosn:
  -b for setting the trace buffer size
  -f for enabling tracing of the CPU frequency
  -l for enabling tracing of the CPU load

Change-Id: Id99851a4c4eba5cfed218f29081e072bbe492133
2012-03-07 15:59:43 -08:00
Jamie Gennis
dd1ddbbdd7 atrace: include the binary in debug builds
This change makes the atrace module tag 'debug' so that the binary is
included in all debug builds.

Change-Id: I1fdb87be0461daf686e52ded04b37b9a122edea3
2012-02-26 15:50:35 -08:00
Jamie Gennis
fb31ba6928 Add the atrace utility.
This change adds a new system binary to help with capturing and dumping
kernel traces.

Change-Id: If2fc074480f822588a4c171312dc4c04fd305356
2012-02-23 15:55:31 -08:00
Kenny Root
a87de87dcd Move keystore to system/security repo
Move keystore to system/security at revision
a91203b08350b2fc7efda5b1eab39e7541476b3a

Change-Id: I7dbd625b864e9c63489b08e9fd28dfb22da81072
2012-02-15 15:55:21 -08:00
Glenn Kasten
4a9730ff86 Merge "Fix build warnings" 2012-02-13 16:43:43 -08:00
Dianne Hackborn
a94f129a7b Some hardening of isolated processes by restricting access to services.
Services now must explicitly opt in to being accessed by isolated
processes.  Currently only the activity manager and surface flinger
allow this.  Activity manager is needed so that we can actually
bring up the process; SurfaceFlinger is needed to be able to get the
display information for creating the Configuration.  The SurfaceFlinger
should be safe because the app doesn't have access to the window
manager so can't actually get a surface to do anything with.

The activity manager now protects most of its entry points against
isolated processes.

Change-Id: I0dad8cb2c873575c4c7659c3c2a7eda8e98f46b0
2012-02-09 18:06:01 -08:00
Glenn Kasten
6c76095496 Fix build warnings
Change-Id: Ia5b8da2cfed7ae02c9e8e03e8bae22b2a68684a0
2012-01-11 07:41:08 -08:00
Steve Block
e6f43ddce7 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
2012-01-08 13:19:13 +00:00
Steve Block
32397c1cd3 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Steve Block
a19954ab37 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
2012-01-04 20:05:49 +00:00
Jeff Brown
baa44b89ec Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
2011-07-11 22:12:16 -07:00
Jeff Brown
a816cc4e68 Remove more simulator support code.
Bug: 5010576

Change-Id: Ie6c8665306bf4e822693b76f25c3a0f05c12d42d
2011-07-11 13:33:22 -07:00
Jeff Brown
e16986cae2 Eliminate single-process mode.
Bug: 5010576

Change-Id: Id450dc83efed4897d1e4ff451530fed14457aace
2011-07-08 19:54:07 -07:00
Brian Carlstrom
e0cd5dc3dc Revert "Add keychain user with special keystore access permissions"
This reverts commit 8c2a1a90a81f04573bfa578eab32f5fd4a30eafb.

Conflicts:

	cmds/keystore/keystore.c

Bug:4970237
Change-Id: I626023d695becfada47e5f319b18e0889b766563
2011-06-30 22:59:13 -07:00
Chia-chi Yeh
6904f14b89 KeyStore: fix test-keystore
Change-Id: I1dcbd5c3cc7569c397d2480cda76288a9e28cd5c
2011-06-27 10:38:10 -07:00
Chia-chi Yeh
91a465b73a KeyStore: allow system user to get secrets from keystore.
Change-Id: I9cb41344c17fb33e6614a45d46368a9c43e3dce7
2011-06-26 18:24:19 -07:00
Brian Carlstrom
ce4b51d3bd Reinitialize KeyStore::mMasterKey after unlock (and add test-keystore)
Bug: 4599735

Change-Id: Iee38a2e2929c45b6405214c9012819da09b273af
2011-06-23 02:10:23 -07:00
Brian Carlstrom
804f499fda KeyStore.reset changes
restore keystore reset behavior of removing master key.
otherwise after reboot keystore has is LOCKED and not UNINITIALIZED
	cmds/keystore/keystore.cpp

when removing password, reset the keystore, so it doesn't remain
locked with a now bogus password.

	core/java/com/android/internal/widget/LockPatternUtils.java

Change-Id: If5e0bb50b42599e9ca27a8b91d6cec12528419a1
2011-06-02 16:24:45 -07:00
Brian Carlstrom
0137377289 Integrating keystore with keyguard (Part 1 of 4)
Summary:

frameworks/base
  keystore rewrite
  keyguard integration with keystore on keyguard entry or keyguard change
  KeyStore API simplification

packages/apps/Settings
  Removed com.android.credentials.SET_PASSWORD intent support
  Added keyguard requirement for keystore use

packages/apps/CertInstaller
  Tracking KeyStore API changes
  Fix for NPE in CertInstaller when certificate lacks basic constraints

packages/apps/KeyChain
  Tracking KeyStore API changes

Details:

frameworks/base

   Move keystore from C to C++ while rewriting password
   implementation. Removed global variables. Added many comments.

	cmds/keystore/Android.mk
	cmds/keystore/keystore.h
	cmds/keystore/keystore.c => cmds/keystore/keystore.cpp
	cmds/keystore/keystore_cli.c => cmds/keystore/keystore_cli.cpp

   Changed saveLockPattern and saveLockPassword to notify the keystore
   on changes so that the keystore master key can be reencrypted when
   the keyguard changes.

	core/java/com/android/internal/widget/LockPatternUtils.java

   Changed unlock screens to pass values for keystore unlock or initialization

	policy/src/com/android/internal/policy/impl/PasswordUnlockScreen.java
	policy/src/com/android/internal/policy/impl/PatternUnlockScreen.java

   KeyStore API changes
   - renamed test() to state(), which now return a State enum
   - made APIs with byte[] key arguments private
   - added new KeyStore.isEmpty used to determine if a keyguard is required

	keystore/java/android/security/KeyStore.java

   In addition to tracking KeyStore API changes, added new testIsEmpty
   and improved some existing tests to validate expect values.

	keystore/tests/src/android/security/KeyStoreTest.java

packages/apps/Settings

    Removing com.android.credentials.SET_PASSWORD intent with the
    removal of the ability to set an explicit keystore password now
    that the keyguard value is used. Changed to ensure keyguard is
    enabled for keystore install or unlock. Cleaned up interwoven
    dialog handing into discrete dialog helper classes.

	AndroidManifest.xml
	src/com/android/settings/CredentialStorage.java

    Remove layout for entering new password

	res/layout/credentials_dialog.xml

    Remove enable credentials checkbox

	res/xml/security_settings_misc.xml
	src/com/android/settings/SecuritySettings.java

    Added ability to specify minimum quality key to ChooseLockGeneric
    Activity. Used by CredentialStorage, but could also be used by
    CryptKeeperSettings. Changed ChooseLockGeneric to understand
    minimum quality for keystore in addition to DPM and device
    encryption.

	src/com/android/settings/ChooseLockGeneric.java

    Changed to use getActivePasswordQuality from
    getKeyguardStoredPasswordQuality based on experience in
    CredentialStorage. Removed bogus class javadoc.

	src/com/android/settings/CryptKeeperSettings.java

    Tracking KeyStore API changes

	src/com/android/settings/vpn/VpnSettings.java
	src/com/android/settings/wifi/WifiSettings.java

   Removing now unused string resources

	res/values-af/strings.xml
	res/values-am/strings.xml
	res/values-ar/strings.xml
	res/values-bg/strings.xml
	res/values-ca/strings.xml
	res/values-cs/strings.xml
	res/values-da/strings.xml
	res/values-de/strings.xml
	res/values-el/strings.xml
	res/values-en-rGB/strings.xml
	res/values-es-rUS/strings.xml
	res/values-es/strings.xml
	res/values-fa/strings.xml
	res/values-fi/strings.xml
	res/values-fr/strings.xml
	res/values-hr/strings.xml
	res/values-hu/strings.xml
	res/values-in/strings.xml
	res/values-it/strings.xml
	res/values-iw/strings.xml
	res/values-ja/strings.xml
	res/values-ko/strings.xml
	res/values-lt/strings.xml
	res/values-lv/strings.xml
	res/values-ms/strings.xml
	res/values-nb/strings.xml
	res/values-nl/strings.xml
	res/values-pl/strings.xml
	res/values-pt-rPT/strings.xml
	res/values-pt/strings.xml
	res/values-rm/strings.xml
	res/values-ro/strings.xml
	res/values-ru/strings.xml
	res/values-sk/strings.xml
	res/values-sl/strings.xml
	res/values-sr/strings.xml
	res/values-sv/strings.xml
	res/values-sw/strings.xml
	res/values-th/strings.xml
	res/values-tl/strings.xml
	res/values-tr/strings.xml
	res/values-uk/strings.xml
	res/values-vi/strings.xml
	res/values-zh-rCN/strings.xml
	res/values-zh-rTW/strings.xml
	res/values-zu/strings.xml
	res/values/strings.xml

packages/apps/CertInstaller

  Tracking KeyStore API changes
	src/com/android/certinstaller/CertInstaller.java

  Fix for NPE in CertInstaller when certificate lacks basic constraints
	src/com/android/certinstaller/CredentialHelper.java

packages/apps/KeyChain

  Tracking KeyStore API changes
	src/com/android/keychain/KeyChainActivity.java
	src/com/android/keychain/KeyChainService.java
	support/src/com/android/keychain/tests/support/IKeyChainServiceTestSupport.aidl
	support/src/com/android/keychain/tests/support/KeyChainServiceTestSupport.java
	tests/src/com/android/keychain/tests/KeyChainServiceTest.java

Change-Id: Ic141fb5d4b43d12fe62cb1e29c7cbd891b4be35d
2011-06-01 14:29:59 -07:00
Jeff Brown
95e24e04e0 Support wrapping app processes to inject debug instrumentation.
Bug: 4437846

Change-Id: I4552501c693716b14714afb5c5248edaca9547ab
2011-05-24 12:01:25 -07:00
Elliott Hughes
ca1feb405e Replace a custom AndroidRuntime::findClass with a more targeted fix.
This seems simpler and more contained, and I think the comment explaining
why hoop-jumping is necessary is a bit clearer now.

Change-Id: Ief4afd7cbb42188ed835fce23e497520bdb753a8
2011-04-13 16:43:15 -07:00
Brian Carlstrom
4d51522f5f Add keychain user with special keystore access permissions
Change-Id: I02fe5171add62c5cd9f57b01bc137f3bc1cb3a69
2011-04-08 14:06:39 -07:00
Chia-chi Yeh
ae17a37d2d KeyStore: Update the parameters of generating master keys.
To improve the security, the parameters to generate the master key has
been changed. Special cares has been taken to prevent from permanent
damages of the existing data during the transition process.

Change-Id: I0c93f3de28a9fcd314932675ccfb65a7f11fa3ff
2010-10-01 01:42:55 +08:00
Chia-chi Yeh
857edec1a2 KeyStore: Initialize IV correctly.
Change-Id: Idbf207dfcc11b92e606cbf4fd3732ed7a8aa3416
2010-09-30 17:28:01 +08:00
Chia-chi Yeh
1c2eccfac3 KeyStore: Fix the return value when send() or recv() has an error.
Change-Id: I20a63c76bd29b1a9f8959a6c4fe5a5b8a9a971b4
2010-09-30 15:17:58 +08:00
Mathias Agopian
a1e6bc864f added BinderService<> template to help creating native binder services
Change-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe
2010-07-14 18:43:19 -07:00
Mathias Agopian
81bac09fa6 move native services under services/
moved surfaceflinger, audioflinger, cameraservice

all native services should now reside in this location.

Change-Id: Iee42b83dd2a94c3bf5107ab0895fe2dfcd5337a8
2010-07-14 17:59:35 -07:00
Chia-chi Yeh
6efed6c20e keystore: rephrase the comment to make the usage more clear.
Change-Id: I529ca7ed443060089c95fe96dd230288be4b6c96
2010-03-17 16:31:20 +08:00
Chia-chi Yeh
5bf4691382 Merge "keystore: add AID_ROOT into the user table." 2010-03-08 17:50:56 -08:00
Chia-chi Yeh
e3bc023471 keystore: add AID_ROOT into the user table.
Change-Id: I4b9cf24d75ca79583d7913bbb2c33745a2316cde
2010-03-09 09:44:07 +08:00
Chia-chi Yeh
0755483539 keystore: allow '\0's in keys and add guards for cplusplus.
Change-Id: I0af6ed7c5d51ce4ca39cb837e475942800cf6e2d
2010-03-08 17:21:35 +08:00
Marco Nelissen
4cb8ae291e Fix simulator build. 2010-02-11 14:41:20 -08:00
Chia-chi Yeh
b78679e18d keystore: compute the padding in an intuitive way. 2009-12-30 10:38:39 +08:00
Chia-chi Yeh
ced66258e1 keystore: Add paddings before checksumming.
Also fix a file descriptor leak when file system is nearly full.

Bug: 2339184
2009-12-22 17:26:42 +08:00
Chia-chi Yeh
4424dd7dd5 keystore: remove old implementation and test.
The new tests will be implemented in java.
2009-09-24 13:35:26 +08:00
Chia-chi Yeh
1cdc2a4b81 keystore: rename scan() to saw(). 2009-09-22 02:57:52 +08:00
Chia-chi Yeh
c5dbc5e98a keystore: exclude builds for simulator. 2009-09-22 00:43:13 +08:00
Chia-chi Yeh
dd2a71eebc keystore: enable delete(), scan(), exist() when keystore is locked.
Also check end-of-file explicitly.
2009-09-21 11:36:33 +08:00
Chia-chi Yeh
2f3b2a5aa6 keystore: switch to multi-user version. 2009-09-18 17:23:53 +08:00
Chia-chi Yeh
4cff21f21b keystore: add multi-user support.
Change-Id: I60268261110934a1d60efa341ff530f94415724f
2009-09-18 11:49:55 +08:00
Hung-ying Tyan
408c5f2c98 Fix a minor bug in is_alnum_string()...
and remove some verbose logging
2009-09-17 12:17:29 +08:00
Hung-ying Tyan
b2de5bd4da Add tests and misc fixes on keystore.
* Refactor netkeystore.c to make client and server code testable.
* Add a client test for setting new passwd and changing passwd.
* Exclude "." and ".." from reset_keystore().
* Change ServerCommand.executeCommand() to accept variable length of
  arguments and add convert() to marshalling the args to bytes.
* Keystore.java is revised accordingly.
2009-09-11 19:30:13 +08:00
Chung-yih Wang
2a58b6dbf0 Replace the delimiter whitespace with '\0'.
+ Use '\0' as the delimiter.
+ Allow whitespace character for keystore password.

In previous implementation, we use space as the delimiter. That
will stop user from using passphrase with whitespace character.
2009-09-09 15:00:43 +08:00
repo sync
74c332f184 Fix network order for marshalling in keystore interface.
This will fix the endian issue for heterogeneous architectures in keystore marshalling interface.
2009-08-10 16:13:00 +08:00
Android (Google) Code Review
5e2ae8dca5 am b86bad94: Merge change 9438 into donut
Merge commit 'b86bad9493a331a09dd765bc6e725c0aec969ff6'

* commit 'b86bad9493a331a09dd765bc6e725c0aec969ff6':
  Change some log.i to log.d.
2009-07-31 20:18:23 -07:00
Android (Google) Code Review
23c95b3b32 Merge change 9438 into donut
* changes:
  Change some log.i to log.d.
2009-07-31 20:15:15 -07:00
Hung-ying Tyan
6cdee58010 Change some log.i to log.d. 2009-08-01 10:11:46 +08:00
Chung-yih Wang
c7ceaf245e am f4692640: Add unit tests for netkeystore.
Merge commit 'f4692640a8c40b8bbba1f00841c2f8fbe7b28d7a'

* commit 'f4692640a8c40b8bbba1f00841c2f8fbe7b28d7a':
  Add unit tests for netkeystore.
2009-07-30 16:05:39 -07:00
Chung-yih Wang
ccf407f7ac Add unit tests for netkeystore.
+ some boundary checks.
2009-07-30 16:37:48 +08:00
Chung-yih Wang
9b29df2bc7 am 75b68163: Add memcpy and strcpy boundary check.
Merge commit '75b681639d3945d22d4ab90856a65a05405d2538'

* commit '75b681639d3945d22d4ab90856a65a05405d2538':
  Add memcpy and strcpy boundary check.
2009-07-24 12:52:33 -07:00
Chung-yih Wang
11e9f3dd26 Add memcpy and strcpy boundary check. 2009-07-24 11:24:31 +08:00
Android (Google) Code Review
795e8f42c9 am 0d039ba3: Merge change 7508 into donut
Merge commit '0d039ba328a59fc81280fbecf68aad2d2cba7234'

* commit '0d039ba328a59fc81280fbecf68aad2d2cba7234':
  keystore: Fix a compile warning.
2009-07-16 17:53:40 -07:00
Chia-chi Yeh
23c7adc5e9 keystore: Fix a compile warning. 2009-07-16 14:45:11 +08:00
Android (Google) Code Review
29f5a900db am 3383df38: Merge change 6198 into donut
Merge commit '3383df385e208807b1dc5f2956f82a7f75f65fd8'

* commit '3383df385e208807b1dc5f2956f82a7f75f65fd8':
  keystore: Provide a generic getter for native components.
2009-07-06 11:22:25 -07:00
Chung-yih Wang
e439029f8a am 699ca3f2: Add password field for WiFi configuration.
Merge commit '699ca3f2518360ea3250ff5a0e5d39e122c64a91'

* commit '699ca3f2518360ea3250ff5a0e5d39e122c64a91':
  Add password field for WiFi configuration.
2009-07-06 11:22:18 -07:00
Android (Google) Code Review
2659e77bd2 am 24ad29c6: Merge change 6177 into donut
Merge commit '24ad29c6dbbf62096bcb41ddb2fa3975720ee625'

* commit '24ad29c6dbbf62096bcb41ddb2fa3975720ee625':
  Two small checks in keymgmt.
2009-07-06 11:21:59 -07:00
Android (Google) Code Review
dea9f55274 Merge change 6198 into donut
* changes:
  keystore: Provide a generic getter for native components.
2009-07-06 00:04:54 -07:00
Chia-chi Yeh
5d0ca76229 keystore: Provide a generic getter for native components. 2009-07-06 14:33:09 +08:00
Chung-yih Wang
6ac03019e6 Add password field for WiFi configuration.
1. the certtool.h is modified for avoiding the side effect,
   for saving the configuration with wpa_supplicant.
2. put the loadLibrary back in CertTool.java
3. Fix incorrect JNI declarations.
2009-07-05 11:06:01 +08:00
Android (Google) Code Review
4c6ee740ad am 7de4bd9b: Merge change 6045 into donut
Merge commit '7de4bd9b40d80fd68fc746efd645e3df7442acea'

* commit '7de4bd9b40d80fd68fc746efd645e3df7442acea':
  Remove the null-termination for Java string compatibility.
2009-07-03 09:08:36 -07:00
Android (Google) Code Review
b35262e025 am d45dcbec: Merge change 5615 into donut
Merge commit 'd45dcbec856710f9478ffc5689e7cdf95d757ab8'

* commit 'd45dcbec856710f9478ffc5689e7cdf95d757ab8':
  Implement the generic mini-keystore for security.
2009-07-03 08:58:31 -07:00
Chung-yih Wang
37b49519cc Two small checks in keymgmt.
1. Enforce the state check in listkey().
2. Enforce the password length check.
2009-07-03 12:14:36 +08:00
Chung-yih Wang
7bd460b120 Remove the null-termination for Java string compatibility.
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.
2009-07-02 23:08:39 +08:00
Chung-yih Wang
c186c66a29 Implement the generic mini-keystore for security.
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.
2009-07-02 14:08:20 +08:00
Android (Google) Code Review
b08e0936d7 am 9fbeb7da: Merge change 4337 into donut
Merge commit '9fbeb7da1318bf5b65588a759332d74540306c06'

* commit '9fbeb7da1318bf5b65588a759332d74540306c06':
  Change the keystore APIs.
2009-06-17 15:38:33 -07:00
Chung-yih Wang
4c40420cd2 Change the keystore APIs.
1. simplify the keypair selection in UI.
2. add the user certificate and key into the keystore for keygen feature.
2009-06-17 14:32:05 +08:00
Android (Google) Code Review
1c6ad98017 am db8a6ae6: Merge change 3709 into donut
Merge commit 'db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2'

* commit 'db8a6ae6bbd8cbb17fb79085ffb9d3fc539fe5c2':
  Provide the Keystore feature in the framework.
2009-06-11 07:57:37 -07:00
Chung-yih Wang
8fcbada742 Provide the Keystore feature in the framework.
-- added the keystore library for Java application.
-- changed the marshalling of the keystore function return.
2009-06-11 17:28:40 +08:00
Android (Google) Code Review
a0cfd25b43 am 54d63246: Merge change 3427 into donut
Merge commit '54d632468c0cd53087d17420d9d383bc29553d36'

* commit '54d632468c0cd53087d17420d9d383bc29553d36':
  First version of the keystore service.
2009-06-09 19:12:37 -07:00
Chung-yih Wang
a92d5dc0f6 First version of the keystore service.
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
2009-06-08 16:34:54 +08:00
Mathias Agopian
e0c322049a get rid of utils.h 2009-05-31 19:13:00 -07:00
Andy McFadden
19deced119 Fix sim-eng build. 2009-05-26 12:06:31 -07:00
Android (Google) Code Review
3a253bd4e4 am 9681a5e0: Merge change 2230 into donut
Merge commit '9681a5e06badbd817342e8f6be4ffbe9102c1e98'

* commit '9681a5e06badbd817342e8f6be4ffbe9102c1e98':
  runtime: Add CAP_SYS_NICE to the system server capabilities list so it
2009-05-22 11:26:04 -07:00
San Mehat
a00a0851c3 runtime: Add CAP_SYS_NICE to the system server capabilities list so it
can (eventually) move arbitrary threads into different cgroups

Signed-off-by: San Mehat <san@google.com>
2009-05-21 15:34:56 -07:00
Mathias Agopian
c5b2c0bf80 move libbinder's header files under includes/binder 2009-05-20 12:55:03 -07:00
Mathias Agopian
208059f67e checkpoint: split libutils into libutils + libbinder 2009-05-20 12:55:02 -07:00
The Android Open Source Project
edbf3b6af7 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d5193d9394 auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
8a7a67538a auto import from //branches/cupcake/...@126645 2009-01-15 16:12:10 -08:00
The Android Open Source Project
7c1b96a165 Initial Contribution 2008-10-21 07:00:00 -07:00