Compare commits

...

3 Commits

Author SHA1 Message Date
Andrew Gunnerson f95ef1f8c1 Version 3.30.2
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-06-13 19:33:05 -04:00
Andrew Gunnerson e5a373b59b CHANGELOG.md: Add entry for PR #611
Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2026-06-13 19:19:43 -04:00
rushiiMachine ddb8611e27 fix: only compress regular files during Magisk backup
Creation of Magisk .backup/ files should only xz-compress real files,
and ignore other types such as symlinks. This fixes the case where
/init is a symlink, and avbroot incorrectly puts the backup symlink at
.backup/init.xz with the target path being compressed binary data.

Fixes: #610
2026-06-10 22:10:18 -07:00
4 changed files with 16 additions and 7 deletions
+6
View File
@@ -7,6 +7,10 @@
to update the actual links at the bottom of the file.
-->
### Version 3.30.2
* Fix the symlink target path being incorrectly XZ-compressed when the Magisk patcher replaces a symlink with a regular file ([Issue #610], [PR #611])
### Version 3.30.1
* Fix `avbroot payload pack` and `avbroot zip pack --payload` for non-VABC devices ([Issue #607], [PR #608])
@@ -506,6 +510,7 @@ Behind-the-scenes changes:
[Issue #593]: https://github.com/chenxiaolong/avbroot/issues/593
[Issue #603]: https://github.com/chenxiaolong/avbroot/issues/603
[Issue #607]: https://github.com/chenxiaolong/avbroot/issues/607
[Issue #610]: https://github.com/chenxiaolong/avbroot/issues/610
[PR #130]: https://github.com/chenxiaolong/avbroot/pull/130
[PR #132]: https://github.com/chenxiaolong/avbroot/pull/132
[PR #133]: https://github.com/chenxiaolong/avbroot/pull/133
@@ -740,3 +745,4 @@ Behind-the-scenes changes:
[PR #605]: https://github.com/chenxiaolong/avbroot/pull/605
[PR #606]: https://github.com/chenxiaolong/avbroot/pull/606
[PR #608]: https://github.com/chenxiaolong/avbroot/pull/608
[PR #611]: https://github.com/chenxiaolong/avbroot/pull/611
Generated
+4 -4
View File
@@ -104,7 +104,7 @@ checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53"
[[package]]
name = "avbroot"
version = "3.30.1"
version = "3.30.2"
dependencies = [
"anyhow",
"assert_matches",
@@ -596,7 +596,7 @@ checksum = "ecb08c4819242b1ec89b3d0c6affa229005bef46ae4f7eed8b80768187c10087"
[[package]]
name = "e2e"
version = "3.30.1"
version = "3.30.2"
dependencies = [
"anyhow",
"avbroot",
@@ -692,7 +692,7 @@ checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "fuzz"
version = "3.30.1"
version = "3.30.2"
dependencies = [
"avbroot",
"honggfuzz",
@@ -2331,7 +2331,7 @@ dependencies = [
[[package]]
name = "xtask"
version = "3.30.1"
version = "3.30.2"
dependencies = [
"anyhow",
"clap",
+1 -1
View File
@@ -4,7 +4,7 @@ members = ["avbroot", "e2e", "fuzz", "xtask"]
resolver = "2"
[workspace.package]
version = "3.30.1"
version = "3.30.2"
license = "GPL-3.0-only"
edition = "2024"
repository = "https://github.com/chenxiaolong/avbroot"
+5 -2
View File
@@ -32,7 +32,7 @@ use crate::{
avb::{self, AppendedDescriptorMut, Footer, Header},
bootimage::{self, BootImage, BootImageExt, RamdiskMeta},
compression::{self, CompressedFormat, CompressedReader, CompressedWriter},
cpio::{self, CpioEntry, CpioEntryData},
cpio::{self, CpioEntry, CpioEntryData, CpioEntryType},
zip::{self, ZipEntriesSafeExt, ZipFileHeaderRecordExt, ZipSliceEntriesSafeExt},
},
patch::otacert::{self, OtaCertBuildFlags},
@@ -407,7 +407,10 @@ impl MagiskRootPatcher {
let mut new_path = b".backup/".to_vec();
new_path.extend(&old_entry.path);
let new_data = if xz_compress && let CpioEntryData::Data(data) = &old_entry.data {
let new_data = if xz_compress
&& old_entry.file_type == CpioEntryType::Regular
&& let CpioEntryData::Data(data) = &old_entry.data
{
new_path.extend(b".xz");
let reader = Cursor::new(data);