Every log line also sent to a remote syslog endpoint (LOG_REMOTE_URL), as the "Request log" section of SPEC.md (#9) describes.
Not scheduled: it waits for sneak to put it in a milestone.
Model: opus-5-5
Every log line also sent to a remote syslog endpoint (`LOG_REMOTE_URL`), as the "Request log" section of `SPEC.md` (https://git.eeqj.de/sneak/smallwebwaf/pulls/9) describes.
Not scheduled: it waits for sneak to put it in a milestone.
Model: opus-5-5
Plan. The build order in SPEC.md puts remote log sending in the second stage after milestone 2, beside the rule files, so it is built now, as "Request log" ("Remote sending") and "Configuration surface" (logging) describe. One PR to next.
SWWAF_LOG_REMOTE_URL in the forms syslog+udp://host:514, syslog+tcp://host:514 and syslog+tls://host:6514; SWWAF_LOG_REMOTE_TLS_CA_FILE for the +tls form; SWWAF_LOG_REMOTE_BUFFER (default 10000); SWWAF_LOG_REMOTE_FACILITY (default local0) and SWWAF_LOG_REMOTE_APP_NAME (default the instance name). Unset by default; a value set but invalid stops the start naming the setting; a CA file that cannot be read stops the start.
Every line written to stdout, request lines and the process's own, is also sent as the message of an RFC 5424 record, with octet-counted framing on TCP and TLS. stdout is unchanged and always on.
Sending runs on its own goroutine from a bounded buffer: an unreachable or slow endpoint never delays a request or stdout; it reconnects with backoff, drops the oldest lines when the buffer is full, and counts the drops. At an orderly stop, lines still waiting are sent for a short, bounded time and then given up, as "Persistent state" allows.
Metrics: lines sent, dropped, and buffer depth, as "Metrics endpoint" lists them.
Library selection: a widely used, maintained Go syslog client if one fits RFC 5424 with octet counting over TCP and TLS; the standard library's log/syslog speaks only the old format, so say in the PR body what was chosen and why.
README.md documents the settings.
Definition of done: tests against local UDP, TCP and TLS listeners (with a test CA) show each form's framing and record format, the buffer dropping the oldest and counting them, reconnecting after the listener goes away and comes back, stdout and requests never held up by a stalled endpoint, every setting's default and invalid values; no test depends on real timing or the network beyond the loopback listeners; make check green; one PR to next, passed by a reviewer who did not write it.
Model: opus-5-5
Plan. The build order in `SPEC.md` puts remote log sending in the second stage after milestone 2, beside the rule files, so it is built now, as "Request log" ("Remote sending") and "Configuration surface" (logging) describe. One PR to `next`.
- `SWWAF_LOG_REMOTE_URL` in the forms `syslog+udp://host:514`, `syslog+tcp://host:514` and `syslog+tls://host:6514`; `SWWAF_LOG_REMOTE_TLS_CA_FILE` for the `+tls` form; `SWWAF_LOG_REMOTE_BUFFER` (default `10000`); `SWWAF_LOG_REMOTE_FACILITY` (default `local0`) and `SWWAF_LOG_REMOTE_APP_NAME` (default the instance name). Unset by default; a value set but invalid stops the start naming the setting; a CA file that cannot be read stops the start.
- Every line written to stdout, request lines and the process's own, is also sent as the message of an RFC 5424 record, with octet-counted framing on TCP and TLS. stdout is unchanged and always on.
- Sending runs on its own goroutine from a bounded buffer: an unreachable or slow endpoint never delays a request or stdout; it reconnects with backoff, drops the oldest lines when the buffer is full, and counts the drops. At an orderly stop, lines still waiting are sent for a short, bounded time and then given up, as "Persistent state" allows.
- Metrics: lines sent, dropped, and buffer depth, as "Metrics endpoint" lists them.
- Library selection: a widely used, maintained Go syslog client if one fits RFC 5424 with octet counting over TCP and TLS; the standard library's `log/syslog` speaks only the old format, so say in the PR body what was chosen and why.
- `README.md` documents the settings.
Definition of done: tests against local UDP, TCP and TLS listeners (with a test CA) show each form's framing and record format, the buffer dropping the oldest and counting them, reconnecting after the listener goes away and comes back, stdout and requests never held up by a stalled endpoint, every setting's default and invalid values; no test depends on real timing or the network beyond the loopback listeners; `make check` green; one PR to `next`, passed by a reviewer who did not write it.
Model: opus-5-5
clawbot
self-assigned this 2026-10-06 16:04:22 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Every log line also sent to a remote syslog endpoint (
LOG_REMOTE_URL), as the "Request log" section ofSPEC.md(#9) describes.Not scheduled: it waits for sneak to put it in a milestone.
Model: opus-5-5
Plan. The build order in
SPEC.mdputs remote log sending in the second stage after milestone 2, beside the rule files, so it is built now, as "Request log" ("Remote sending") and "Configuration surface" (logging) describe. One PR tonext.SWWAF_LOG_REMOTE_URLin the formssyslog+udp://host:514,syslog+tcp://host:514andsyslog+tls://host:6514;SWWAF_LOG_REMOTE_TLS_CA_FILEfor the+tlsform;SWWAF_LOG_REMOTE_BUFFER(default10000);SWWAF_LOG_REMOTE_FACILITY(defaultlocal0) andSWWAF_LOG_REMOTE_APP_NAME(default the instance name). Unset by default; a value set but invalid stops the start naming the setting; a CA file that cannot be read stops the start.log/syslogspeaks only the old format, so say in the PR body what was chosen and why.README.mddocuments the settings.Definition of done: tests against local UDP, TCP and TLS listeners (with a test CA) show each form's framing and record format, the buffer dropping the oldest and counting them, reconnecting after the listener goes away and comes back, stdout and requests never held up by a stalled endpoint, every setting's default and invalid values; no test depends on real timing or the network beyond the loopback listeners;
make checkgreen; one PR tonext, passed by a reviewer who did not write it.Model: opus-5-5
Built in #84.
Model: opus-5-5