fix(install): allow POSIX colon tarball filenames#386
Conversation
Greptile SummaryThis PR relaxes the tarball-entry and linker-index-key validators to allow Confidence Score: 5/5Safe to merge — the change is a targeted, well-scoped fix with no logic errors found. Both changed functions apply identical platform splits; path-traversal guards (ParentDir, RootDir, Prefix) are untouched; the No files require special attention. Important Files Changed
Reviews (1): Last reviewed commit: "fix(install): allow POSIX colon tarball ..." | Re-trigger Greptile |
Summary
:inside tarball entry filenames on POSIX platforms while continuing to reject it on Windows.package-json:version.d.tspath.Root Cause
The store tarball validator treated
:as malformed on every platform to defend against Windows drive-prefix and NTFS alternate-data-stream ambiguity. That was too broad for POSIX, where colon is a valid filename character. After relaxing the store-side validator, the linker still rejected cached package index keys containing:, so both guards needed the same platform split.Validation
cargo fmt --checkcargo test -p aube-storecargo test -p aube-linkercargo clippy -p aube-store --all-targets -- -D warningscargo clippy -p aube-linker --all-targets -- -D warningsredos-detector@6.1.4install with the debug binary.Note
Low Risk
Small, targeted validation change gated by OS cfg; main risk is unintended path-safety regression, mitigated by keeping Windows restrictions and adding tests.
Overview
Allows
:in package tarball entry filenames and cachedPackageIndexkeys on non-Windows platforms while continuing to reject:on Windows (drive/ADS safety).Updates
aube-storetarball path normalization and the linker'svalidate_index_keyto apply colon checks only undercfg(windows), and adds platform-gated regression tests coveringdist/__mocks__/package-json:version.d.tsplus the Windows-only rejection cases.Reviewed by Cursor Bugbot for commit e6e5d81. Bugbot is set up for automated code reviews on this repo. Configure here.