Commit Graph

7628 Commits

Author SHA1 Message Date
Peter Cai 05cd3f8616 ext4crypt: change to upgrade key if export fails
Add support to upgrade key when export fails with KEY_REQUIRES_UPGRADE.

Ported from
https://source.codeaurora.org/quic/la/platform/system/vold/commit/?h=LA.UM.7.9.r1-06100-sm6150.0&id=85c46eaacc60290db5e71380d89eb4d99ed67995

Change-Id: Ic64be8ade00c0b0d014370ecc9341b1ecc9b0d7a
2019-09-01 19:34:09 +02:00
Peter Cai 90edd2e867 ext4crypt: support wrappedkey for FBE
Qualcomm devices use a special `wrappedkey` mode for FBE. This is ported
from CAF
https://source.codeaurora.org/quic/la/platform/system/vold/commit/?h=LA.UM.7.8.r4-01000-SDM710.0&id=9229262d893a8592f7bc1b4e8a8dab7aad8df68c,
originally by folks at Mokee for vold
https://mokeedev.review/c/MoKee/android_system_vold/+/34102.

This patch ports the above changes to `ext4crypt`, which we can use in
recovery. Note that since we do not have `fs_mgr` in the recovery, we
cannot read the `wrappedkey` flag from fstab. Instead, similar to
`fbe.contents`, we use a special property `fbe.data.wrappedkey` to
indicate support for wrappedkey mode. Devices that need to use this
should set this property to `true` to activate corresponding code.

Change-Id: I79c2855d577156670b45c10c7c7b1fcd9fece8d9
2019-09-01 19:33:30 +02:00
big biff 69ab4a6000 Merge "fix build error in 9.0 with TW_NO_EXFAT_FUSE:=true" into android-9.0 2019-08-04 00:49:41 +02:00
Andreas Schneider b0a0dbbab0 prebuilt: Add android.hardware.confirmationui@1.0 for /sbin/keystore
Change-Id: I62e68c137e9790392dd2fc44c2add990c2f408d6
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
2019-07-04 00:39:02 +02:00
big biff 0bd7c59026 Merge "ext4crypt: support synthetic keys v3 on May update" into android-9.0 2019-06-25 02:01:42 +02:00
Ian Macdonald a3b25a3ebe Backup_Tar(): Properly localise string instead of using English.
Change-Id: Id13885a30e3a412e5b7b42de0e63cd7fc885dfc1
2019-06-24 00:28:38 +02:00
bigbiff bigbiff 3c897aec16 fb2png: Fix compilation in android-9.0 repos.
Remove unused reference.
Change temp variables to size_t.
Update function calls for unused arguments.
Update static functions to ignore being defined
for each file that includes it.
Change-Id: If11d4e26daee54197f369974a09ec71f27abb59b
2019-06-05 20:00:54 -04:00
Ethan Yonker ae7ff3b2fa Fix symlink creation
Change-Id: I0d0bcdde2957974eb357a6f3d820bd5ab0fa47ee
2019-05-24 16:31:09 -05:00
Ethan Yonker abf1fb0086 Switch between dependencies and modules
Use LOCAL_REQUIRED_MODULES for Pie and up and
LOCAL_ADDITIONAL_DEPENDENCIES for Oreo and down.

Change-Id: I5365e782f98f3bbf4bf246be22c8f573824b65ee
2019-05-24 22:39:12 +02:00
Peter Cai ea1764c9fa ext4crypt: support synthetic keys v3 on May update
Re-implemented SP800Derive in C++, which is added as the new key
derivation function in Android 9.0 May update. From file
services/core/java/com/android/server/locksettings/SP800Derive.java in
frameworks/base.

This is required to get TWRP working on any Android device that has a
screen lock set up after the May update.

Change-Id: I5c1a51b110033f2b0b75d5e36fd8098c05e95179
2019-05-24 20:41:12 +08:00
bigbiff bigbiff f5955b1cb4 Digest: Create digest for each subpartition and not just the first.
Change-Id: I408382e83aa0ac1106ff7198adf9787c0a0877cd
2019-05-18 17:30:12 -04:00
Ethan Yonker 5a1ae04674 3.3.1
Change-Id: I9c1114d133cd195ce536dc66b6bdc1f0236ddd55
2019-05-16 12:11:32 -05:00
Ethan Yonker 76bbd3a11a Add option to uninstall TWRP app from /system
Change-Id: Ibe372a372333c357810be2afcb3796723ca370cb
2019-05-16 19:07:06 +02:00
Ethan Yonker 9f5dd3139e Flash both A/B partitions when flashing recovery ramdisk
Change-Id: Ib4017943be91f6b2030094d73daa826a4a1555d4
2019-05-16 19:06:49 +02:00
dianlujitao 3cf05a569e Resolve e2fsdroid failure in certain cases
* Set proper SELinux context for system-as-root system, AOSP uses "/"
   in fstab while TWRP uses "/system_root" so an exception is necessary.
 * Skip initializing context if the target partition doesn't exist in
   /file_contexts e.g. /usb-otg.

Change-Id: I8f802c34e18fb9f65bf936d11967c83a451b0493
2019-05-15 16:27:17 +08:00
big biff c1ad6c1931 Merge "Pass file_contexts path to e2fsdroid" into android-9.0 2019-05-15 01:04:55 +02:00
big biff f816672f9c Merge "Update help manual in orscmd" into android-9.0 2019-05-14 01:41:33 +02:00
Nikolay 29969ec5dd Update help manual in orscmd
Change-Id: I4b2e385637cded40dbb08e0ee8ca7117dbdd67ca
2019-05-12 21:03:35 +01:00
lambdadroid ead0f49cbb toolbox: Avoid linking toolbox tools to dd
Having the twrp_dd module definition right within the build rules
for the toolbox symlinks causes the toolbox tools (getprop, ...)
to be linked to dd instead of toolbox.

This happens because the symlinks are created using variables
from the "toolbox_recovery" module (e.g. LOCAL_MODULE_STEM).
Those are changed by the twrp_dd module definition.

Move the twrp_dd module definition to the end of the make file
(after the build rules for the symlinks) to fix this.

Fixes https://github.com/omnirom/android_bootable_recovery/issues/257

Change-Id: I44973920898fe8a21bc32d621500fe38f9d1ebdd
2019-05-12 11:54:38 +02:00
big biff c2a5f7ef66 Merge "language: update Chinese translations" into android-9.0 2019-05-11 01:45:24 +02:00
betaxab c23f00b90d language: update Chinese translations
Change-Id: Id34055262b7c711a2ee71d97d27503a887d35b76
Signed-off-by: betaxab <betaxab@gmail.com>
2019-05-11 03:45:59 +08:00
big biff 117c64785b Merge "NTFS-3G: use newer libfuse-light in pie." into android-9.0 2019-05-09 01:48:45 +02:00
bigbiff bigbiff 52f868b5d9 NTFS-3G: use newer libfuse-light in pie.
Change-Id: I66dc38a19524f1eaac8cc5afc1110c5d11fc74eb
2019-05-05 16:13:08 -04:00
bigbiff bigbiff 3f20a85c03 English language: Remove duplicate value.
Change-Id: I849acef3e19519bfe6b8dc5fdd9a50eda3f03e2a
2019-05-05 13:53:25 -04:00
bigbiff bigbiff 6af36a4f37 bsd dd: include prebuilt bsd dd in twrp for Nougat and greater
- Cleaned up toolbox/Android.mk so that BSD dd builds
  with correct Android versions

Change-Id: Idb15811480ec03b05336d54b866233b5ac99dfaf
2019-05-04 19:55:16 -04:00
big biff 5f177ae4c7 Merge "awk: add awk for trees including one-true-awk" into android-9.0 2019-05-03 02:16:29 +02:00
big biff a525f3bc79 Merge "mkshrc: remove post-install cmd and use LOCAL_MODULE_STEM" into android-9.0 2019-05-03 02:09:53 +02:00
big biff 252651b483 Merge "Clean up logd init file" into android-9.0 2019-05-03 02:07:41 +02:00
big biff 84d2300cce Merge "Use BSD grep for builds with toybox" into android-9.0 2019-05-03 01:34:27 +02:00
Captain Throwback 695baa60cb toybox: fix build in 6.0 tree
When building with TW_USE_TOOLBOX, build currently fails.
This patch fixes those build errors.

Change-Id: I041523d93a3fa9624fee80679e521750b4f9edfa
2019-05-01 18:50:36 +01:00
Captain Throwback 93804dd50e awk: add awk for trees including one-true-awk
Change-Id: I5458a3ecc69b60cc249f598b0250428fc414f34b
2019-04-30 16:38:49 -04:00
Captain Throwback bb016729b1 mkshrc: remove post-install cmd and use LOCAL_MODULE_STEM
Change-Id: I2e0c7fda8cb39dd2a607f7ab2fdfe744e75fb3cd
2019-04-29 17:46:41 -04:00
Captain Throwback 986130473e Clean up logd init file
- Remove unnecessary services

Change-Id: I4c9227cd49eeef1176d321ae61ca3ca8c3f54596
2019-04-29 17:45:31 -04:00
Captain Throwback 3c565b568d Use BSD grep for builds with toybox
- Include symlinks for egrep and fgrep

Change-Id: I78e27f95efa143fa63def02c9e72af567833aefe
2019-04-29 17:44:24 -04:00
codeworkx 22e3aa9ed6 ext4crypt: add missing cflag
Avoid calling e4crypt_prepare_user_storage with wrong input parameters.

Change-Id: I5c8945370cb642e46f08c65090c0290c15fe0b57
libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 632 (recovery), pid 564 (recovery)
2019-04-23 12:07:43 +02:00
dianlujitao 19e8461ff7 Pass file_contexts path to e2fsdroid
* Otherwise no context will be initialized but existing context will be
   erased and lead to unexpected behavior, e.g., device no longer boots
   after restoring a system backup due to missing valid seclabel of the
   system partition.

Change-Id: I60c62fdc699714bb906a40ce5e1f40299681f72a
2019-04-22 17:55:13 +08:00
big biff 7af226083a Merge "languages: encode for utf-8 in the appropriate places." into android-9.0 2019-04-17 02:20:04 +02:00
f2065 e605f1c087 Updated Russian localization, bugs fixed (letter Ё, cities in time zones are correct, correct checksum, and other minor fixes).
Change-Id: Id1fd250c69cdc91e8b3e76d056fb1a5935457cdd
2019-04-16 11:50:39 +01:00
bigbiff bigbiff ceb032052f languages: encode for utf-8 in the appropriate places.
Change-Id: I74308aae75098aa1a47b7f11b7c3214fe4e6d58e
2019-04-14 20:35:43 -04:00
Ethan Yonker 1da568fab4 Do not check digest on mapped installs
Change-Id: I2d57eba354e4ec88f418208183f53c12e8548fcb
2019-04-09 15:35:21 -05:00
Mauronofrio Matarrese 1ecb6df370 Change slot name position
This is need to avoid overlapping between the third row of buttons and 
the current active slot, actually if you enable edl button, the active 
slot will overlap the button.

Change-Id: I6cfc945c2d0be0530dad7b4ce0f0e2ca29c297c4
2019-04-05 16:19:25 +02:00
Mauronofrio Matarrese 82a2f45eb7 Fix "Install Recovery Ramdisk" of a file which contains a space in the name
Change-Id: Ib2b1deee7427d9ac565676068b11982171f7a98d
2019-04-04 22:40:19 +01:00
Martin Dünkelmann 6d8437812b fix build error in 9.0 with TW_NO_EXFAT_FUSE:=true
'bootable/recovery/partition.cpp:1476:158:

error:

format specifies type unsigned int

but the argument has type unsigned long

[-Werror,-Wformat]'

if using TW_NO_EXFAT_FUSE := true;

Change-Id: Icff5893a0de746ecfa3b247dc83c74a42e04bb08
2019-04-04 22:14:04 +02:00
Ethan Yonker f0a7e59668 Fix recovery-twrp in some old CM trees
Change-Id: Ie401ab8ec39b721c3747475bcc8269f78963d31c
2019-04-04 10:06:41 -05:00
Ethan Yonker b1a7ae9cd9 Three Dot Three Dot Zero
Change-Id: If58ac0918b78c90071ffe2efa1c8509316a2afb1
2019-04-03 21:34:20 -05:00
Ethan Yonker 193befec8c Extract arch-specific updater binary if present
Check for and extract arch specific updater binary based on
ro.product.cpu.abilist and use ro.product.cpu.abi as a fall back.
If no arch specific updater binary is present then use the regular
update-binary file. Note that a file named update-binary must be
present in the zip still even if it is a 0 byte file.

Change-Id: Iabb2156e68d40c5b99d55ea8e4a9a553eb26600a
2019-04-04 04:28:12 +02:00
Ethan Yonker b150276a43 Prevent having to double-tap some check boxes
Check boxes that do not have a default value set usually required
you to tap them twice to toggle them on the very first time. This
patch checks the return value from GetValue and sets a default of
0 if the variable does not already exist in the Data Manager.

Change-Id: I1ff26e756764ed2a00b10102f13a5bce0119771a
2019-04-04 04:26:53 +02:00
Ethan Yonker 53796e7333 Use magiskboot to repack the boot partition
Set TW_INCLUDE_REPACKTOOLS := true

Must also have:
AB_OTA_UPDATER := true

Use magiskboot and provide GUI options to allow users to repack
their existing boot image to install TWRP (or kernels) so we can
stop having to provide installation zips for AB devices. There is
also an option to try to fix a recovery bootloop if the kernel
has been patched to always boot the ramdisk for root, etc.

You will need to pull the below repo into external/magisk-prebuilt
https://github.com/TeamWin/external_magisk-prebuilt

Change-Id: I74196cc6f095a7576d61886dc96cbc18deba9b04
2019-04-03 16:44:00 -05:00
Dees Troy 9a4d7403d9 Fix build in 5.1 tree
Change-Id: I15f888d58c01de00920dc5c56148d363f4dd79b8
2019-04-03 05:23:34 +02:00
bigbiff bigbiff e4bdb15a5f AB Cache dir: If device doesn't have /data/cache for FBE, we should
try /persist if in the fstab.

Change-Id: I70dd19538b7f9b8cf61c46f6c8167057eec3342b
2019-04-03 02:08:39 +02:00