jcoffey-dev is traveling from Thursday 1 October through Sunday 4 October. Issues and pull requests are welcome, and will get an answer after that. Thanks for your patience.
Phase 2 of the audit, hold and lock work (AL-1 to AL-12).
A locked account keeps receiving mail, but:
sign-in fails as a wrong password does, on every protocol, and refresh tokens stop issuing;
open sessions end on every node (new EndSessions cluster broadcast); IMAP refuses from the next command;
Sieve forwards, vacation replies and rejections do nothing.
Delegates (up to ten; read, organize or full; optional send-as and end date) get real ACL grants on the account's mailboxes, calendars, address books and files, so every protocol honors them. Replaced rights are restored on unlock. Folders made later are granted after the create and by a daily sweep. Organize never destroys (JMAP destroy and IMAP EXPUNGE refused; Trash and Junk read-only). Send-as needs organize or full.
New inbuxa:AccountLock get/set; permissions 665-668, granted to tenant admins and superusers; tenant admins stay in their tenant.
Lock, unlock and delegate changes need a reason (AU-12) and are audited; delegate access (hourly) and writes are audited.
The JMAP session marks delegated accounts in urn:inbuxa:jmap (delegation) and sets isReadOnly for read delegates.
Schema: Compliance > Locked Accounts.
Known gap: an already signed-in POP3 or ManageSieve session runs until it disconnects.
Tests: system::account_lock on RocksDB, PostgreSQL and MySQL (includes a vacation-reply control); system, jmap, imap, webdav, scim and audit suites pass on RocksDB.
Phase 2 of the audit, hold and lock work (AL-1 to AL-12).
A locked account keeps receiving mail, but:
- sign-in fails as a wrong password does, on every protocol, and refresh tokens stop issuing;
- open sessions end on every node (new `EndSessions` cluster broadcast); IMAP refuses from the next command;
- Sieve forwards, vacation replies and rejections do nothing.
Delegates (up to ten; read, organize or full; optional send-as and end date) get real ACL grants on the account's mailboxes, calendars, address books and files, so every protocol honors them. Replaced rights are restored on unlock. Folders made later are granted after the create and by a daily sweep. Organize never destroys (JMAP destroy and IMAP EXPUNGE refused; Trash and Junk read-only). Send-as needs organize or full.
- New `inbuxa:AccountLock` get/set; permissions 665-668, granted to tenant admins and superusers; tenant admins stay in their tenant.
- Lock, unlock and delegate changes need a reason (AU-12) and are audited; delegate access (hourly) and writes are audited.
- The JMAP session marks delegated accounts in `urn:inbuxa:jmap` (`delegation`) and sets `isReadOnly` for read delegates.
- Schema: Compliance > Locked Accounts.
Known gap: an already signed-in POP3 or ManageSieve session runs until it disconnects.
Tests: `system::account_lock` on RocksDB, PostgreSQL and MySQL (includes a vacation-reply control); system, jmap, imap, webdav, scim and audit suites pass on RocksDB.
A locked account can't sign in (it fails as a wrong password does), its
sessions end on every node, refresh tokens stop working, and its Sieve
scripts forward and reply to nothing. Mail keeps arriving.
Delegates get real ACL grants on the account's mailboxes, calendars,
address books and files at read, organize or full, with the rights they
replaced restored on unlock. Folders made later are granted after the
create and in a daily sweep. Organize delegates can't destroy; send-as
needs organize or full. The JMAP session marks delegated accounts in
urn:inbuxa:jmap.
New inbuxa:AccountLock object with get/set, permissions 665-668, and a
Compliance > Locked Accounts entry in the schema. Lock, unlock and
delegate changes need a reason and are audited; delegate access and
writes are audited too (audit-hold-lock spec AL-1 to AL-12).
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.
Phase 2 of the audit, hold and lock work (AL-1 to AL-12).
A locked account keeps receiving mail, but:
EndSessionscluster broadcast); IMAP refuses from the next command;Delegates (up to ten; read, organize or full; optional send-as and end date) get real ACL grants on the account's mailboxes, calendars, address books and files, so every protocol honors them. Replaced rights are restored on unlock. Folders made later are granted after the create and by a daily sweep. Organize never destroys (JMAP destroy and IMAP EXPUNGE refused; Trash and Junk read-only). Send-as needs organize or full.
inbuxa:AccountLockget/set; permissions 665-668, granted to tenant admins and superusers; tenant admins stay in their tenant.urn:inbuxa:jmap(delegation) and setsisReadOnlyfor read delegates.Known gap: an already signed-in POP3 or ManageSieve session runs until it disconnects.
Tests:
system::account_lockon RocksDB, PostgreSQL and MySQL (includes a vacation-reply control); system, jmap, imap, webdav, scim and audit suites pass on RocksDB.