Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -126,27 +126,35 @@ Decided here (technical, the owner may overrule):
|
||||
|
||||
## Stages
|
||||
|
||||
### Stage 1 - the signer, beside OpenDKIM (no release)
|
||||
### Stage 1 - the signer, beside OpenDKIM (no release) - done `14de9a0`
|
||||
|
||||
- [ ] `internal/milter/sign.go`: the session (Connect, MailFrom with
|
||||
- [x] `internal/milter/sign.go`: the session (Connect, MailFrom with
|
||||
`{auth_authen}`, Header, Headers, BodyChunk, Body), `OptHeaderLeadingSpace`,
|
||||
`InsertHeader(0, "DKIM-Signature", ...)` (the server's `Actions` gain
|
||||
add-header), the key read per message from the key file (a small cache
|
||||
keyed by path and mtime), the selector from the store as `Record` reads
|
||||
it.
|
||||
- [ ] Unit tests: sign and verify with go-msgauth; folded and tab-led
|
||||
- [x] Unit tests: sign and verify with go-msgauth; folded and tab-led
|
||||
headers; a header absent and present twice; an empty body; a body
|
||||
without a final newline; a login with no domain and a missing key file
|
||||
answer tempfail; the server's socket never signs with a domain's key.
|
||||
- [ ] `cmd/panel`: the role, its two sockets (`listenMilter`, group
|
||||
- [x] `cmd/panel`: the role, its two sockets (`listenMilter`, group
|
||||
selfpost, 0660), the wrapper waits for them.
|
||||
- [ ] `build/postfix-config.sh`: `smtpd_milters` = sender, sign, OpenDKIM,
|
||||
- [x] `build/postfix-config.sh`: `smtpd_milters` = sender, sign, OpenDKIM,
|
||||
journal (OpenDKIM kept for the cross-check); `non_smtpd_milters` =
|
||||
sign-local, OpenDKIM; `disable_mime_output_conversion=yes`.
|
||||
- [ ] e2e: dkimpy in the stand; every positive send and the notification
|
||||
- [x] e2e: dkimpy in the stand; every positive send and the notification
|
||||
verified by dkimpy against the panel's signature; the panel's and
|
||||
OpenDKIM's `bh=`/`h=` compared.
|
||||
|
||||
*Done (2026-10-15, `14de9a0`):* e2e exit 0 on the server; on an
|
||||
application's message and on a notification the panel's and OpenDKIM's
|
||||
signatures agree on `h=`, `bh=`, `c=`, `s=`, `a=` and dkimpy verifies both.
|
||||
Two findings while writing it: a folded header reaches a milter
|
||||
`
|
||||
`-separated (the signer rebuilds CRLF), and go-milter calls no Abort on a
|
||||
dropped connection (a one-hour watchdog closes the signer).
|
||||
|
||||
### Stage 2 - OpenDKIM removed (no release)
|
||||
|
||||
- [ ] Chain: OpenDKIM out of both milter lists.
|
||||
|
||||
+1
-1
@@ -44,7 +44,7 @@ in `git log` and [CHANGELOG.md](../CHANGELOG.md).
|
||||
| own-mta-builds | Analysis: build Postfix and OpenDKIM ourselves, patched, instead of Debian's packages | analysed 2026-10-15: no own builds; three rows proposed instead | — | [own-mta-builds-2026-10-15.md](own-mta-builds-2026-10-15.md) |
|
||||
| port25-bare-newline | The inbound relay's port 25 refuses bare newlines in DATA (`smtpd_forbid_bare_newline=normalize`) | shipped `2.6.1` | — | — |
|
||||
| base-trixie | The image's base from Debian bookworm (LTS since 2026-07-12) to trixie: Postfix 3.10 with the 2026 security batches | shipped `2.7.0` | — | — |
|
||||
| panel-dkim-signing | DKIM signing in the panel's own milter; OpenDKIM, the syslog relay and the parser port removed | agreed (2026-10-15; plan agreed, next) | 0/14 | [plans/panel-dkim-signing.md](plans/panel-dkim-signing.md) |
|
||||
| panel-dkim-signing | DKIM signing in the panel's own milter; OpenDKIM, the syslog relay and the parser port removed | agreed (2026-10-15; stage 1 done) | 5/14 | [plans/panel-dkim-signing.md](plans/panel-dkim-signing.md) |
|
||||
| phone-desktop-mode | A phone browser in "desktop site" mode gets the phone navigation | agreed (2026-10-13: after stages 1 and 2 of audit-2026-10-12) | — | — |
|
||||
| from-header-binding | Hold a message's `From:` header against the application that sends it | shipped `2.4.0` | 9/9 | [plans/from-header-binding.md](plans/from-header-binding.md) |
|
||||
| panel-redesign | Panel redesign (accepted mockups, design contract) | shipped `2.0.0` | 27/27 | [plans/panel-redesign.md](plans/panel-redesign.md) |
|
||||
|
||||
Reference in New Issue
Block a user