Say which bytes the byte limits count, and what passing one does (closes #203)
check / check (push) Failing after 14m9s
check / check (push) Failing after 14m9s
Documents only. The byte limits and byte anomaly thresholds count body bytes, as SWW_BYTES_COUNT chooses them, with WebSocket traffic each way, once a response has ended; the request that passes a limit is not cut off and the client is banned. README.md, SPEC.md and docs/ now say so, and no longer call a response's bytes the request's. Also made plain: rate limits and their exemptions, the refusal threshold, SWRP_MAX_REQUEST_TIME_MS, SWRP_MAX_RESPONSE_SIZE, SWW_LOOKUP_SOURCE, SWW_LIMIT_BAN_REPEAT_WINDOW, the metrics' byte series, and the SPEC.md claim about answering within SWRP_TIMEOUT_MS. EVALUATION.md is audited too; its survey facts and date are unchanged. Model: fable-5-1 (first audit); opus-5-5 (rework)
This commit is contained in:
1 parent
f6435b1a73
commit
f74f25a51d
7 files changed
+246
-201
No files matched your search
+8
-6
@@ -144,20 +144,22 @@ Every one of these lines has:
|
||||
included. It is left out when rate limiting did not count the request. It
|
||||
holds:
|
||||
- `minute`, `hour` and `day`: requests;
|
||||
- `minute_bytes`, `hour_bytes` and `day_bytes`: bytes.
|
||||
- `minute_bytes`, `hour_bytes` and `day_bytes`: the body bytes
|
||||
`SWW_BYTES_COUNT` names, in that window.
|
||||
|
||||
A count can have a fraction (see "Counting method" in
|
||||
[`SPEC.md`](../SPEC.md)). The bytes of an allowed request are counted when
|
||||
its report comes. So on the `decision` line, the bytes are without this
|
||||
request's.
|
||||
[`SPEC.md`](../SPEC.md)). The bytes counted for an allowed request and its
|
||||
response are added when its report comes. So on the `decision` line, the
|
||||
three byte totals leave them out.
|
||||
|
||||
- `limit_hit`: the limit broken:
|
||||
- `minute`, `hour` or `day` for a rate limit;
|
||||
- `minute_bytes`, `hour_bytes` or `day_bytes` for a byte limit;
|
||||
- `error_burst`.
|
||||
|
||||
A request whose bytes broke a limit was passed on whole, so its `action`
|
||||
stays `forward`. Only its `report` line gives that limit.
|
||||
When the bytes counted for a request and its response break a limit, the
|
||||
request has been passed on whole, so its `action` stays `forward`. Only its
|
||||
`report` line gives that limit.
|
||||
|
||||
- `rule_ids`: the rule file rules that matched, in order, up to the one that
|
||||
refused.
|
||||
|
||||
Reference in new issue
Block a user