Relays: who may link (RL-33) #151

Merged
jcoffey-dev merged 1 commits from relay/link-allow-from into main 2026-10-31 01:42:39 +00:00
Owner

The console side of RL-33 (inbuxa-server #272).

  • Who may link: a new field in a relay's Settings…, under the link address and port. It holds settings/linkAllowFrom: addresses and ranges such as 192.0.2.0/24 or 2001:db8::/48; empty means anyone.
    • It only shows when the server sends the setting, so a server from before #272 doesn't see a field it would refuse.
    • A list that doesn't parse is refused before it's sent, with the field marked invalid, as other fields are. The limit is 64 entries, as on the relay.
  • The warning: under the field, while you type, it compares the list with the addresses the relay last saw this server's nodes link from (links[].relay.linkFrom).
    • All nodes left out: it says the server couldn't link again, and that --link-allow-any undoes it.
    • Some nodes left out: it says which addresses couldn't link again.
    • Addresses are matched the way the relay matches them, with IPv4-mapped IPv6 treated as IPv4.
  • Field help: an entry for inbuxa:Relay.linkAllowFrom.

Checked

  • typecheck, lint, i18n (4 new strings; en.json is the only locale) and i18n:check.
  • npm test: 972 tests pass, with 3 new ones for range parsing, the leave-out check (including mapped IPv4 both ways) and the patch.
  • build, and the notice check.

Not previewed in a browser. The warning needs a real relay that has linked, to report linkFrom.

The console side of RL-33 (inbuxa-server #272). - **Who may link:** a new field in a relay's **Settings…**, under the link address and port. It holds `settings/linkAllowFrom`: addresses and ranges such as `192.0.2.0/24` or `2001:db8::/48`; empty means anyone. - It only shows when the server sends the setting, so a server from before #272 doesn't see a field it would refuse. - A list that doesn't parse is refused before it's sent, with the field marked invalid, as other fields are. The limit is 64 entries, as on the relay. - **The warning:** under the field, while you type, it compares the list with the addresses the relay last saw this server's nodes link from (`links[].relay.linkFrom`). - **All nodes left out:** it says the server couldn't link again, and that `--link-allow-any` undoes it. - **Some nodes left out:** it says which addresses couldn't link again. - Addresses are matched the way the relay matches them, with IPv4-mapped IPv6 treated as IPv4. - **Field help:** an entry for `inbuxa:Relay.linkAllowFrom`. **Checked** - typecheck, lint, i18n (4 new strings; en.json is the only locale) and i18n:check. - `npm test`: 972 tests pass, with 3 new ones for range parsing, the leave-out check (including mapped IPv4 both ways) and the patch. - build, and the notice check. **Not previewed in a browser.** The warning needs a real relay that has linked, to report `linkFrom`.
jcoffey-dev added 1 commit 2026-10-31 01:24:42 +00:00
Relays: who may link (RL-33)
ci / build (pull_request) Skipped
ci / publish (pull_request) Skipped
ci / notices (pull_request) Successful in 55s
github/ci (branch) GitHub Actions
ci / github (pull_request) Successful in 1m35s
316e0bc3de
A relay's Settings gain "Who may link": linkAllowFrom, the addresses and
ranges the relay takes this server's link from; empty is anyone. Shown
only where the server has the setting. A list that doesn't read is
refused before it is sent.

Under it, a warning when the list leaves out an address the relay last
saw a node link from (links[].relay.linkFrom): for every node, that it
locks this server out and --link-allow-any undoes it; for some, which
nodes couldn't link again. Addresses are matched as the relay matches
them, an IPv4-mapped IPv6 address as IPv4.
jcoffey-dev merged commit 5010493ac5 into main 2026-10-31 01:42:39 +00:00
jcoffey-dev deleted branch relay/link-allow-from 2026-10-31 01:42:39 +00:00
Sign in to join this conversation.