MBOX-Line: From gilles.lamiral at laposte.net Sat Aug 10 14:05:58 2013 To: imap-protocol@u.washington.edu From: Gilles LAMIRAL Date: Fri Jun 8 12:34:51 2018 Subject: [Imap-protocol] PERMANENTFLAGS \* and server behavior with \ANYFOO flag. Message-ID: <5206AB36.7080808@laposte.net> Hello, I would like a precision on the behavior to follow with PERMANENTFLAGS with \* and flags like \FOO For example, Zimbra imap server can have this PERMANENTFLAGS list: OK [PERMANENTFLAGS (\Answered \Deleted \Draft \Flagged \Seen $Forwarded $MDNSent Forwarded NULL \*)] junk-related flags are not permanent" So Zimbra honors the \* flags meaning any new keyword creation is allowed. But a client command like the following APPEND INBOX (\Seen \ATTACHED) "03-Jul-2013 15:02:40 -0400" {51806}': generates an error from Zimbra BAD parse error: invalid flag: \ATTACHED I understand \ATTACHED is not a keyword, it is a \flag, but rising an error here seems not correct since the RFC says: "If the client attempts to STORE a flag that is not in the PERMANENTFLAGS list, the server will either ignore the change or store the state change for the remainder of the current session only." So the RFC asks "the server will either ignore or store for current session only." Ignoring is not raising an error like "BAD ...", as does Zimbra. And will is shall, shall is must in RFC vocabulary: http://www.ietf.org/rfc/rfc2119.txt What do other imap servers do? Are there servers accepting \ANYFOO flag? From a migration point of view (imapsync), does the migrate tool have to filter flags like \FOO or should it try to sync it? Thanks in advance. IMAP RFC http://tools.ietf.org/html/rfc3501 full quote of PERMANENTFLAGS PERMANENTFLAGS Followed by a parenthesized list of flags, indicates which of the known flags the client can change permanently. Any flags that are in the FLAGS untagged response, but not the PERMANENTFLAGS list, can not be set permanently. If the client attempts to STORE a flag that is not in the PERMANENTFLAGS list, the server will either ignore the change or store the state change for the remainder of the current session only. The PERMANENTFLAGS list can also include the special flag \*, which indicates that it is possible to create new keywords by attempting to store those flags in the mailbox. -- Au revoir, 09 51 84 42 42 Gilles Lamiral. France, Baulon (35580) 06 20 79 76 06