aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/D-YAML/test/data/spec-02-13.structure
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2026-04-13 15:33:07 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2026-04-13 16:25:56 -0400
commitd0ac448e6425c9e4246cd529aeb11643dce8093f (patch)
treec12356fbc55cffd495cc37b81ca6fb125e3be195 /src/ext_depends/D-YAML/test/data/spec-02-13.structure
parentpackage.nix cosmetic line-breaks for build command (diff)
spine may be run against a document-markup zip pod
- claude contributed src - Opens the zip with std.zip.ZipArchive (reads the whole file into memory) - Locates pod.manifest inside the archive to discover document paths and languages - Extracts markup files (.sst/.ssm/.ssi) as in-memory strings - Extracts images as in-memory byte arrays - Extracts conf/dr_document_make if present - Presents these to the existing pipeline as if they were read from the filesystem - Some security mitigations: - Zip Slip / Path Traversal: Reject entries containing `..` or starting with `/`; canonicalize resolved paths and verify they fall within extraction root - Zip Bomb: Check `ArchiveMember.size` before extracting; enforce per-file (50MB) and total size limits (500MB) - Entry Count: Limit number of entries (a pod should have at most ~100 files) - Path depth: limit (Maximum 10 path components). - Symlinks: Verify no symlinks in extracted content before processing (post-extraction recursive scan) - Filename Validation: Only allow expected characters; reject null bytes - Malformed Zips: Catch `ZipException` from `std.zip.ZipArchive` constructor - Cleanup on error
Diffstat (limited to 'src/ext_depends/D-YAML/test/data/spec-02-13.structure')
0 files changed, 0 insertions, 0 deletions