Every time in UTC, and every day as YYYY-MM-DD (closes #313)
check / check (push) Failing after 1m25s
check / check (push) Failing after 1m25s
AbuseIPDB's daily count keeps its day as a civil.Date, taken from the UTC clock and written to reputation.json as "YYYY-MM-DD"; it was a time.Time at midnight. Every time read from a state file is converted to UTC, so a time an admin writes with an offset is written back in UTC. TestMainRunsWAF runs sww waf with TZ 14 hours ahead of UTC and checks that the process line, the request line and clients.json are in UTC. SPEC.md states the rule near its start; AGENTS.md makes it an iron rule. Model: opus-5-5
This commit is contained in:
1 parent
f7e3190654
commit
42b99007c8
11 files changed
+256
-22
No files matched your search
@@ -12,6 +12,10 @@ it is built, except what the last section lists. `README.md` says how to run it.
|
||||
under `docs/` give the settings, the formats and the lists. This document links
|
||||
to them.
|
||||
|
||||
The whole application stores, logs and handles every time in UTC, whatever `TZ`
|
||||
or the host's time zone says. It keeps every day as a date written `YYYY-MM-DD`,
|
||||
never as a time.
|
||||
|
||||
## Purpose
|
||||
|
||||
- It protects self-hosted apps on the open internet from scrapers, scanners and
|
||||
@@ -1775,6 +1779,7 @@ in. `docs/state-files.md` lists the files, what each holds, and their sizes.
|
||||
- a top-level `version` number;
|
||||
- entries sorted by client address;
|
||||
- times in RFC 3339 UTC;
|
||||
- days as `YYYY-MM-DD`;
|
||||
- durations and sizes as plain numbers, with the unit in the field name.
|
||||
- `bans.json`, `reputation.json` and `alerts.json` are indented, so that a
|
||||
person can open `bans.json` in an editor, find an address, and remove or add
|
||||
|
||||
Reference in new issue
Block a user