Name both halves of the reason an SSH push has no transport
The paragraph on how strongly the GitHub push block is enforced rests on two properties of dejima and named one. The allowlist decides IPv4; what makes port 22 unreachable at all is that dejima also blocks IPv6 in the container. An allowlist naming one address family says nothing about the other, so without the second property a session reaches GitHub's v6 ranges on any port it likes and the argument collapses without a line of it changing. Both are dejima's to keep true, which is why they are written down here. A claim about another repository's behaviour fails by that behaviour changing while the paragraph depending on it does not - the same shape as the node templates inheriting an IPv4-only rule list from reasoning that had been made correctly twice elsewhere. Found by the agent working in dejima, who read the equivalent claim there, found it did not make an IPv4-only assumption, and pointed out that the IPv4-shaped version might be on this side instead. It was.
This commit is contained in:
@@ -262,6 +262,18 @@ can clone, fetch and call the API, and port 22 is simply unreachable. An SSH
|
||||
push has no transport, whatever `git-push-guard.sh` does or does not catch.
|
||||
`--allow-github-push` is what opens it, per launch.
|
||||
|
||||
**That rests on two properties of dejima, not one**, and naming only the first
|
||||
is how this paragraph would quietly stop being true. The allowlist decides IPv4;
|
||||
what makes port 22 unreachable *at all* is that dejima also blocks IPv6 in the
|
||||
container. An allowlist naming one address family says nothing about the other,
|
||||
so without the second property a session reaches GitHub's own v6 ranges on any
|
||||
port it likes, port 22 included, and the argument above collapses without a line
|
||||
of it changing.
|
||||
|
||||
Both are dejima's to keep true, which is the point of writing them down here:
|
||||
this is a claim about another repository's behaviour, and the way such a claim
|
||||
fails is that the behaviour changes and the paragraph depending on it does not.
|
||||
|
||||
Closing the CI chain follows from that principle. It is not the reason for it.
|
||||
|
||||
**This repository exists so that it is not the only answer.** Granting push
|
||||
|
||||
Reference in New Issue
Block a user