Relay: who may dial the link (RL-33) #272

Merged
jcoffey-dev merged 1 commits from relay/link-allow-from into main 2026-10-31 01:42:36 +00:00
1 Commits
Author SHA1 Message Date
jcoffey-dev f3867606f2 Relay: who may dial the link (RL-33)
ci / fork-checks (pull_request) Skipped
ci / build (pull_request) Skipped
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 10m26s
The setting linkAllowFrom, a list of addresses and CIDR ranges (at most
64), limits the link port to those sources: others are dropped before
TLS, with no reply. Empty, the default, is anyone, and so is a relay
before its first settings, so it can join. A connection already open
stays open when the list changes.

`inbuxa-relay run --link-allow-any` ignores the list it starts with until
the downstream sets another, for a list that locked the downstream out.

Relay/get answers each link with status.linkFrom, the address that
connection comes from, which each node keeps with its link status: the
addresses the console checks a list against before it is saved.

relay-proto gains allow.rs (AllowList, matching an IPv4 client of a [::]
listener as IPv4). The downstream takes settings/linkAllowFrom like any
setting, checked by RelaySettings::problems. Tested in the relay's end to
end test (RL-T25) and the server's relay system tests.

The spec records step 6 as done.
2026-10-30 18:21:45 -07:00