Commit Graph

898 Commits

Author SHA1 Message Date
Andrew Gunnerson c1836d01a4 cli/payload: Allow unpacking only metadata from delta payloads
The images are the only parts that can't be extracted. Having the
unpacked metadata is useful because it allows for manually building a
full payload using the metadata from the delta payload.

Discussion: #582

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-03-25 18:40:07 -04:00
Andrew Gunnerson e8532870b1 Version 3.27.0
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.27.0
2026-03-20 00:01:47 -04:00
Andrew Gunnerson b854654cab CHANGELOG.md: Add entry for PR #580
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-03-20 00:00:40 -04:00
Andrew Gunnerson f68a492131 format/compression: Add support for LZMA
Fixes: #578

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-03-19 21:04:09 -04:00
Andrew Gunnerson c22a5d6eca CHANGELOG.md: Add entry for PR #579
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-03-19 20:06:42 -04:00
Andrew Gunnerson 2631228e8d Update dependencies
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-03-19 19:33:15 -04:00
Andrew Gunnerson f2b5d9646e Version 3.26.1
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.26.1
2026-02-23 22:27:43 -05:00
Andrew Gunnerson 4991c5192e CHANGELOG.md: Add entry for PR #573
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-23 22:14:38 -05:00
Andrew Gunnerson 8ef9f89cdd Bump Magisk version upper bound to 30800
There are no breaking changes.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-23 22:12:09 -05:00
Andrew Gunnerson 43cd7eac78 Version 3.26.0
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.26.0
2026-02-21 16:44:08 -05:00
Andrew Gunnerson faf5a908ec CHANGELOG.md: Add entry for PR #571
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-21 16:39:19 -05:00
Andrew Gunnerson 97cad8f508 cli/avb: Warn when AVB header is signed with AOSP test keys
This will log a warning message, but will not return a fatal error.

Issue: #569

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-21 16:33:56 -05:00
Andrew Gunnerson dd73dcbd56 CHANGELOG.md: Add entry for PR #570
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-21 16:32:15 -05:00
Andrew Gunnerson 6f8de8b2c4 Add option to re-sign unmodified partitions during patching
This is useful when the OTA contains partition images that are signed
with the AOSP test keys.

Issue: #569

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-21 15:32:44 -05:00
Andrew Gunnerson 1be81d87b9 README.extra.md: Fix avbroot ota -> avbroot zip
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-20 23:14:17 -05:00
Andrew Gunnerson 5df2ffa435 Version 3.25.0
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.25.0
2026-02-16 00:17:39 -05:00
Andrew Gunnerson 16c1c2a4d3 CHANGELOG.md: Add entry for PR #565
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-16 00:15:12 -05:00
Andrew Gunnerson 1155a14b00 Update dependencies
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-16 00:06:42 -05:00
Andrew Gunnerson 806870664a CHANGELOG.md: Add entry for PR #564
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-16 00:01:09 -05:00
Andrew Gunnerson 4717407a43 Add missing flush() and remove no-op flush()
* flush() or into_inner() is now called for all BufWriters
* flush() is no longer called for Files, which is a no-op operation

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 23:55:53 -05:00
Andrew Gunnerson ff4a2a6db8 CHANGELOG.md: Add entry for PR #563
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 23:37:50 -05:00
Andrew Gunnerson 49bd389bf3 cli/payload: Fix short option conflict for output and output_properties
These were both requesting -o. --output-properties will now be -O
instead.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 23:37:02 -05:00
Andrew Gunnerson 5afe76bf2b CHANGELOG.md: Add entry for PR #562
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 23:28:32 -05:00
Andrew Gunnerson 0c8357924c Add support for unpacking and packing raw OTA zips
This provides the last bit of machinery needed to build an OTA from
scratch, outside of the usual `avbroot ota patch` mechanism. The new
subcommands exist under `avbroot zip` instead of `avbroot ota` to reduce
the chance of someone accidentally using them.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 22:37:18 -05:00
Andrew Gunnerson ef9e563010 CHANGELOG.md: Add entry for PR #561
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 15:31:16 -05:00
Andrew Gunnerson 2e53147f87 cli/{cpio,lp,payload}: Remove outdated mention of openat-style sandboxing
This was previously removed in d7369e73e9
because it was preventing other legitimate use cases.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-15 15:27:33 -05:00
Andrew Gunnerson 69903c4382 Version 3.24.1
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.24.1
2026-02-03 18:19:05 -05:00
Andrew Gunnerson 9987d21cef CHANGELOG.md: Add entry for PR #559
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-03 18:16:25 -05:00
Andrew Gunnerson 9802bba5f7 Update dependencies
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-02-03 18:09:44 -05:00
Andrew Gunnerson 1b30328b01 CHANGELOG.md: Add entry for PR #555
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-24 18:55:42 -05:00
Andrew Gunnerson efb25e15dd cli/avb: Fix help text for avbroot avb verify-device -p
Issue: #554

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-24 18:52:32 -05:00
Ivan 2e5754e16c README.ru.md: Update translation
Sync with https://github.com/chenxiaolong/avbroot/commit/2033e481632fb7b81df296f00d1d75ab1759adae

Signed-off-by: Ivan <reddxae@proton.me>
2026-01-10 15:43:36 +03:00
Andrew Gunnerson cd4da8d147 Version 3.24.0
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
v3.24.0
2026-01-09 23:32:00 -05:00
Andrew Gunnerson 9c48d0ddc5 CHANGELOG.md: Add entry for PR #550
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 23:31:25 -05:00
Andrew Gunnerson ee70fdbcae deny.toml: Ignore compiled honggfuzz executable and object files
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 23:10:50 -05:00
Andrew Gunnerson f8f1afd6b3 CHANGELOG.md: Add entry for PR #549
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 23:07:24 -05:00
Andrew Gunnerson f2b98623cb Update dependencies
Also, switch e2e from toml_edit to toml since we don't need any editing
capabilities.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 21:10:38 -05:00
Andrew Gunnerson 63e21c5aa9 Merge pull request #534 from lefuglyduck/patch-1
Update README.md
2026-01-09 20:27:00 -05:00
Andrew Gunnerson a78a122763 CHANGELOG.md: Add entry for PR #548
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 20:25:41 -05:00
Andrew Gunnerson cd7316b429 Move fuzzing corpus generation to xtask
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 20:15:33 -05:00
Andrew Gunnerson 68d5bd6990 CHANGELOG.md: Add entry for PR #547
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 19:52:31 -05:00
Andrew Gunnerson 2a4c422943 Update toml to support serialization of large u64 values
Upstream bug report: https://github.com/toml-rs/toml/issues/1085
Upstream fix: https://github.com/toml-rs/toml/pull/1086

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 19:49:44 -05:00
Andrew Gunnerson 94b12bf727 CHANGELOG.md: Add entry for PR #539
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 19:36:30 -05:00
Andrew Gunnerson f966714310 cli/ota: Ignore vbmeta partitions filled with zeros
For whatever reason, some OTAs seem to include empty unused vbmeta
partitions. To avoid needing to extract the partitions to check the
contents, we'll just filter out small vbmeta partitions (>=4 KiB and
<=64 KiB) where the partition checksum specified in the payload matches
the SHA-256 digest of an array of zeros of the same size.

Fixes: #537

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 19:35:15 -05:00
Andrew Gunnerson 3eb08f48d1 CHANGELOG.md: Add entry for PR #545
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 01:22:06 -05:00
Andrew Gunnerson dbb5bc4767 format/lp: Fix potential panic caused by empty image extent indices
7017bc66dd relaxed the parser logic to
allow empty images to contain extents. However, the validation check for
extent indices didn't run because it still had a conditional for normal
images. This could cause a panic during parsing due to an out of bounds
read of the extents array.

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 01:20:30 -05:00
Andrew Gunnerson 903d6dcd13 CHANGELOG.md: Add entry for PR #544
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 00:55:52 -05:00
Andrew Gunnerson ddcef31b96 fuzz: Fix initial corpus
e22f9f5676 removed all the old binary test
files, leaving broken symlinks in hfuzz_workspace. This commit adds the
source files for generating them from scratch.

This commit also replaces toml_edit with toml since the former cannot
deserialize u64 values.

Fixes: #532

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-09 00:53:18 -05:00
Andrew Gunnerson cbd419f8e9 CHANGELOG.md: Add entry for PR #543
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-08 19:54:20 -05:00
Andrew Gunnerson 9214a832cd patch/boot: Add support for DSU on dedicated recovery devices
On devices with dedicated recovery partitions, first_stage_ramdisk
exists in the ramdisks, but is unused. The first stage switch root
operation is just skipped. To properly add a public key for DSU on these
devices, the top level /avb directory needs to be used.

Fixes: #536

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-01-08 19:21:55 -05:00