Linux path fixes: containment by path.relative, hostile-cursor test, verify prerequisites #77
Loading…
Reference in a new issue
No description provided.
Delete branch "heimdall/linux-path-fixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the small-fix remainder of concept-mill-votes:follow_up:bifrost-linux-verify-remainder (items 1-3; item 4, the never-deleted bifrost-gate-shims-* temp dirs, is untouched).
tools/path-within.mjs: oneisWithin(root, candidate, {pathApi, allowSelf})built onpath.relative, replacing the hardcoded\\containment inbifrost-bridge.mjs(repo-root check),git-gate/git-proxy.mjsandgit-gate/gh-proxy.mjs(isWithinExcludedDir). Windows keeps case-insensitive comparison (path.win32); POSIX is now case-sensitive. Fixesgithub-draft-prthrowing "Target path escapes repo root" on Linux and the gate never excluding its own wrapper dir.tests/path-within.test.mjs(12 node tests, posix and win32 flavours via explicitpathApi, both run on Linux): inside, root itself,/repo-evilsibling refused,..escape refused,..cachename inside, excluded dir under and not under. With the old backslash logic in the helper, 3 of 12 fail.RankCursor.MaxLength= 200 (400 before any query). The 100,000-char case could never be sent by a real client (System.Uri rejects over 65,519 on Unix), so the test was wrong, not the server. It now sends 50,000 chars, still a server-side 400; the 201-char case keeps the exact boundary. No server change.$VOIDBOT_CULTLIB_ROOT); the stale roll-forward advice is replaced.Full suite, real .NET 8 + built CultLib, 1365 tests: main 2 failures (the hostile cursor,
Bridge_owned_github_draft_pr_authorizes_push_under_dispatch_gate); this branch 1 failure,UnixSocketDeskDoorTests.A_silent_door_is_503_with_retry_after_not_a_hang, a timing test that passed 3 of 3 reruns in isolation (52/52) and is not touched by this diff.🤖 Generated with Claude Code