ADR-0022: record what the Dovecot GSSAPI work actually cost, and the keytab invariant #297
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos#297
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
docs/adr/0022-keycloak-and-scoped-kerberos.mddescribes the GSSAPI bonuses as needing only "a keytab and one more entry inauth_mechanisms". Building it (#290, #291) showed that was too cheap by one item, and surfaced an invariant that a future change would plausibly violate.Amend the ADR to record:
buildInputs, no--with-gssapi, nowithGSSAPIargument — so a package override was required. It must replace thedovecot_2_3attribute rather thanservices.dovecot2.package, or pigeonhole is built against a different dovecot;krb5also has to be innativeBuildInputsbecause ofstrictDeps.auth_gssapi_hostname = "$ALL". Aligning the names is not available: the two services carry different ACME certificates.$ALLmoves the trust boundary from a hostname to the keytab's contents. It is safe only while that keytab stays Dovecot's own — and GSSAPI SSH will puthost/<fqdn>into/etc/krb5.keytab, making "just use the machine keytab" the obvious-looking change that must not be made. A comment indovecot.nixwill not be read by whoever writes the SSH module; this belongs in the ADR.reject_authenticated_sender_login_mismatch— rejected mail rather than failed login.Documentation only; no configuration change.