fix(auth): an IPv6 visitor counts by their /64

One household's line or one server gets a whole /64 of IPv6 addresses,
and could turn through them past every per-network limit (the second
reading's M5). networkOf now counts an IPv6 visitor by their /64
(networkKeyOf), an IPv4 visitor by their address as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-20 21:48:25 +02:00
commit 4007041c9e
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -48,7 +48,9 @@ Endpoints, under the nickname `base` in a host's client (`client.modules.base.em
connection's, or, for a connection from a proxy the operator trusts
(`TRUSTED_PROXIES`), the last address of `X-Forwarded-For`, the one the proxy saw
itself. Never the `Forwarded` header, which Caddy passes on as the visitor wrote it,
so never Serverpod's `remoteInfo`. Serverpod's own limit on anonymous accounts is off
so never Serverpod's `remoteInfo`. An IPv6 visitor counts by their /64
(`networkKeyOf`), which one line or server holds whole. Serverpod's own limit on
anonymous accounts is off
(it counts by the connection's address, behind a proxy the proxy's for everyone); the
endpoint counts them itself.
- Refusals are `PasswordRefusedException`, `GitHubSignInRefusedException`,