Files
Stalwart/NAMAILU_FORK.md
root dc9c52ae1d
Some checks failed
trivy / Check (push) Has been cancelled
Scorecard supply-chain security / Scorecard analysis (push) Has been cancelled
docs: point fork metadata at canonical repository
2026-07-29 15:20:13 +02:00

1.5 KiB

Namailu fork: unified HUMAN password

This fork keeps the regular Stalwart OIDC Bearer flow and AppPassword flow intact, and adds an intentionally narrow Basic-auth bridge for HUMAN accounts.

When the OIDC discovery document advertises password_verification_endpoint, IMAP/SMTP/POP3 Basic credentials are POSTed over HTTPS to that endpoint. The request uses the service bearer token from STALWART_OIDC_BASIC_AUTH_TOKEN. A 204 No Content response authenticates the account; failure responses disclose no account data.

Security properties:

  • the endpoint must be HTTPS, contain no userinfo, and use the issuer hostname;
  • redirects and environment HTTP proxies are disabled for the OIDC client;
  • password hashes, tokens, profiles, and sessions are never returned;
  • the existing OIDC Bearer and scoped AppPassword paths are unchanged;
  • the deployment additionally restricts the endpoint with an internal TLS listener, source ACL, service bearer, rate limits, and bounded Argon2 work.

The provided image enables the PostgreSQL metadata and S3-compatible blob backends used by Namailu. Build it with:

docker build -f Dockerfile.namailu \
  -t namailu/stalwart:v0.16.14-unified-password .

The fork remains licensed under the upstream AGPL-3.0-only option. Its canonical source location is https://git.facilitygo.com/filip/Stalwart, branch namailu-unified-password. The repository is populated now and will be switched to public visibility before the service is opened to the public.