[package]
name = "aff4"
version = "0.2.2"
edition.workspace = true
repository.workspace = true
homepage.workspace = true
rust-version.workspace = true
description = "Pure-Rust read-only AFF4 (Advanced Forensic Format 4) disk image reader"
license.workspace = true
exclude = ["tests/data/", "corpus/", "fuzz/", ".github/", "deny.toml", "renovate.json", ".pre-commit-config.yaml"]
authors.workspace = true
keywords = ["forensics", "aff4", "disk-image", "container"]
categories = ["parser-implementations", "filesystem"]
[features]
test-helpers = ["dep:zip"]
[dependencies]
thiserror = { workspace = true }
zip-forensic-core = { workspace = true }
zip = { workspace = true, optional = true }
flate2 = { workspace = true }
snap = { workspace = true }
lz4_flex = { workspace = true }
pbkdf2 = { workspace = true }
sha2 = { workspace = true }
aes = { workspace = true }
aes-kw = { workspace = true }
xts-mode = { workspace = true }
[dev-dependencies]
tempfile = { workspace = true }
proptest = { workspace = true }
lz4_flex = { workspace = true }
md-5.workspace = true
zip = { workspace = true }
[lints.rust]
unsafe_code = "deny"
[lints.clippy]
all = { level = "warn", priority = -1 }
pedantic = { level = "warn", priority = -1 }
unwrap_used = "deny"
module_name_repetitions = { level = "allow", priority = 1 }
doc_markdown = { level = "allow", priority = 1 }
must_use_candidate = { level = "allow", priority = 1 }
missing_errors_doc = { level = "allow", priority = 1 }
missing_panics_doc = { level = "allow", priority = 1 }
missing_fields_in_debug = { level = "allow", priority = 1 }
items_after_statements = { level = "allow", priority = 1 }
cast_possible_truncation = { level = "allow", priority = 1 }
cast_possible_wrap = { level = "allow", priority = 1 }
cast_sign_loss = { level = "allow", priority = 1 }
cast_precision_loss = { level = "allow", priority = 1 }