Commit Graph

29 Commits

Author SHA1 Message Date
Ethan Yonker
da056fdc5b libtar: Fix restore of e4crypt policies
Change-Id: I457356069330c38299fd326181c1c88b12a08dbd
2017-07-06 10:10:13 -05:00
Ethan Yonker
8d039f7bd8 libtar: support backing up and restoring new Android user.* xattr
Support for backing up and restoring user.default, user.inode_cache, and
user.inode_code_cache xattrs introduced in Android 7.x

Change-Id: I6e0aa7fc9cd30ed004ef28ebb58d60a82e518123
2017-02-16 21:50:05 -06:00
Matt Mower
874136434a SELinux can be assumed for Android 4.4+
Change-Id: I7410a0c8e439eec90a955ee9201efd9a92bb9635
2017-01-18 12:40:26 -06:00
Ethan Yonker
7118774ec9 libtar: backup and restore posix capabilities
This patch also allows libtar to combine data from multiple extended
tar headers into a single header.

Change-Id: I82d13e89a3622ea665b60062b1904ddbedfa41b3
2017-01-18 17:11:33 +01:00
D. Andrei Măceș
1c28904749 libtar: Use relative path for crypto/ext4crypt include
Don't assume path to be bootable/recovery (i.e., support CM's
RECOVERY_VARIANT).

Change-Id: Ib53cc919c5a9beb3beee71d7227a7c957a24b601
2017-01-12 18:35:29 +01:00
Ethan Yonker
79f88bdf8d Support backup/restore of FBE policies
Change-Id: Iba8ef20f57b0fb57bb9406c53148a806441d0b59
2016-12-13 14:25:04 -06:00
Ethan Yonker
472f506817 Improve progress bar handling for backup / restore / image flash
The progress bar will now be updated during image backups, restores
and during image flashing (except for sparse images which will require
significant changes to libsparse, and except for mtd nand using
flash_utils).

The progress bar will now be updated mid-file for file systems (tar) so
the user will see changes even during large file backup / restore.

Add a new progress tracking class to simplify handling of progress bar
updates. The class will only update the progress bar 5 times a second to
reduce the CPU load from updating the GUI frequently which does affect
backup times.

Change-Id: Iff382faef3df1f86604af336c1a8ce8993cd12c5
2016-03-31 15:44:24 +01:00
James Christopher Adduono
6f57f7c601 Merge code from upstream libtar + bug fixes
All updates and fixes applied from upstream libtar as of
March 1, 2016.

Debug flag is disabled, however non-debug output now
provides 1 line of useful output per object extracted.

I've also merged some fixes from CyanogenMod's
fork of libtar:

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 16:24:40 -0800
Subject: libtar: Cleanup, secure, and extend numeric fields
Commit: e18b457ea1cbf6be1adc3b75450ed1c737cd82ea

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 11 Feb 2016 12:49:30 -0800
Subject: libtar: Make file sizes 64-bit clean
Commit: e628c2025549a24018bc568351465130a05daafb

From: Tom Marshall <tdm@cyngn.com>
Date: Thu, 17 Apr 2014 09:39:25 -0700
Subject: libtar: Add methods for in-memory files
Commit: 8ec5627a8ff0a91724c6d5b344f0e887da922527

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 2 Jul 2014 09:34:40 -0700
Subject: libtar: Fix hardlink extract
Commit: 166d83a51e0c51abcea37694dbd7df92d03c1f56

From: philz-cwm6 <phytowardt@gmail.com>
Date: Sat, 26 Apr 2014 01:11:35 +0200
Subject: libtar: Various bug fixes and enhancements
Commit: a271d763e94235ccee9ecaabdb52bf4b9b2f8c06
(Some of this was not merged in, as better solutions were
available from upstream libtar)

From: Tom Marshall <tdm@cyngn.com>
Date: Wed, 9 Apr 2014 09:35:54 -0700
Subject: libtar: Add const qualifiers to reduce compile warnings
Commit: 0600afa19fe827d06d3fcf24a7aabd52dbf487b4

Change-Id: I6d008cb6fdf950f835bbed63aeb8727cc5c86083
2016-03-02 13:04:11 -06:00
Ethan Yonker
c798c9cd24 Merge up to AOSP marshmallow-release
In order to maintain compatibility with older trees, we now have
minadbd.old and minui.old. I had to use a TARGET_GLOBAL_CFLAG to
handle ifdef issues in minui/minui.d because healthd includes
minui/minui.h and there was no other alternative to make minui.h
compatible with older trees without having to modify healthd rules
which is outside of TWRP.

Note that the new minui does not currently have support for qcom
overlay graphics. Support for this graphics mode will likely be
added in a later patch set. If you are building in a 6.0 tree and
have a device that needs qcom overlay graphics, be warned, as off
mode charging may not work properly. A dead battery in this case
could potentially brick your device if it is unable to charge as
healthd handles charging duties.

Update rules for building toolbox and add rules for making toybox

Use permissive.sh in init.rc which will follow symlinks so we do
not have to worry about what binary is supplying the setenforce
functionality (toolbox, toybox, or busybox).

Fix a few warnings in the main recovery binary source code.

Fix a few includes that were missing that prevented compiling in
6.0

Change-Id: Ia67aa2107d260883da5e365475a19bea538e8b97
2015-10-09 11:15:29 -05:00
Vojtech Bocek
78ab0c5807 libtar: fix handling of files bigger than 2 GiB
Change-Id: I96dc1b52b2e4edf366e70a927b263a9aab3e85b7
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2015-03-20 15:34:45 +01:00
Matt Mower
2b18a53dc8 Address a few compiler warnings
Change-Id: I6e063fba8d58c8c53da6bca6292c84e3392aee50
2015-03-05 04:11:44 +01:00
Matt Mower
db22044901 Fix some module tags
There is no LOCAL_MODULES_TAGS. Fix by combining with LOCAL_MODULE_TAGS.

Change-Id: I1cacef2f8123af3632ff6a52aa62c2f2e15ac37d
2014-11-04 08:49:09 -06:00
Ethan Yonker
1b7a31bd65 Track backup and restore progress
Track backup and restore progress based on the sizes of the files
as they are being added to the tar backup file. Update the
progress bar based on the sizes of the files.

Change-Id: Idf649efa1db3e91830b4b2add86203a3f30042ff
2014-07-09 08:52:18 -05:00
Vojtech Bocek
0ea3be665a libtar: don't set parent dir's context when extracting a file
Change-Id: I83e11b0119c47cb691d4e05ac1e5515aeafbdc87
Signed-off-by: Vojtech Bocek <vbocek@gmail.com>
2014-06-06 16:16:37 +02:00
Ethan Yonker
50381976ff Add twrpTar binary
Change-Id: I9db1aac350cd2ca02cceccc249ebd2f0b3c3c671
2014-02-12 16:15:11 +01:00
Ethan Yonker
ccb0cf7fa8 Add rule to make libtar_static
Change-Id: I9cddde9961e79c4d4905382858ee330b856d6edf
2014-02-12 16:14:24 +01:00
bigbiff bigbiff
6b600f9644 Restore contexts when doing mkdierhier in libtar
Do a restore of loaded file contexts to /data/media directory. This will help denials to be prevented when internal storage is wiped.

Change-Id: Ie49bbfa48d2f3ee4f08376d9c1877b92c051017c
2014-02-06 19:56:25 -05:00
bigbiff bigbiff
c49d706903 fix getting and setting contexts in selinux
recreate lost+found with selinux contexts

Change-Id: I19e8696d47319dfb641520956c8a27c2a796a0c3
2013-10-17 16:49:49 +00:00
Dees Troy
4bf3b0d804 Make SELinux automatic if present 2013-09-12 10:38:15 -05:00
Dees_Troy
399f480dc7 Fix libselinx flags in libtar 2013-09-06 15:16:00 +00:00
Vojtech Bocek
25fd68d098 libtar: store SELinux file context in tar archives
* Using RedHat's "RHT.security.selinux=" tag in extended
  tar header (type 'x')

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: I102e492e4fa5b8a08fae4d34eb36386862509b4d
2013-09-05 21:43:52 +02:00
bigbiff bigbiff
86e77bcbb2 skip checking size on links
skip google music cache

Change-Id: I75d6fd0e17140d12cb2c6d335e8ff73a6f871aa2
2013-08-28 16:10:36 +00:00
Dees_Troy
83bd483f3d Support encrypted backup files
Also includes features merged from:

Update twrpTar by kokotas

Revised function entryExists().
Added function to get archive's uncompressed size.
Added option to exclude item(s) from the archive.
Revised forks()

http://review.teamw.in/#/c/590/

Change-Id: I01fa2c81643161984eff2625247af75990684bd9
2013-06-22 16:16:55 -05:00
n0d3
3b51163329 Add search function to libtar
Function entryExists() can be called in order
 to check if an entry exists inside an archive.

Change-Id: Id3d13d20dfb74a1779dbd8ba6f0ab08c3ca46319
2013-03-18 17:37:28 +00:00
Dees_Troy
71796590ed Updates to libtar logging 2013-03-15 10:56:58 -05:00
Dees_Troy
f96fb9794d Another libtar hardlink workaround 2013-03-01 22:34:25 +00:00
Dees_Troy
ee6632c3e1 libtar - Fix extraction of hardlinks to use the prefix
Change-Id: I116982ceed722364406b99fb08bc6943afa0390a
2013-02-27 18:19:18 +00:00
bigbiff bigbiff
71e5aa4eee fix restore on mknod
Change-Id: I9fb8b927f81a8cded651e42026beb3d5c252d1e8
2013-02-27 12:55:40 -05:00
bigbiff bigbiff
9c754053b0 Add libtar to TWRP instead of using busybox tar
Add proper mkdosfs tool
Add fuse to TWRP
Add experimental exfat-fuse to TWRP
Convert all system() functions to use new Exec_Cmd function
2013-01-09 09:09:08 -05:00