implement IMAP CREATE-SPECIAL-USE extension for the mailbox create command, part of rfc 6154

we already supported special-use flags. settable through the webmail interface,
and new accounts already got standard mailboxes with special-use flags
predefined. but now the IMAP "CREATE" command implements creating mailboxes
with special-use flags.
This commit is contained in:
Mechiel Lukkien
2025-02-19 20:39:26 +01:00
parent 7288e038e6
commit dcaa99a85c
15 changed files with 167 additions and 58 deletions

View File

@ -168,18 +168,18 @@ func TestMailbox(t *testing.T) {
acc.WithWLock(func() {
err := acc.DB.Write(ctxbg, func(tx *bstore.Tx) error {
_, _, err := acc.MailboxEnsure(tx, "Testbox", true)
_, _, err := acc.MailboxEnsure(tx, "Testbox", true, SpecialUse{})
return err
})
tcheck(t, err, "ensure mailbox exists")
err = acc.DB.Read(ctxbg, func(tx *bstore.Tx) error {
_, _, err := acc.MailboxEnsure(tx, "Testbox", true)
_, _, err := acc.MailboxEnsure(tx, "Testbox", true, SpecialUse{})
return err
})
tcheck(t, err, "ensure mailbox exists")
err = acc.DB.Write(ctxbg, func(tx *bstore.Tx) error {
_, _, err := acc.MailboxEnsure(tx, "Testbox2", false)
_, _, err := acc.MailboxEnsure(tx, "Testbox2", false, SpecialUse{})
tcheck(t, err, "create mailbox")
exists, err := acc.MailboxExists(tx, "Testbox2")