aerovault 0.6.4

Encrypted vault container format in Rust: AES-256-GCM-SIV, Argon2id, AES-KW, HMAC-SHA512, content-defined chunking with deduplication, and detached Reed-Solomon .aerocorrect error-correction sidecars
Documentation
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.

//! AEROVAULT3 container (product revision 3, and revision 4 with the
//! `.aerocorrect` Error Correction extension).
//!
//! This module ports the AEROVAULT3 container that the AeroFTP application
//! implements (`src-tauri/src/aerovault_v3.rs`) into the crate as the single
//! source of truth, byte-for-byte. The legacy `AEROVAULT2` container
//! (`crate::vault`) is untouched and stays read/write for existing vaults.
//!
//! Build order (crate rev. 4 migration):
//! - T2 `chunking` + `packing`: deterministic content pipeline (this commit).
//! - T3 `format` + `manifest` + `block`: on-disk layout (next).
//! - T4 `VaultV3`: the sync vault API.
//! - T6 `ec`: Error Correction wiring (rev. 4).

// SPDX-License-Identifier: MPL-2.0

pub mod block;
pub mod chunking;
pub mod constants;
pub mod ec;
pub mod format;
pub mod manifest;
pub mod packing;
pub mod telemetry;
pub mod vault;

pub use chunking::{chunk_ranges_with, gear_table, keyed_chunk_id, CdcBounds};
pub use ec::{
    DamagedChunk, ExportParityResult, ParitySource, RecoveryPlacement, RecoveryStatus,
    StripParityResult,
};
pub use format::{derive_keks, VaultHeaderV3};
pub use manifest::{
    ChunkRecordV3, ExtensionEntryV3, ManifestEntryV3, VaultManifestV3, WrapperManifest,
};
pub use telemetry::VaultTelemetrySink;
pub use vault::{
    CreateOptionsV3, EntryInfo, OpenVaultV3, PeekInfo, VaultLane, VaultSummaryV3, VaultV3,
};