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