Repository navigation
fix(install): use patched archive and TLS dependencies - #3
Conversation
Tiny Sweeper reviewTiny Sweeper completed its review; deterministic results follow. State: Ready for maintainer review Review snapshot
Completeness: Complete Features
Tests
FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
tinysweeper found nothing blocking. Approving.
$0.0011 · 200,398 in / 12,045 out · 59,520 cached (30%) · deep, deepseek-v4.1-flash
critique: $0.0002 · 96,870 in / 3,171 out · 31,872 cached (33%) · deepseek-v4.1-flash
security: $0.0001 · 53,381 in / 1,160 out · 19,840 cached (37%) · deepseek-v4.1-flash
tests: $0.0000 · 16,755 in / 394 out · 3,968 cached (24%) · deepseek-v4.1-flash
description: $0.0001 · 26,135 in / 1,250 out · 3,840 cached (15%) · deepseek-v4.1-flash
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2b10c825c9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
|
|
||
| def info(name, timestamp, compression=ZIP_STORED, mode=None, dos_attributes=0): | ||
| entry = ZipInfo(name, date_time=timestamp) |
There was a problem hiding this comment.
Pin fixture ZIP entries to the Unix creator
On Windows, Python's ZipInfo defaults create_system to 0, whereas these checked-in archives were produced with the Unix value 3. Because that field is stored in every central-directory entry, the generator's default --check reports all fixtures as different on Windows even when their logical inputs are unchanged; --write also marks the permission-bearing entries as DOS records, so they no longer reliably exercise the Unix executable/SUID metadata under test. Set entry.create_system = 3 explicitly when constructing each entry.
Useful? React with 👍 / 👎.
043e251
into
tinyhumansai:epic/8056-modules-wiring
The installer applies archive-provided Unix permissions, and ZIP 8 preserves SUID/SGID bits. Upgrade ZIP to 9.0.4, whose
unix_mode()clears privilege bits, and rustls to patched 0.23.46. The lock changes include only those repairs and required nix/libc/webpki dependencies. Existing extraction code consumes the corrected behavior directly.Add deterministic archive fixtures and tests for Chrome-directory stripping, normal and nested files, executable permissions, traversal negative controls, CRC errors, and truncation. The checked-in Python stdlib generator verifies fixture bytes without writing by default. Add this exact epic branch to PR CI; package version stays 0.38.1 and main-only publication triggers are unchanged.
Validation:
0o4755and fails; the same test under ZIP 9.0.4 passes with0o755.new_without_defaulterrors in untouched native element/network/recording/tracing files. These files are byte-identical to the base; strict lint is not claimed green.SUN_LEN) failures. New archive tests pass on macOS and Linux. Linux verification used a disposable non-root container with its natural home directory.This prerequisite unblocks TinyComputer's supply-chain gate in tinyhumansai/tinycomputer#108. The epic base preserves TinyComputer's previously recorded agent-browser revision; actual hosted CI must pass before a normal merge into the nondefault epic branch. The final main rollup remains separate.
Part of tinyhumansai/openhuman#8056