Here's a snippet of a transaction between a client and the Cyrus server 
(sorry, I don't know the version - this was reported by a customer):

-------------------------- Cut here ----------------------------
13:33:00.687 << 0023 A28 STORE 16 FLAGS ()\0D\0A
13:33:00.687 >> 0045 A28 BAD Invalid flag name  in Store command\0D\0A
-------------------------- Cut here ----------------------------

Now, leaving aside any issues with the aim of the command, is my 
reading of RFC2060 correct that the command is legal as shown?

I believe the relevant EBNF is:

-------------------------- Cut here ----------------------------
store           ::= "STORE" SPACE set SPACE store_att_flags

store_att_flags ::= (["+" / "-"] "FLAGS" [".SILENT"]) SPACE
                    (flag_list / #flag)

flag_list       ::= "(" #flag ")"
-------------------------- Cut here ----------------------------

To me, this reads that any parenthesized list of zero or more flags is a 
legitimate parameter to the command.

If this command *is* legal, then it seems to me that Cyrus shouldn't be 
returning a BAD response - but I wanted to make sure that I'm not 
misunderstanding the BNF or that this hasn't been subsequently 
amended before passing it on to the developers.

Could I seek guidance from the mighty on this?

Cheers!

-- David --

------------------ David Harris -+- Pegasus Mail ----------------------
  Box 5451, Dunedin, New Zealand | e-mail: [EMAIL PROTECTED]
           Phone: +64 3 453-6880 | Fax: +64 3 453-6612

Thought for the day:
    Remember, even if you win the rat race - you're still a rat.



-- 
-----------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/imap/imap-list.html
-----------------------------------------------------------------

Reply via email to