Put file-creating fopen() calls in content-scanning code in a wrapper
[users/jgh/exim.git] / doc / doc-txt / README.SIEVE
index 1c8a0ebc936559130164026a338436f89cf45c98..9209dac884fd939148b16526fafcb6d418142593 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.7 2005/08/30 10:55:52 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.9 2005/11/21 10:09:13 ph10 Exp $
 
               Notes on the Sieve implementation for Exim
 
 
               Notes on the Sieve implementation for Exim
 
@@ -23,7 +23,7 @@ Exim Implementation
 The Exim Sieve implementation offers the core as defined by draft
 3028bis-4 (next version of RFC 3028 that fixes specification mistakes),
 the "envelope" (3028bis), the "fileinto" (3028bis), the "copy" (RFC 3894)
 The Exim Sieve implementation offers the core as defined by draft
 3028bis-4 (next version of RFC 3028 that fixes specification mistakes),
 the "envelope" (3028bis), the "fileinto" (3028bis), the "copy" (RFC 3894)
-and the "vacation" (draft-ietf-sieve-vacation-02.txt) extension, the
+and the "vacation" (draft-ietf-sieve-vacation-04.txt) extension, the
 "i;ascii-numeric" comparator (RFC 2244).
 
 The Sieve filter is integrated in Exim and works very similar to the
 "i;ascii-numeric" comparator (RFC 2244).
 
 The Sieve filter is integrated in Exim and works very similar to the
@@ -120,6 +120,9 @@ Sieve script errors currently cause that messages are silently filed into
 This may be implemented in future by adding a header line to mails that
 are filed into "inbox" due to an error in the filter.
 
 This may be implemented in future by adding a header line to mails that
 are filed into "inbox" due to an error in the filter.
 
+The automatic replies generated by "vacation" do not contain an updated
+"references" header field.
+
 
 Semantics Of Keep
 
 
 Semantics Of Keep
 
@@ -129,7 +132,7 @@ implicit keep flag; there is no command to set it once it has
 been reset.
 
 
 been reset.
 
 
-Semantics of Fileinto
+Semantics Of Fileinto
 
 RFC 3028 does not specify if "fileinto" tries to create a mail folder,
 in case it does not exist.  This implementation allows to configure
 
 RFC 3028 does not specify if "fileinto" tries to create a mail folder,
 in case it does not exist.  This implementation allows to configure
@@ -138,7 +141,35 @@ that aspect using the appendfile transport options "create_directory",
 the Exim specification for details.
 
 
 the Exim specification for details.
 
 
-Sieve Syntax and Semantics
+Allof And Anyof Test
+
+RFC 3028 does not specify if these tests use shortcut/lazy evaluation.
+Exim uses shortcut evaluation.
+
+
+Action Reordering
+
+RFC 3028 does not specify if actions may be executed out of order.
+Exim may execute them out of order, e.g. messages may be filed to
+folders or forwarded in a different order than specified, because
+those actions only setup delivery, but do not execute it themselves.
+
+
+Wildcard Matching
+
+RFC 3028 is not exactly clear if comparators act on unicode characters
+or on octets containing their UTF-8 representation.  As it turns out,
+many implementations go the second way.  This does not make a difference
+but for wildcard matching and octet-wise comparison.  Working on unicode
+means a dot matches a character.  Working on UTF-8 means the dot matches
+a single octet of a multi-octet sequence.  For octet-wise comparisons,
+working on UTF-8 means arbitrary byte sequences in headers can not be
+matches, as they are rarely correct UTF-8 sequences and can thus not be
+expressed as string literal.  This implementation works on unicode, but
+this may be changed in case RFC3028bis specifies this issue safe and sound.
+
+
+Sieve Syntax And Semantics
 
 RFC 3028 confuses syntax and semantics sometimes.  It uses a generic
 grammar as syntax for commands and tests and performs many checks during
 
 RFC 3028 confuses syntax and semantics sometimes.  It uses a generic
 grammar as syntax for commands and tests and performs many checks during