Commit graph

643 commits

Author SHA1 Message Date
Doug Zongker
075ef327d4 correctly mount tmpfs as /tmp in recovery
The syntax of init's mount command changed in April 2008 but
recovery's init.rc was never updated, so recovery's /tmp has been on
the root fs all this time.  Fix.

Also add /system/bin to the PATH in recovery, which is handy for
debugging.

Change-Id: I39f7ae435a8ce3bad691e4b7c307db0bd8de1302
2014-01-14 09:50:35 -08:00
Nick Kralevich
fc72951237 Merge "Set SELinux security contexts correctly for init and services." 2014-01-13 19:47:21 +00:00
Stephen Smalley
2c9d5b2839 Set SELinux security contexts correctly for init and services.
Otherwise everything is left running in the kernel domain when
booting recovery.

Change-Id: Ie3d86547d5be0b68dd1875a97afe1e00fc3e4da1
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2014-01-13 14:00:36 -05:00
Nick Kralevich
617d1cadc6 Merge "minui: do not use flexible array initialization" 2014-01-04 01:47:56 +00:00
synergy dev
a0ecc8c427 minui: do not use flexible array initialization
Avoiding the use of gnu extensions improves code portability

Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016
2013-11-26 03:21:13 +00:00
Michael Runge
40dfc474c4 am c64e76c7: Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev
* commit 'c64e76c75088b951f61a7f7bacf8af6eccd2ccfa':
  Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add.
2013-11-07 15:00:42 -08:00
Michael Runge
c64e76c750 Merge "Enable incremental builder to find files that moved, and try to process them via patch + rename, instead of delete + add." into klp-dev 2013-11-07 22:55:51 +00:00
Michael Runge
ce7ca7165b Enable incremental builder to find files that moved, and
try to process them via patch + rename, instead of
delete + add.

b/11437930

Change-Id: I984349fbc9a8dac4379e00c0d66fc7d22c4eb834
2013-11-07 12:29:14 -08:00
Ed Heyl
a370c0f7fe am 3966c571: merge in klp-release (no-op)
* commit '3966c571a0c36a40a8142e70b1aa6de547ea6ec3':
2013-10-16 17:44:12 -07:00
Ed Heyl
3966c571a0 merge in klp-release (no-op) 2013-10-16 17:34:54 -07:00
Kenny Root
fc7eab961f am f4a6ab27: Merge "Add support for ECDSA signatures"
* commit 'f4a6ab27b335b69fbc419a9c1ef263004b561265':
  Add support for ECDSA signatures
2013-10-14 14:08:21 -07:00
Kenny Root
f4a6ab27b3 Merge "Add support for ECDSA signatures" 2013-10-14 21:04:56 +00:00
Kenny Root
7a4adb5268 Add support for ECDSA signatures
This adds support for key version 5 which is an EC key using the NIST
P-256 curve parameters. OTAs may be signed with these keys using the
ECDSA signature algorithm with SHA-256.

Change-Id: Id88672a3deb70681c78d5ea0d739e10f839e4567
2013-10-10 14:19:19 -07:00
Ed Heyl
053c1c5e89 am 7fdeb1f9: merge in KQS81M
* commit '7fdeb1f9d7c1e979ebf78725bbf000bcb8c6ffc3':
  Don't apply permission changes to symlink.
  recovery: fix use of init reboot method
2013-10-08 15:45:46 -07:00
Ed Heyl
7fdeb1f9d7 merge in KQS81M 2013-10-08 15:35:29 -07:00
The Android Automerger
91321f60ae merge in klp-release history after reset to klp-dev 2013-10-03 06:01:22 -07:00
Michael Runge
efef45ede6 am a2a1ce82: Allow child classes to override the overlay location for the update image.
* commit 'a2a1ce823b8c76451ee2b38155b347b0c2ced714':
  Allow child classes to override the overlay location for the update image.
2013-10-02 17:00:24 -07:00
Michael Runge
a2a1ce823b Allow child classes to override the overlay location for the
update image.

b/10952479

Change-Id: I59bb834f271f702fb529054dab7926b816fa35cc
2013-10-02 16:31:07 -07:00
Kenny Root
dd92a4d625 am 58c60900: Merge "verifier: update to support certificates using SHA-256"
* commit '58c60900ac3682fab08f64373bdd1020713b48f7':
  verifier: update to support certificates using SHA-256
2013-09-25 10:19:33 -07:00
Kenny Root
58c60900ac Merge "verifier: update to support certificates using SHA-256" 2013-09-25 17:14:59 +00:00
Doug Zongker
30362a6ad1 verifier: update to support certificates using SHA-256
(cherry picked from commit bac7fba027)

Change-Id: I01c38d7fea088622a8b0bbf2c833fa2d969417af
2013-09-25 10:11:46 -07:00
Nick Kralevich
46ab1b6138 updater: Delete dead code
set_perm and set_perm_recursive are no longer used. Delete.

(cherry picked from commit 08ef9a9570)

Change-Id: I1bcc90ae19af9df4f0705496c5876987159f75ac
2013-09-17 10:20:45 -07:00
The Android Automerger
c287321e9c merge in klp-release history after reset to klp-dev 2013-09-12 06:00:47 -07:00
Doug Zongker
1306a7effa am cc2958fd: fix secure adb in recovery
* commit 'cc2958fd7f32f79d1a034eee005e04afeb310a87':
  fix secure adb in recovery
2013-09-11 13:39:03 -07:00
Doug Zongker
cc2958fd7f fix secure adb in recovery
Recovery's init.rc was missing a line (added to the main system's
init.rc in change Ic97fd464440ff4a29fc9da7ad15949ac5215ade3) is
required for secure adb to work.

Change-Id: Id79b94d2abb4cbe3cca7cabeb4bc5faf7205e56b
2013-09-11 13:24:32 -07:00
Nick Kralevich
d456944f02 Don't apply permission changes to symlink.
Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
2013-09-10 17:13:23 -07:00
Nick Kralevich
af677d786e am e461251e: Don\'t apply permission changes to symlink.
* commit 'e461251e2caa5561cf6a315bffaebfd4eb896b1d':
  Don't apply permission changes to symlink.
2013-09-10 15:50:08 -07:00
Nick Kralevich
e461251e2c Don't apply permission changes to symlink.
Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
2013-09-10 15:34:19 -07:00
The Android Automerger
c4a3a4bcc8 merge in klp-release history after reset to klp-dev 2013-09-10 14:28:02 -07:00
Nick Kralevich
cc421662d7 am 5dbdef0e: updater: introduce and set_metadata and set_metadata_recursive
* commit '5dbdef0e5b8a841fadc64d016d10ce81a962b284':
  updater: introduce and set_metadata and set_metadata_recursive
2013-09-10 11:18:24 -07:00
Nick Kralevich
5ae88e8998 am 3328e3bc: Revert "Update OTA installer to understand SELinux filesystem labels"
* commit '3328e3bc81161c2a57ea94d304162276facdd826':
  Revert "Update OTA installer to understand SELinux filesystem labels"
2013-09-10 11:18:24 -07:00
Nick Kralevich
5dbdef0e5b updater: introduce and set_metadata and set_metadata_recursive
Introduce two new updater functions:

* set_metadata
* set_metadata_recursive

Long term, these functions are intended to be more flexible replacements
for the following methods:

* set_perm
* set_perm_recursive

Usage:

  set_metadata("filename", "key1", "value1", "key2", "value2", ...)
  set_metadata_recursive("dirname", "key1", "value1", "key2", "value2", ...)

Description:

set_metadata() and set_metadata_recursive() set the attributes on a file/directory
according to the key/value pairs provided. Today, the following keys are
supported:

* uid
* gid
* mode (set_perm_extd only)
* fmode (set_perm_extd_recursive only)
* dmode (set_perm_extd_recursive only)
* selabel
* capabilities

Unknown keys are logged as warnings, but are not fatal errors.

Examples:

* set_metadata("/system/bin/netcfg", "selabel", "u:object_r:system_file:s0");

This sets the SELinux label of /system/bin/netcfg to u:object_r:system_file:s0.
No other changes occur.

* set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

This sets /system/bin/netcfg to uid=0, gid=3003, mode=02750,
selinux label=u:object_r:system_file:s0, and clears the capabilities
associated with the file.

* set_metadata_recursive("/system", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

All files and directories under /system are set to uid=0, gid=0,
and selinux label=u:object_r:system_file:s0. Directories are set to
mode=0755.  Files are set to mode=0644 and all capabilities are cleared.

Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: Ifdcf186a7ed45265511dc493c4036e1ac5e3d0af
2013-09-10 10:24:24 -07:00
Nick Kralevich
3328e3bc81 Revert "Update OTA installer to understand SELinux filesystem labels"
This reverts commit 627eb30f73.

Bug: 10183961
Bug: 10186213
2013-09-09 10:47:14 -07:00
Doug Zongker
15ae0e7867 recovery: fix use of init reboot method
We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
2013-09-03 15:17:18 -07:00
Doug Zongker
f187a5438d am 3b5a987c: recovery: fix use of init reboot method
* commit '3b5a987cd7fd76c038e9875b430028216d21ace3':
  recovery: fix use of init reboot method
2013-09-03 14:46:26 -07:00
Doug Zongker
3b5a987cd7 recovery: fix use of init reboot method
We need to set the system property to "reboot,", not an empty string.

Bug: 10605007
Change-Id: I776e0d273764cf254651ab2b25c2743395b990e0
2013-09-03 14:29:54 -07:00
Doug Zongker
366f78a9df am 77ea71d6: recovery: fix rebooting
* commit '77ea71d6a85a93c9bf423466e87661b1bf67c512':
  recovery: fix rebooting
2013-08-30 14:05:20 -07:00
Doug Zongker
77ea71d6a8 recovery: fix rebooting
Change I84c0513acb549720cb0e8c9fcbda0050f5c396f5 moved reboot
functionality into init but did not update the recovery partition; so
"adb reboot" and /system/bin/reboot in recovery are both broken.

Change-Id: Ie2d14627a686ffb5064256b6c399723636dff116
2013-08-30 12:20:16 -07:00
John Reck
19877de513 am 5c4e1dac: Merge "Update libpng API usage"
* commit '5c4e1dac0bd8f31559bd50eec4343b7a17b7a976':
  Update libpng API usage
2013-08-27 09:54:05 -07:00
John Reck
5c4e1dac0b Merge "Update libpng API usage" 2013-08-27 16:49:39 +00:00
John Reck
94fd07ba6d Update libpng API usage
Remove usage of deprecated methods

Change-Id: I747568a2c8c0c65ecbc9a3da4bac7b9cac7708ab
2013-08-26 16:45:33 -07:00
Doug Zongker
239ac6abac recovery: install packages in a known mount environment
When installing a package, we should have /tmp and /cache mounted and
nothing else.  Ensure this is true by explicitly mounting them and
unmounting everything else as the first step of every install.

Also fix an error in the progress bar that crops up when you do
multiple package installs in one instance of recovery.

Change-Id: I4837ed707cb419ddd3d9f6188b6355ba1bcfe2b2
2013-08-21 13:44:35 -07:00
Doug Zongker
c0441d1719 notify about pending long press
Recovery changes:

- add a method to the UI class that is called when a key is held down
  long enough to be a "long press" (but before it is released).
  Device-specific subclasses can override this to indicate a long
  press.

- do color selection for ScreenRecoveryUI's menu-and-log drawing
  function.  Subclasses can override this to customize the colors they
  use for various elements.

- Include the value of ro.build.display.id in the menu headers, so you
  can see on the screen what version of recovery you are running.

Change-Id: I426a6daf892b9011638e2035aebfa2831d4f596d
2013-07-31 11:35:12 -07:00
Todd Poynor
3c3ee3bc33 Merge "start healthd in recovery" 2013-07-26 23:57:41 +00:00
Nick Kralevich
627eb30f73 Update OTA installer to understand SELinux filesystem labels
Modify the OTA installer to understand SELinux filesystem labels.

We do this by introducing new set_perm2 / set_perm2_recursive
calls, which understand SELinux filesystem labels. These filesystem
labels are applied at the same time that we apply the
UID / GID / permission changes.

For compatibility, we preserve the behavior of the existing
set_perm / set_perm_recursive calls.

If the destination kernel doesn't support security labels, don't
fail. SELinux isn't enabled on all kernels.

Bug: 8985290
Change-Id: I99800499f01784199e4918a82e3e2db1089cf25b
2013-07-18 15:21:12 -07:00
Doug Zongker
51c84694b0 am a69b50c5: am 901b898d: recovery: remove O_DIRECT, use O_SYNC only
* commit 'a69b50c567d46afad73c4d6ab9e57f078ee73327':
  recovery: remove O_DIRECT, use O_SYNC only
2013-07-11 14:23:44 -07:00
Doug Zongker
bce44d8b55 am 660637f3: am e8d953aa: recovery: more cargo-cult programming
* commit '660637f3fc6fe20e8b7f47b98152138c2c92b7ec':
  recovery: more cargo-cult programming
2013-07-11 14:23:36 -07:00
Doug Zongker
a69b50c567 am 901b898d: recovery: remove O_DIRECT, use O_SYNC only
* commit '901b898d5e4d7cc555974b8132f83f948f8fbaee':
  recovery: remove O_DIRECT, use O_SYNC only
2013-07-11 12:42:54 -07:00
Doug Zongker
901b898d5e recovery: remove O_DIRECT, use O_SYNC only
O_DIRECT writes fail with EINVAL due to alignment issues.

Change-Id: If8cf38a636313e4f4b4e61e66287dc903c473e5b
2013-07-11 12:31:25 -07:00
Doug Zongker
660637f3fc am e8d953aa: recovery: more cargo-cult programming
* commit 'e8d953aa7ed0c16beb1b03a05d16cb23dd85e198':
  recovery: more cargo-cult programming
2013-07-11 12:22:22 -07:00