+----- On 11 Feb 1999 15:11:44 EST, Tim Showalter writes:
| --Multipart_Thu_Feb_11_15:11:43_1999-1
| Content-Type: text/plain; charset=US-ASCII
|
| Hi. This draft has some of the changes folks have asked for. Notably
| missing are the things Steve posted that I wasn't sure about, noted in
| my previous message, and anything related to multiple fileinto.
Hi
a couple of minor points.
/Michael
[...]
| 2.7.2. Comparisons across Character Sets
|
| All Sieve scripts are represented in UTF-8, but messages may involve
| a number of character sets. In order for comparisons to work across
| character sets, implementations SHOULD implement the following
| behavior:
|
| Implementations decode header charsets to UTF-8. Two strings are
| considered equal if their UTF-8 representations are identical.
| Implementations should decode charsets represented in the forms
| specified by [MIME] for both message headers and bodies.
| Implementations must be capable of decoding US-ASCII, ISO-8859-1,
| the ASCII subset of ISO-8859-* character sets, and UTF-8.
I think that ISO-8859-15 would be more appropriate than -1, it fixes
the bugs in -1 and adds the euro.
| If implementations fail to support the above behavior, they MUST
| conform to the following:
|
| No two strings containing 8-bit data can be considered equal.
I agree with what I think that you mean but shouldn't it say something
more like:
No two strings can be considered equal if either string contains octets
greater than 127.
[...]
| 2.10.3. Message Uniqueness in a Mailbox
|
| Implementations SHOULD NOT write a message to a mailbox where a copy
| of it already exists, even if a script explicitally asks for a
^^^^^^^^^^^^ explicitly
| message to be written to a mailbox twice.
|
| The test for equality of two messages is not defined by this memo.
I think that this is a little tough although of course it isn't
mandatory. Perhaps it should be mandatory for a script to not deliver
more than once to a mailbox .
[...]
[...]
| 4.7. Action require
|
|
| Syntax: require <capabilities: string-list>
|
| The require action notes that a script makes use of an certain
| extension. Such a declaration is required to use the extension, as
| discussed in section 2.10.2. Multiple capabilities can be declared
| with a single require.
|
|
| Example: require ["fileinto", "envelope"];
What should happen if a require is not satisfied? I would guess that a
required extension would be checked when the script was loaded but what
happens if an extension is removed?
[...]
| 9.1. Lexical Tokens
|
| Sieve scripts are encoded in UTF-8. The following assumes a valid
| UTF-8 encoding; special characters in Sieve scripts are all ASCII.
|
| The following are tokens in Sieve:
[...]
| multi-line = "text:" *(SP / HTAB) (comment / CRLF)
| *((1*CHAR-NOT-DOT *CHAR CRLF) / ("." 1*CHAR-NOT-DOT *CHAR
| CRLF) / (".." *CHAR CRLF) / CRLF) "." CRLF
| ;; note when used, ;; a leading ".." on a line is
| mapped to ".".
This is slightly different to the definition in 2.4.2 in that it allows
white space after the :.
[...]
| In order to prevent mail loops, an implementation MUST refuse to
| filter a message that it has already filtered once; that is, a
| message must not pass through a given server twice.
This seems excessive to me, especially as servers are becoming larger
and larger all the time. I think that mail loops would be prevented if
a message could only be kept or discarded when it had been seen twice
by the same user.