forensic-mount 0.4.0

Mount forensic disk images, archives, and memory dumps as a filesystem on Linux, macOS, and Windows — ext4/NTFS/exFAT/HFS+/APFS/ISO, EWF/VMDK containers, zip/7z/tar, LiME/AVML/crash dumps
Documentation
[advisories]
version = 2
ignore = [
    # fuser 0.15.1: uninitialized-memory unsoundness in libfuse session init.
    # Patched in fuser >= 0.16.0, but 0.16's build script dropped non-Linux
    # libfuse support (breaks macOS dev builds) and 0.17 is a breaking
    # Filesystem-trait rewrite (INodeNo/FileHandle/OpenFlags newtypes, &self
    # receivers). Tracked for a dedicated fuser-0.17 migration; low risk for a
    # read-only forensic mount.
    "RUSTSEC-2021-0154",
    # Unmaintained-status advisories (informational, not vulnerabilities) on
    # transitive deps, each with no safe upgrade available:
    "RUSTSEC-2025-0056", # adler (via blazehash -> flate2/miniz_oxide)
    "RUSTSEC-2025-0141", # bincode 1.x
    "RUSTSEC-2025-0057", # fxhash
    "RUSTSEC-2025-0119", # number_prefix (via indicatif)
]

[licenses]
version = 2
allow = [
    "MIT",
    "Apache-2.0",
    "BSD-2-Clause",
    "BSD-3-Clause",
    "ISC",
    "Unicode-3.0",
    "Zlib",
    # Permissive / public-domain licenses pulled in transitively across the
    # multi-format dependency surface (none are strong copyleft):
    "CC0-1.0",             # notify, tiny-keccak (public-domain dedication)
    "BSL-1.0",             # xxhash-rust (Boost Software License)
    "CDLA-Permissive-2.0", # webpki-roots (Mozilla CA bundle data license)
    "MPL-2.0",             # option-ext (file-level copyleft; does not affect this crate's license)
]

[bans]
# An application bundling every supported filesystem, archive, container and
# memory-dump format (plus Dokan on Windows) has a large transitive graph where
# duplicate versions (windows-sys, getrandom, thiserror, ...) are unavoidable
# and not actionable. Warn rather than fail so genuine policy violations
# (licenses, advisories) stay visible.
multiple-versions = "warn"
wildcards = "allow" # path deps (ext4fs, ewf) have no version field; cargo-deny counts these as wildcards

[[bans.skip]]
name = "cpufeatures"
reason = "sha2/sha3 vs blake3 require different versions"

[[bans.skip]]
name = "hashbrown"
reason = "rusqlite (via hashlink) and ewf (via lru) require different versions"

[sources]
unknown-registry = "deny"
unknown-git = "deny"
allow-registry = ["https://github.com/rust-lang/crates.io-index"]
allow-git = []