Repository navigation
Releases
Releases · napbat/fsmnt
v0.4.1
Full Changelog: v0.4.0...v0.4.1
v0.4.0
v0.3.0
Highlights
- Added stable
--jsonCLI output for automation, backed by one shared report-rendering path. - Kept argument and logging-initialization failures inside the JSON event schema when
--jsonis requested. - Made ext filesystem recovery commands preserve the discovered backup superblock.
- Added traversal of fscrypt no-key directory names so encrypted ext directories remain browsable without a key.
- Kept the workspace clean under Rust 1.98's pedantic Clippy checks.
Pull requests
- #4:
--json: drive the CLI from a program, without scraping the tables - #5: One output sink: every report renders itself, and no handler branches
Checksummed, provenance-attested archives are attached for Windows, Linux (x86-64 and ARM64), and macOS (Intel and Apple Silicon).
Full Changelog: v0.2.0...v0.3.0
v0.2.0
fsmnt 0.2.0
One CLI for images, drives and directories; scans you can trust; fscrypt keys; media that begin inside a filesystem; and tracing everywhere.
Breaking
- CLI:
mount-imageandmount-deviceare gone.fsmnt mount SOURCE MOUNTPOINTmounts a directory, a disk image (raw/EWF/VHD/VHDX) or a drive;partitionsandscantake the sameSOURCE. Drive IDs and OS device paths (\\.\PhysicalDrive0,/dev/sda,/dev/disk2) are both accepted;--dir/--image/--driveoverride the guess. A partitioned drive with no--partitionis now refused (it used to mount partition 0). - Library:
ImageLayoutKind→LayoutKind,ImagePartition→LayoutPartition(whoseordinalis nowOption<usize>);ScanHitKindgained variants andExtBackupSuperblockgained a field;OpenedPartitiongainedlayout_origin;ScanError/OpenImageErrorgained variants;PartitionOpenOptions/ImageOpenOptionsgained builders.clapandtracing-subscribersit behind the defaultclifeature of thefsmntpackage (fsmnt-proxy:server), so library users can opt out. - fs-ext → linux-fscrypt: the fscrypt implementation moved to a new
no_stdcratelinux-fscrypt;fs-extre-exports the same names, andFscryptMasterKey::from_bytesnow returnslinux_fscrypt::FscryptError.
New
- Drives get what images had:
drive_layout,scan_drive,open_device_at_offset,--offset,--scan --partition N,--sector-size; images get--fstab(open_image_with_fstab);partitionsprints one table for both and aVOLUMEcolumn for drives (where--volume IDcomes from). scannow demands corroboration before calling bytes a filesystem start: an ext primary superblock must be followed by its (checksummed) group descriptor table and point at a root inode that is a directory;55AAmust describe plausible partitions. Journalled superblock copies and orphan backups fold into one row each; a slice that begins inside a filesystem is reported as such, with the command that opens it.--offset -N: mount a medium that begins N bytes into its filesystem (LeadingGapReader; absent bytes counted apart from truncation and bad sectors). With--backup-superblockand--salvagethis recovers what a late-started acquisition still carries.- fscrypt / Android FBE:
--fscrypt-key SPEC(v1/v2, hex or@file) decrypts names and contents; every mount of an fscrypt volume reports a census of the master keys it references, which are registered, and where they apply. Keys ride on the format-neutralFilesystemOpenOptions, ready for f2fs. - Logging:
-v/-vv/-q,--log-file(survives--detach),FSMNT_LOG; stdout carries only tables and mount lifecycle lines; all first-party crates emittracingevents (fuser/ewflogrecords bridged).
Fixed
- fs-ext's legacy
GDT_CSUMCRC-16 fed a zeroed checksum field where the kernel skips it. - Opening an ext volume through a backup superblock no longer fails when the primary or a candidate offset is unreadable.
- Proxy handover failures during drive enumeration are debug events, not warnings.
v0.1.0
What's Changed
- Publish release archives so mise can install fsmnt by @coconutbird in #1
New Contributors
- @coconutbird made their first contribution in #1
Full Changelog: https://github.com/napbat/fsmnt/commits/v0.1.0