Commit Graph

3431 Commits

Author SHA1 Message Date
Tao Bao aaeafe73e9 Merge "Remove ota_close(int) and ota_fclose(FILE*)." am: 7b59b45b08 am: 1f934beedd am: 8762a560fc
am: 6478f3804d

Change-Id: I655dafe50fcb19f60270c37206409ca52655499a
2016-11-29 18:14:13 +00:00
Tao Bao 6478f3804d Merge "Remove ota_close(int) and ota_fclose(FILE*)." am: 7b59b45b08 am: 1f934beedd
am: 8762a560fc

Change-Id: Icb260caeb155cbd6db7b8810816b237ade3ed49f
2016-11-29 18:09:12 +00:00
Tao Bao 8762a560fc Merge "Remove ota_close(int) and ota_fclose(FILE*)." am: 7b59b45b08
am: 1f934beedd

Change-Id: I8b6c56b88212b7e4b3095371a34aa5313a0a8cf2
2016-11-29 18:04:12 +00:00
Tao Bao 1f934beedd Merge "Remove ota_close(int) and ota_fclose(FILE*)."
am: 7b59b45b08

Change-Id: I5d325de48d99c8056bdf95381537ba6b938822f0
2016-11-29 17:59:10 +00:00
Tao Bao 7b59b45b08 Merge "Remove ota_close(int) and ota_fclose(FILE*)." 2016-11-29 17:55:11 +00:00
Tao Bao 8da96cb392 Merge "Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&)." am: eed7f607cf am: 839fbbdad3 am: 6a8e0eb164
am: f14a5ecbcf

Change-Id: I5a63912bf26e0665d24dde687458cbd8c1a674a1
2016-11-29 05:35:38 +00:00
Tao Bao 7bf69978de Merge "tests: Add testcases for EMMC targets." am: d226f28e87 am: fcfdda98da am: 5e52ac31d4
am: 5e5555d6c7

Change-Id: I757b9caa22c4293899dda128d88cc0e05a751a6f
2016-11-29 05:35:26 +00:00
Tao Bao f14a5ecbcf Merge "Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&)." am: eed7f607cf am: 839fbbdad3
am: 6a8e0eb164

Change-Id: I481327e831b2748d6dfa1b347ede324fdd2b9629
2016-11-29 05:31:05 +00:00
Tao Bao 5e5555d6c7 Merge "tests: Add testcases for EMMC targets." am: d226f28e87 am: fcfdda98da
am: 5e52ac31d4

Change-Id: If3d7b3363f1fb92fb0cc47006c659facf1615db7
2016-11-29 05:30:54 +00:00
Tao Bao 6a8e0eb164 Merge "Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&)." am: eed7f607cf
am: 839fbbdad3

Change-Id: I20241752ad6de90c0db0dea41d7af791c75dec4b
2016-11-29 05:26:08 +00:00
Tao Bao 5e52ac31d4 Merge "tests: Add testcases for EMMC targets." am: d226f28e87
am: fcfdda98da

Change-Id: If516f2b4b970fb1ef4688983cb890df8043dc704
2016-11-29 05:25:55 +00:00
Tao Bao 839fbbdad3 Merge "Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&)."
am: eed7f607cf

Change-Id: Ib570d0f548cc680e9c8f38c43573f71c52494ee9
2016-11-29 05:21:37 +00:00
Tao Bao fcfdda98da Merge "tests: Add testcases for EMMC targets."
am: d226f28e87

Change-Id: Ifadb3608e4856e5b4075b717cdb9c21c04162548
2016-11-29 05:21:24 +00:00
Tao Bao eed7f607cf Merge "Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&)." 2016-11-29 05:15:18 +00:00
Tao Bao d226f28e87 Merge "tests: Add testcases for EMMC targets." 2016-11-29 05:13:10 +00:00
Tao Bao 358c2ec1dc Remove ota_close(int) and ota_fclose(FILE*).
We should always use unique_fd or unique_file to hold the FD or FILE*
pointer when opening via ota_(f)open functions.

This CL avoids accidentally closing raw FDs or FILE* pointers that are
managed by unique_fd/unique_file.

Test: recovery_component_test passes.
Change-Id: If58eb8b5c5da507563f85efd5d56276472a1c957
2016-11-28 12:09:39 -08:00
Andriy Naborskyy 9f1d0c5a72 DO NOT MERGE ANYWHERE init: move healthd to late-init am: 195ff7f79e -s ours am: 7ceb371048 -s ours am: b8c1788e7b -s ours am: 8837b0d25d -s ours am: 3fdf1fd515 -s ours am: 67bc0b9573 -s ours am: b7d4d77b3e -s ours
am: 59590f325b  -s ours

Change-Id: I70bbb4c55073edcbba502357d378112b934c0551
2016-11-23 22:58:16 +00:00
Andriy Naborskyy 59590f325b DO NOT MERGE ANYWHERE init: move healthd to late-init am: 195ff7f79e -s ours am: 7ceb371048 -s ours am: b8c1788e7b -s ours am: 8837b0d25d -s ours am: 3fdf1fd515 -s ours am: 67bc0b9573 -s ours
am: b7d4d77b3e  -s ours

Change-Id: Iae68e9050b51755d1d33ad9834beadc696402d32
2016-11-23 22:52:19 +00:00
Andriy Naborskyy b7d4d77b3e DO NOT MERGE ANYWHERE init: move healthd to late-init am: 195ff7f79e -s ours am: 7ceb371048 -s ours am: b8c1788e7b -s ours am: 8837b0d25d -s ours am: 3fdf1fd515 -s ours
am: 67bc0b9573  -s ours

Change-Id: Id74374ae2d659ebc50a7612c80a81f53abff77f0
2016-11-23 22:45:04 +00:00
Tao Bao 3dc14cb429 Add ota_close(unique_fd&) and ota_fclose(std::unique_ptr<FILE>&).
We were using the below sequence prior to the CL in [1].

unique_fd fd(ota_open(...));
ota_close(fd);
fd.reset(ota_open(...));

fd.reset() may unintentionally close the newly opened FD if it
has the same value as the early ota_open. The CL in [1] changed to
"ota_close(fd.release())" to avoid the issue. This CL adds a new
overloaded function ota_close(unique_fd&) to handle the release
automatically.

Similarly add ota_fclose(std::unique_ptr<FILE>&).

[1] commit 48cf770471.

Bug: 33034669
Test: recovery_component_test passes.
Change-Id: Ief91edc590e95a7426e33364b28754173efb1056
2016-11-22 16:44:41 -08:00
Tao Bao 6ce8483c9a DO NOT MERGE updater: Add "write_value()" function. am: 1bf1772625 -s ours
am: eb718e1c99  -s ours

Change-Id: I533d20a296982651d513393112b1464cdc926b35
2016-11-22 21:14:28 +00:00
Tao Bao eb718e1c99 DO NOT MERGE updater: Add "write_value()" function.
am: 1bf1772625  -s ours

Change-Id: I91141b6af02c5146e41eccf66a6700b44dc8cfb1
2016-11-22 21:10:58 +00:00
Tao Bao 8dd44e907a tests: Add testcases for EMMC targets.
There're two types of targets in applypatch: regular files and EMMC
targets. We have two sets of functions to handle them respectively.

This CL adds testcases to use "EMMC:filename:size:sha1" as the target
name, which triggers the code path for patching EMMC targets.

Bug: 33034669
Test: recovery_component_test passes.

Change-Id: I8f10c6c8d2c1fb083f06a83de91d9e23cb41fb6d
2016-11-21 23:32:33 -08:00
Tao Bao 57cad85699 Merge "applypatch: Release FD when explicitly calling close." am: a511a3c407 am: 1aa41a106d am: b4aae79230
am: d8e4f12ae0

Change-Id: Icf7f9cb775213862641183f9d0c335c8276dd889
2016-11-21 19:48:08 +00:00
Tao Bao d8e4f12ae0 Merge "applypatch: Release FD when explicitly calling close." am: a511a3c407 am: 1aa41a106d
am: b4aae79230

Change-Id: Ifc6f913352d60e663fa5e1b7547938220167ea67
2016-11-21 19:42:38 +00:00
Tao Bao b4aae79230 Merge "applypatch: Release FD when explicitly calling close." am: a511a3c407
am: 1aa41a106d

Change-Id: I802d7ceb8cd6288d6c85e3faa15c4e2cb57a9865
2016-11-21 19:37:38 +00:00
Tao Bao 1aa41a106d Merge "applypatch: Release FD when explicitly calling close."
am: a511a3c407

Change-Id: Ie4188abf0d9a9dec56ae162f7bd6d1cd35aacb0f
2016-11-21 19:32:37 +00:00
Tao Bao b619fe60fd Merge "Fail gracefully when we fail to fork the update binary" am: 340a2d364f am: 2a962adc85 am: 5713071c81
am: 21a10e2cfa

Change-Id: I00b662c9c7bcb0385444d4e548dc8e7f56f01735
2016-11-21 19:27:37 +00:00
Treehugger Robot a511a3c407 Merge "applypatch: Release FD when explicitly calling close." 2016-11-21 19:24:09 +00:00
Tao Bao 21a10e2cfa Merge "Fail gracefully when we fail to fork the update binary" am: 340a2d364f am: 2a962adc85
am: 5713071c81

Change-Id: I881011efc5449f5cedcbe395b82a8d58e024c6da
2016-11-21 19:22:07 +00:00
Tao Bao 5713071c81 Merge "Fail gracefully when we fail to fork the update binary" am: 340a2d364f
am: 2a962adc85

Change-Id: Ifad227336cc3a0db254a9bfef0de2678d8dd86bd
2016-11-21 19:16:37 +00:00
Tao Bao 2a962adc85 Merge "Fail gracefully when we fail to fork the update binary"
am: 340a2d364f

Change-Id: If68e5c3b97e01186804076caf516512d8b9977b3
2016-11-21 19:11:35 +00:00
Tao Bao 340a2d364f Merge "Fail gracefully when we fail to fork the update binary" 2016-11-21 19:06:37 +00:00
Tao Bao 48cf770471 applypatch: Release FD when explicitly calling close.
We use android::base::unique_fd() to avoid leaking FD. We also want to
call close (or ota_close) to explicitly check the close result. When
combining the two together, we need to release the unique_fd to avoid
closing the same FD twice.

Bug: 33034669
Test: Trigger applypatch with install-recovery.sh.
Change-Id: I1a4f5d5fba7a23ef98d8bd7b7b07e87ae6f705c5
2016-11-21 09:47:34 -08:00
Matthew Bouyack 10cd48da1d Fail gracefully when we fail to fork the update binary
This change was original made in cw-f-dev but caused failures in
nyc-mr1-dev-plus-aosp due to lack of support for 'LOGE'

This version of the change uses the new 'LOG(ERROR)' style logging
instead.

See bug b/31395655
Test: attempt a memory intensive incremental OTA on a low-memory device

Change-Id: Ia87d989a66b0ce3f48e862abf9b9d6943f70e554
(cherry picked from commit c8db481780)
2016-11-20 22:38:37 -08:00
Bill Yi ef77aa2b73 Merge "Import translations. DO NOT MERGE" into stage-aosp-master am: cf589f523a -s ours am: 92ac9041c1 -s ours
am: 5c11172849  -s ours

Change-Id: Id9c2265610d23811927d4cdd0c394e62d5130afd
2016-11-21 01:41:44 +00:00
Bill Yi 182fee1771 Import translations. DO NOT MERGE am: 9a4ff5a900 -s ours am: 8d7399f553 -s ours
am: e988840a88  -s ours

Change-Id: Ic1043352cf85cfda24ba42a3bb03810704ef165b
2016-11-21 01:41:31 +00:00
Bill Yi 5c11172849 Merge "Import translations. DO NOT MERGE" into stage-aosp-master am: cf589f523a -s ours
am: 92ac9041c1  -s ours

Change-Id: I905cc7cc9acbf5cc97d35cea376c0a5d83fcd335
2016-11-21 01:37:28 +00:00
Bill Yi e988840a88 Import translations. DO NOT MERGE am: 9a4ff5a900 -s ours
am: 8d7399f553  -s ours

Change-Id: I361b0acc015358c220c3288305efb9a3115f2f62
2016-11-21 01:37:15 +00:00
Bill Yi 92ac9041c1 Merge "Import translations. DO NOT MERGE" into stage-aosp-master
am: cf589f523a  -s ours

Change-Id: Ibfec2c461c31264dd31ffddbf938be364056eb50
2016-11-21 01:32:08 +00:00
Bill Yi 8d7399f553 Import translations. DO NOT MERGE
am: 9a4ff5a900  -s ours

Change-Id: I19ed28ded9e92d54b060d0a944cf318a0f1a4984
2016-11-21 01:32:08 +00:00
TreeHugger Robot cf589f523a Merge "Import translations. DO NOT MERGE" into stage-aosp-master 2016-11-21 01:24:53 +00:00
Bill Yi 9a4ff5a900 Import translations. DO NOT MERGE
Auto-generated-cl: translation import

Bug: 32177112
Change-Id: I4d68cd0c69b40d1765cd74dfa730f56be01b5b23
2016-11-20 15:25:37 -08:00
Tao Bao 1fdd96f52a Merge "Call update_engine_sideload from recovery." am: 1d77c93bcc am: fa62ae6d0b am: 4cbedcc679
am: 073408a943

Change-Id: I16a939d0d70bb816f42b05e846433ee3da80a0e2
2016-11-20 18:33:38 +00:00
Tao Bao 073408a943 Merge "Call update_engine_sideload from recovery." am: 1d77c93bcc am: fa62ae6d0b
am: 4cbedcc679

Change-Id: I37af5d1ae1be07d6c1b233f5cf25896339db51cd
2016-11-20 18:29:07 +00:00
Tao Bao 4cbedcc679 Merge "Call update_engine_sideload from recovery." am: 1d77c93bcc
am: fa62ae6d0b

Change-Id: I516b0a177f66b6a3c1e51b2f470a29c8d2913780
2016-11-20 18:24:07 +00:00
Tao Bao fa62ae6d0b Merge "Call update_engine_sideload from recovery."
am: 1d77c93bcc

Change-Id: I110237afa38d616138e2ec8eec17b9c46b009a13
2016-11-20 18:19:37 +00:00
Tao Bao 1d77c93bcc Merge "Call update_engine_sideload from recovery." 2016-11-20 18:13:14 +00:00
Alex Deymo 9b10e6095a Call update_engine_sideload from recovery.
This patch enables sideloading an OTA on A/B devices while running from
recovery. Recovery accepts the same OTA package format as recent
versions of GMS, which consists of .zip file with the payload in it.

Bug: 27178350
TEST=`adb sideload` successfully a full OTA (*)
TEST=Failed to take several invalid payloads (wrong product,
fingerprint, update type, serial, etc).

<small>(*) with no postinstall script.</small>

Change-Id: I951869340100feb5a37e41fac0ee59c10095659e
(cherry picked from commit 4344d636d4)
2016-11-19 22:39:51 -08:00
Tao Bao 509269924c Merge "updater: Refactor set_stage() and get_stage() functions." am: c627cd6486 am: 146f92ab3e am: 062a2cffb3
am: 953851cb97

Change-Id: Id7348d0011cd4f9112948a421c8d62843e436433
2016-11-20 05:22:49 +00:00