Repository navigation
silkd: git on every lane, and relay dials without a blocking-pool hop - #503
Merged
Merged
Conversation
The none-lane refusal predates the egress proxy relay: a none-lane guest with a policy allowing the git host reaches it through the relay, the same way exec git clone already does, yet GitClone answered unimplemented. Without such a policy git fails with its own error. The test-only lane override goes with the check, and the docs and SDK examples stop pointing none-lane git at Push.
… instead of a blocking-pool hop The close-on-exec fix moved each relay connect onto the blocking pool, one thread hop per proxied connection and per DNS datagram, and a stalled host could tie up blocking threads past DATAGRAMS_IN_FLIGHT. The socket is now created SOCK_CLOEXEC|SOCK_NONBLOCK and the connect awaited on the reactor.
… answer, and drop the remaining network-lane-only notes smoke's push without a remote and the Python e2e's clone of a host no policy allows now fail with git's own error (internal) instead of unimplemented. The wire, SDK and test docs and egress.md stop tying git to a lane.
…ress step read a repository's status The egress step pushed a repository without a remote, which fails the same way on every lane now, so it proved nothing about the lane; it now claims an egress-lane sandbox and reads a status through it.
…user Moving the uid/gid drop into the pre_exec hook left std's chdir running as root before it, so a cwd the user cannot enter no longer failed the spawn. With a user and root, the hook now enters the cwd after setuid, and the spawn answers bad_request again; a root-only test pins it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two silkd follow-ups to #502, as ruled by CMGS after the whole-repo audit.
exec git clonealready did. Without such a policy, git fails with its own error. The test-only lane override goes with the check. docs/sdk.md, docs/sdk-python.md, docs/silkd.md and the SDK comments stop pointing none-lane git at Push.SOCK_CLOEXEC|SOCK_NONBLOCK(unsafe isolated in sysutil.rs with// SAFETY:lines) and the connect is awaited on the reactor.Verified in a
rust:1linux/arm64 container:cargo fmt --check,cargo clippy --locked --all-targets -D warnings,cargo test --locked. The vsock dial runs only inside a guest; a hardware A/B on cocoon-test2 is measuring the per-connection and per-DNS-query cost against the pre-audit and #502 silkd, and this PR waits for that result.