Skip to main content

Module container

Module container 

Source
Expand description

目录容器(模式 A):把整个文件夹打包进单个 .omy。

对应设计文档 05 号 §2 与决策 D-05。载荷是若干文件字节的顺序拼接,TLV_FOLDER_INDEX 记录每个条目在明文载荷流中的偏移与长度。

§为什么偏移是明文流偏移

与分块 AEAD 的寻址正交:给定 offset..offset+size,直接套用 payload 的区间读取即可,容器内单文件预览 与单文件模式复用同一套逻辑,只多一层基址。

§路径安全

索引来自不可信文件。若原样拼接落盘,.. 或绝对路径会造成 目录穿越写入。ContainerIndex::parse 在解析阶段即拒绝这类条目, 而不是留给调用方自觉检查——见 validate_component。

Structs§

ContainerBuilder
索引构建器:顺序添加条目,自动累加载荷偏移。
ContainerEntry
一个容器条目。
ContainerIndex
容器目录索引。
EntryMeta
跨平台元数据。不支持的项在还原时明确报告而非静默丢弃(决策 N3)。

Enums§

EntryKind
条目类型。

Constants§

INDEX_VERSION
索引格式版本。与文件格式版本独立演进。
MAX_COMPONENT_LEN
单个路径组件的字节上限。多数文件系统的限制为 255。
MAX_INDEX_SIZE
索引自身的字节上限,防止畸形输入触发大量分配。
RECOMMENDED_MAX_ENTRIES
建议的条目数上限。超过时上层应提示改用树形模式(文档 §2.4)。

Functions§

validate_component
校验单个路径组件是否可安全落盘。