Gray, Eric wrote:

--- [SNIP] ---

--> My answers are below, please let me know if you have any --> further questions. --> --> >Questions/Comments:
--> >==================
--> >
--> > In section 2.1, you say that spaces are acceptable (MUST --> > be always allowed) in flag names. You also say that a --> > string containing a space-separated list of flags (I --> > assume flags in this context is the same as flag names) --> > is the same as "a string list consisting of the flags."
--> >
--> > I am not sure what this means,
--> >
--> A string list is denoted using ["value1", ..., "valueN"] --> notation in Sieve. It is a "list of strings" in usual --> programming language sense. --> --> So the text is basically saying that "value1 value 2 ... --> valueN" is the same as ["value1", "value2", ..., "valueN"] --> --> > but it seems to say that we MUST allow spaces as valid --> > both as part of a flag name and as a separator between --> > flag names. --> > --> > --> IMAP flags/keywords are not allowed to contain spaces --> according to RFC 3501.

Although I understand what you mean by string list, now, I am still not able to make complete sense of this.

In the third paragraph of section 2.1, you say -
After reading your comments below I think I understand why you are confused now. Flag is just a named boolean variable, it is either set or not. So when I write "flag" and "flag name" I mean the same thing.

"The Sieve interpreter SHOULD check the list of flags for validity as described by [IMAP] ABNF. In particular non-ASCII characters are not allowed in flag names. However spaces MUST be always allowed."
I think the last sentence is the cause of your confusion. Spaces are not allowed in flag names according to RFC 3501, but that draft wants to allow spaces in a string describing list of flags (Remember, for this extension ["flag1", "flag2"] is the same as "flag1 flag2" or "flag2 flag1"). So, how about rewriting the original paragraph:

  The Sieve interpreter SHOULD check the list of flags for validity as
  described by [IMAP] ABNF. In particular non-ASCII characters are not
  allowed in flag names. However spaces MUST be always allowed.
  Multiple spaces between flag names MUST be treated as a single space
  character, leading and trailing spaces MUST be ignored.
  A string containing a space-separated list of flags is equivalent to
  a string list consisting of the flags. The last requirement is to
  simplify amalgamation of multiple flag lists.

to read:

  A string containing a space-separated list of flag names is equivalent
  to a string list consisting of the flags. This requirement is to
  simplify amalgamation of multiple flag lists.

  The Sieve interpreter SHOULD check the list of flags for validity as
  described by [IMAP] ABNF. In particular according to [IMAP] non-ASCII
  characters are not allowed in flag names. However spaces MUST be always
  allowed in strings representing a list of flags. In such strings multiple
  spaces between flag names MUST be treated as a single space
  character, leading and trailing spaces MUST be ignored.
?

However, above you say - "IMAP flags/keywords are not allowed to contain spaces according to RFC 3501."
The only way I can reconcile these two statements is by assuming
that "flags" is not the same as "flag names".  This is precisely
the opposite of what I said I was assuming in asking my question
above (I said "I assume flags in this context is the same as flag names").

From your answer above, it seems that by "flags", you may mean
"flag values" as opposed to "flag names" as I had assumed.  Is
it possible for you to be more specific, or is it just assumed that anyone reading this specification would already know what these terms mean?
The expectation is that anybody reading the document is already familiar with IMAP.

-->

--- [SNIP] ---

--> --> >Also - are all of the values, in the section 4 examples, --> valid flag-names? --> > --> > --> Yes. IMAP allows for any alpha-numeric value to be used as --> a keyword name.

What has me confused here is that the IMAP reference (RFC 3501)
says the following:

'All system flags begin with "\".'
There are two types of flags: system flags and keywords. System flags (flag names) start with \ and are defined by RFC 3501.
Several system flags can trigger special server behavior.
Keywords are any other flags not starting with \. An IMAP client can set any keyword on an IMAP server, however it is not possible to set a flag starting with \ which is not defined in RFC 3501. Apart from that there is no real difference between system flags and keywords.
(This is just a rewording of Section 2.3.2 from RFC 3501)

Does this help to clarify things?

Does that mean that the flag-names here are not "system flags",
or does it mean that the examples list "flag values" and not "flag names"?


_______________________________________________
Gen-art mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/gen-art

Reply via email to