Enforce Windows ACL parity for the opt-in dispatch trust store - #137
Conversation
|
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. |
|
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. |
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
Keep draft pending full Windows and cumulative packaging/install evidence. Diagnostic results have zero qualification credit. No release, new allocation or production change.