Repository navigation
lamfold 0.1.3 and lamfold-erofs 0.1.2
This release fixes lamfold-erofs reads that returned wrong bytes with no error, and moves the lamfold substrate to ruzstd 0.9.1.
lamfold-erofs 0.1.2
Fixed
- LZ4 files read back wrong. On every default lz4 image a pcluster's stream starts at its first non-zero byte, and 0.1.1 tried offset 0 first, which also decodes "successfully" when there is one padding byte. Real executables hit it:
/bin/bashcame back with 1,740 wrong bytes. The stream now starts where the kernel starts it. - Files with inline xattrs read wrong. When a file's 52- or 56-byte xattr area (an SELinux label, for example) puts its compact index on a 32-byte boundary, every big pcluster was placed one block too far: Wrong bytes or a decode error with zstd, lzma and deflate.
- Fragments and compressed directories. Images made with
-Efragmentsor-Eall-fragments(Fedora's live images, lorax) read wrong with no error, and--zDdirectories read as empty. They are now refused at open withUnsupporteduntil the packed inode is implemented. - Custom LZMA properties (erofs-utils 1.9) now come from each stream, and blocks smaller than 4 KiB now read.
Changed
openrefuses what can't be read anywhere in the image: Unknown incompat features, the 48-bit layout, metabox and extra devices.
lamfold 0.1.3
- ruzstd 0.9.1, the first release with the fix for RUSTSEC-2026-0344, in place of the exact 0.8.3 pin.
Testing
Each new fixture (crates/lamfold-erofs/tests/fixtures/regenerate.sh) fails on 0.1.1. Images from erofs-utils 1.8.6 and 1.9.4 over 24 option sets, a tree of real executables, an xattr tree and 512 to 2048-byte blocks read every file correctly or are refused.
Changelogs: lamfold-erofs, lamfold.
lamfold is LamBoot's read-only media stack (LamBoot), from Lamco Development LLC.