iso9660-forensic 0.6.0

Forensic ISO 9660 reader and tamper analyzer: analyse() surfaces 23 anomaly findings across multi-session, Rock Ridge, Joliet, El Torito, and raw 2352-byte CD images
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum IsoError {
    #[error("I/O error: {0}")]
    Io(#[from] std::io::Error),
    #[error("not an ISO image: missing CD001 signature at sector 16")]
    NotAnIso,
    #[error("unsupported sector size: expected 2048 or 2352, detected {0}")]
    UnsupportedSectorSize(u64),
    #[error("volume descriptor parse error: {0}")]
    BadDescriptor(String),
    #[error("directory record parse error: {0}")]
    BadDirRecord(String),
    #[error("file not found: {0}")]
    NotFound(String),
    #[error("path traversal outside root")]
    PathTraversal,
    #[error("resource limit exceeded: {0}")]
    ResourceLimit(String),
}