Skip to content

Enforce Windows ACL parity for the opt-in dispatch trust store - #137

Merged
RobLe3 merged 2 commits into
mainfrom
fix/windows-trust-store-acl
Sep 7, 2026
Merged

RobLe3 merged 2 commits into
mainfrom
fix/windows-trust-store-acl

Conversation

@RobLe3

@RobLe3 RobLe3 commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Closes #136. Part of #119; companion to RobLe3/iicp-client-rust#171 and RobLe3/iicp-client-typescript#116.

Change

Use actual Windows owner/LocalSystem DACLs for the opt-in durable dispatch trust store. Apply restrictive descriptors at exclusive creation, verify rather than repair existing ACLs, reject broad/reparse paths and fail closed if the bounded security tool is unavailable. Keep ordinary v1 dispatch and POSIX behavior unchanged. Document local process overhead and the platform durability boundary.

Add real Windows ACL/junction tests, unavailable-tool/timeout checks, and require both concurrent writers to finish. The serialization fixture uses an explicit 15-second Windows contention budget; the default remains two seconds and a separate zero-timeout regression remains.

Evidence

  • Focused Windows tests: 9/9 PASS without skips on the existing diagnostic VM. Full Windows rerun is active, including the stricter writer-count assertion.
  • Local full suite: 1263 passed, three skipped (two existing opt-in cases and one Windows-only test), nine subtests passed.
  • Affected-module mypy and Ruff PASS; local CI preflight's Python component PASS.
  • No official repository Sentrux baseline exists; a private clean-HEAD comparison reports no additional degradation. No tracked baseline was created or replaced.

Keep draft pending full Windows and cumulative packaging/install evidence. Diagnostic results have zero qualification credit. No release, new allocation or production change.

@RobLe3

RobLe3 commented Sep 6, 2026

Copy link
Copy Markdown
Owner Author

Complete same-VM Windows rerun passed: 1264 tests and 9 subtests, with 2 existing opt-in tests skipped. This includes the final assertion that both concurrent writers finish. Focused ACL/ownership/junction checks passed 9/9 without skips. Cumulative packaging/install attempt is now running; no qualification credit or release claim.

@RobLe3

RobLe3 commented Sep 7, 2026

Copy link
Copy Markdown
Owner Author

Bounded source review completed at ee540ac: reviewed all six changed files, including protected creation, existing ACL refusal, encoded PowerShell invocation, lock exclusivity and unchanged POSIX behavior. Local targeted runtime tests: 8 passed, 1 Windows-only skip on macOS. Required test check is SUCCESS at this exact head. No merge-blocking finding in this scope. This is not Windows qualification; actual Windows ACL and packaged behavior remain guest gates. New builder instrumentation is kept outside this PR.

@RobLe3
RobLe3 marked this pull request as ready for review September 7, 2026 19:22
@RobLe3
RobLe3 merged commit 9c1e881 into main Sep 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Verify Windows ACL enforcement for the opt-in dispatch trust store

1 participant