Brings our OBJECTID+ support in line with draft-ietf-mailmaint-imap-objectid-bis-08, as promised on the mailmaint list. LIST now takes the OBJECTID return option, and SELECT/EXAMINE by identifier follows -08's matching rules. A MAILBOXID on its own means the personal account, and a mailbox the user can't read falls back to the name instead of answering NO [NOPERM], which used to give away that it existed.
New checks are in the IMAP suite, which passes; I confirmed both SELECT checks fail on main. Two older quirks turned up while writing them, left for separate fixes: SETACL right after CREATE in the same session says the mailbox doesn't exist (the session's mailbox list isn't refreshed), and deleting a shared mailbox without revoking leaves the owner's empty prefix in the sharee's LIST.
Brings our OBJECTID+ support in line with draft-ietf-mailmaint-imap-objectid-bis-08, as promised on the mailmaint list. LIST now takes the OBJECTID return option, and SELECT/EXAMINE by identifier follows -08's matching rules. A MAILBOXID on its own means the personal account, and a mailbox the user can't read falls back to the name instead of answering NO [NOPERM], which used to give away that it existed.
New checks are in the IMAP suite, which passes; I confirmed both SELECT checks fail on main. Two older quirks turned up while writing them, left for separate fixes: SETACL right after CREATE in the same session says the mailbox doesn't exist (the session's mailbox list isn't refreshed), and deleting a shared mailbox without revoking leaves the owner's empty prefix in the sharee's LIST.
LIST gains the OBJECTID return option: every name carries an "OBJECTID"
extended item (the empty one for names that aren't mailboxes), and asking
for it, or for STATUS (OBJECTID) inside LIST, activates OBJECTID+.
SELECT/EXAMINE by identifier now follows rev 08's matching rules: a
MAILBOXID without an ACCOUNTID means the personal account, an identifier
that can't be decoded matches nothing, and a mailbox the user may not read
is never matched by identifier. Selection falls back to the name instead of
answering NO [NOPERM], which told the client the mailbox existed.
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.
Brings our OBJECTID+ support in line with draft-ietf-mailmaint-imap-objectid-bis-08, as promised on the mailmaint list. LIST now takes the OBJECTID return option, and SELECT/EXAMINE by identifier follows -08's matching rules. A MAILBOXID on its own means the personal account, and a mailbox the user can't read falls back to the name instead of answering NO [NOPERM], which used to give away that it existed.
New checks are in the IMAP suite, which passes; I confirmed both SELECT checks fail on main. Two older quirks turned up while writing them, left for separate fixes: SETACL right after CREATE in the same session says the mailbox doesn't exist (the session's mailbox list isn't refreshed), and deleting a shared mailbox without revoking leaves the owner's empty prefix in the sharee's LIST.