ewf: extract EWF implementation into dedicated crate#144
Merged
omerbenamram merged 5 commits intomasterfrom Dec 27, 2025
Merged
ewf: extract EWF implementation into dedicated crate#144omerbenamram merged 5 commits intomasterfrom
omerbenamram merged 5 commits intomasterfrom
Conversation
af91c8b to
b2565d9
Compare
Adds a new `ewf` crate with EWF1/EWF2 readers and writers, LEF read support, and a delta overlay. The `ntfs` image backend now wraps `ewf::EwfReader` while preserving the existing `EwfImage` API. Pins the libewf reference commit (without vendoring a full snapshot) for parity work.
b2565d9 to
552661c
Compare
Use the bounded section data length to avoid over-reading malformed sections, and add a regression test that corrupts the descriptor-reported size.
Reject bp=0/sb=0 early to prevent chunk_size=0 division-by-zero panics, and add regression tests for Ex01/Lx01.
Document supported AFFLIBv3 behaviors and pin upstream reference commits for parity work.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
crates/ewfcrate implementing EWF1/EWF2 readers/writers, LEF reading, and a copy-on-write delta overlay.crates/ntfsto useewf::EwfReaderwhile preserving the existingntfs::image::EwfImageAPI.libyal/libewfreference commit (without vendoring a full snapshot) for parity work.Test plan
cargo test -p ewf -p ntfsNote
Adds a spec-driven
crates/ewfcrate and integrates it into the workspace.EwfReader(EWF1/EWF2),EwfWriter(E01/S01, Ex01),LefReader(.L01/.Lx01), andEwfDelta(copy‑on‑write overlay); includes chunk decompression/checksums, sector tables, section parsing, ADCRYPT rejection, and verification helpers with extensive testscrates/ewf/README.mdandCOMPAT.md(libewf parity checklist)Cargo.tomlto includecrates/ewf; minor docs link inaffREADME.gitignoreto track curatedexternal/refs(includingrepos/*.commit) and ignore tmp artifactsWritten by Cursor Bugbot for commit 6150d05. This will update automatically on new commits. Configure here.