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

@ -181,6 +181,7 @@ func (c *Conn) xrespCode() (string, CodeArg) {
}
c.CapAvailable = map[Capability]struct{}{}
for _, cap := range caps {
cap = strings.ToUpper(cap)
c.CapAvailable[Capability(cap)] = struct{}{}
}
codeArg = CodeWords{W, caps}
@ -343,6 +344,7 @@ func (c *Conn) xuntagged() Untagged {
}
c.CapAvailable = map[Capability]struct{}{}
for _, cap := range caps {
cap = strings.ToUpper(cap)
c.CapAvailable[Capability(cap)] = struct{}{}
}
r := UntaggedCapability(caps)
@ -356,6 +358,7 @@ func (c *Conn) xuntagged() Untagged {
caps = append(caps, c.xnonspace())
}
for _, cap := range caps {
cap = strings.ToUpper(cap)
c.CapEnabled[Capability(cap)] = struct{}{}
}
r := UntaggedEnabled(caps)