fix: sliding-window rate limits and TCP connection cap
This commit is contained in:
parent
0c7311b068
commit
fd847d035f
7 changed files with 198 additions and 48 deletions
2
RNS.md
2
RNS.md
|
|
@ -16,7 +16,7 @@ Implemented behind the `rns` cargo feature (protocol 1.2; the default build stil
|
|||
| Ops, status codes, envelope | §6, §12 | identical |
|
||||
| AUTH / REGISTER binding | Noise handshake hash, server static key | derived, see §2 |
|
||||
| Announce | — | at startup and every 2 h; interfaces rate-limit to ≈1/hour, which is the ceiling |
|
||||
| Abuse control | per-IP rate limits | per-link request + byte limits, concurrent-link cap |
|
||||
| Abuse control | per-IP sliding-window rate limits, concurrent-connection cap | per-link request + byte limits, concurrent-link cap |
|
||||
|
||||
One wire-format detail the upstream spec leaves implicit: microReticulum splices the request payload and the response into their msgpack envelopes verbatim, so both directions carry the smolmail payload as a msgpack binary. The shim unpacks on the way in and packs on the way out; the Rust side only ever sees `op u8 || body` and `status u8 || payload`.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue