Compare commits
1
Commits
92b7c4f146
...
5d75b5ce02
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5d75b5ce02 |
No files matched your search
@@ -0,0 +1,39 @@
|
||||
# Agents
|
||||
|
||||
These are the rules for agents working on this repository.
|
||||
|
||||
## Branches
|
||||
|
||||
- `main` is the stable branch, and `next` is the development branch.
|
||||
- Every PR is cut from `next` and targets `next`.
|
||||
- Only sneak merges `next` into `main`.
|
||||
- Each issue lands on `next` as one squashed commit whose title ends
|
||||
` (closes #N)`. A PR of exactly two commits lands as both commits: first tests
|
||||
that fail against the current code, then the fix with no test assertion
|
||||
changed.
|
||||
|
||||
## Entrypoints
|
||||
|
||||
- Work through the `Makefile` targets, which call the scripts in `script/`. The
|
||||
README's [Entrypoints](README.md#entrypoints) section lists them.
|
||||
- Never run `go`, `golangci-lint` or prettier directly.
|
||||
- `make check` passes before every push.
|
||||
|
||||
## Editing
|
||||
|
||||
- Edit files by hand.
|
||||
- Format only with `make fmt`, and run it before committing any change.
|
||||
|
||||
## Iron rules
|
||||
|
||||
- The request log records query strings exactly as received.
|
||||
- Secrets belong in POST data. An app that puts a secret in a query string
|
||||
is fixed in the app.
|
||||
- Never propose redacting a query string, Gitea's `?token=` included.
|
||||
- The default of `SWRP_TRUSTED_PROXIES` is the RFC 1918 set.
|
||||
- The set is:
|
||||
- `10.0.0.0/8`;
|
||||
- `172.16.0.0/12`;
|
||||
- `192.168.0.0/16`.
|
||||
- `SPEC.md` states that default.
|
||||
- Forwarded headers count only when the peer is a trusted proxy.
|
||||
@@ -746,6 +746,7 @@ on the host.
|
||||
- [`EVALUATION.md`](EVALUATION.md): what already exists, what each tool covers
|
||||
and misses, and why none was adopted.
|
||||
- [`REPO_POLICIES.md`](REPO_POLICIES.md): the policies this repository follows.
|
||||
- [`AGENTS.md`](AGENTS.md): the rules for agents working on this repository.
|
||||
- [`docs/settings.md`](docs/settings.md): every setting and the values it takes.
|
||||
- [`docs/rules.md`](docs/rules.md): the rule file format and the default file.
|
||||
- [`docs/admin-endpoints.md`](docs/admin-endpoints.md): the endpoints under
|
||||
|
||||
@@ -133,6 +133,8 @@ request log's `heuristic` field gives that name. `refusal_limit` and
|
||||
1. `GET /_sww/healthz` is answered at once by `rproxy`, before any check, so a
|
||||
health checker never needs an exemption and is never refused.
|
||||
2. The client is identified.
|
||||
- `SWRP_TRUSTED_PROXIES` is `10.0.0.0/8`, `172.16.0.0/12` and
|
||||
`192.168.0.0/16` by default. A list given replaces them.
|
||||
- If the TCP peer is inside `SWRP_TRUSTED_PROXIES`, `X-Forwarded-For` is
|
||||
walked from the right, and the first address outside those netblocks is
|
||||
the client. If every address is inside them, the leftmost is, so that a
|
||||
|
||||
Reference in new issue
Block a user