Switch IMAP, POP3 and ManageSieve on and off one at a time #32

Merged
jcoffey-dev merged 1 commits from feature/per-protocol-switches into main 2026-09-28 06:26:39 +00:00
1 Commits
Author SHA1 Message Date
jcoffey-dev 680542ed9f Switch IMAP, POP3 and ManageSieve on and off one at a time
ci / build (pull_request) Successful in 1m17s
ci / publish (pull_request) Skipped
Settings › Security › Hardening puts a switch on each of the three
protocols' rows, beside its ports and a count of the accounts that
used it in the last 30 days. Turning one off asks first, naming who
used it lately and the ports that close; turning one back on is one
click. The kill-all stays as "Turn off all legacy protocols…" with the
full statement and the typed phrase, and the status card says which
are off when only some are ("POP3 is off on this server. Mail apps can
still use IMAP and ManageSieve, and send."), with "Turn them all back
on". A listener that failed to reopen is retried by turning its
protocol on again.

Each tenant's page gets the same three switches (no ports: a tenant's
switch closes none). A server administrator sees a protocol that is
off server-wide as such, its switch disabled; inside a tenant the
server refuses it and the toast says which protocol.

Reads the per-protocol properties from inbuxa-server's
feature/per-protocol-switches; from an older server, legacyProtocols
stands for all three, so the page keeps working.

Tested: unit tests (reading each switch and an older server's one,
per-row ports while off and on, one protocol's recent users);
typecheck and lint; and in headless Chrome against a local server on
that branch: POP3 off through its dialog, the page reading "POP3 is off
on this server" with its port closed, and back on; ManageSieve off and
on for a tenant.
2026-09-27 23:17:43 -07:00