Remove broken code in exim.h that tried to preserve EX_OK when it was
[exim.git] / doc / doc-txt / README.SIEVE
index 4d04851e16b9cebc28716ac904be6390b1febedb..04383f6e596e739d4373ddaee7b578e727d582e6 100644 (file)
@@ -1,4 +1,4 @@
-$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.1 2004/10/07 15:04:35 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.4 2005/05/03 10:02:27 ph10 Exp $
 
               Notes on the Sieve implementation for Exim
 
@@ -22,7 +22,7 @@ Exim Implementation
 
 The Exim Sieve implementation offers the core as defined by RFC 3028, the
 "envelope" (RFC 3028), the "fileinto" (RFC 3028), the "copy" (RFC 3894)
-and the "vacation" (draft-showalter-sieve-vacation-05.txt) extension,
+and the "vacation" (draft-ietf-sieve-vacation-01.txt) extension,
 the "i;ascii-numeric" comparator, but not the "reject" extension.
 Exim does not support MDMs, so adding it just to the sieve filter makes
 little sense.
@@ -114,13 +114,14 @@ 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.
 
 
-Strings Containing Header Names
+Strings Containing Header Names Or Envelope Elements
 
 RFC 3028 does not specify what happens if a string denoting a header
-field does not contain a valid header name, e.g. it contains a colon.
+field or envelope element does not contain a valid name, e.g. it
+contains a colon for a header or it is not "from" or "to" for envelopes.
 This implementation generates an error instead of ignoring the header
-field in order to ease script debugging, which fits in the common
-picture of Sieve.
+field in order to ease script debugging, which fits in the common picture
+of Sieve.
 
 
 Header Test With Invalid MIME Encoding In Header
@@ -337,22 +338,23 @@ extension.
 
   vacation-command =  "vacation" { vacation-options } <reason: string>
   vacation-options =  [":days" number]
-                      [":addresses" string-list]
                       [":subject" string]
+                      [":from" string]
+                      [":addresses" string-list]
                       [":mime"]
+                      [":handle" string]
   command          =/ vacation-command
 
 
 Semantics Of ":mime"
 
-RFC 3028 does not specify how strings using MIME parts are used to compose
-messages.  The vacation draft refers to RFC 3028 and does not specify it
-either.  As a result, different implementations generate different mails.
-The Exim Sieve implementation splits the reason into header and body.
-It adds the header to the mail header and uses the body as mail body.
-Be aware, that other imlementations compose a multipart structure with
-the reason as only part.  Both conform to the specification (or lack
-thereof).
+The draft does not specify how strings using MIME entities are used
+to compose messages.  As a result, different implementations generate
+different mails.  The Exim Sieve implementation splits the reason into
+header and body.  It adds the header to the mail header and uses the body
+as mail body.  Be aware, that other imlementations compose a multipart
+structure with the reason as only part.  Both conform to the specification
+(or lack thereof).
 
 
 Semantics Of Not Using ":mime"
@@ -363,12 +365,6 @@ is not required by the vacation draft, which does not specify how
 the UTF-8 reason is processed to compose the resulting message.
 
 
-Envelope Sender
-
-The vacation draft does not specify the envelope sender.  This
-implementation uses the empty envelope sender to prevent mail loops.
-
-
 Default Subject
 
 The draft specifies that the default message subject is "Re: "
@@ -383,30 +379,15 @@ to subscribe a third party to any mailing list, either to annoy
 the user or to declare spam as legitimate mail by proving to
 use opt-in.  The draft specifies to use "Re: " in front of the
 subject, but this implementation uses "Auto: ", as suggested in
-the current draft concerning automatic mail responses.
+RFC 3834, section 3.1.5.
 
 
 Rate Limiting Responses
 
-The draft says:
-
-     Vacation responses are not just per address, but are per address
-     per vacation command.
-
-This is badly worded, because commands are not enumerated.  It meant
-to say:
-
-     Vacation responses are not just per address, but are per address
-     per reason string and per specified subject and ":mime" option.
-
-Existing implementations work that way and it makes more sense, too.
-Including the ":mime" option is mostly for correctness, as the reason
-strings with and without this option are rarely equal.
-
-This implementation hashes the reason, specified subject and ":mime"
-option and uses the hex string representation as filename within the
-"sieve_vacation_directory" to store the recipient addresses for this
-vacation parameter set.
+In absence of a handle, this implementation hashes the reason,
+":subject" option, ":mime" option and ":from" option and uses the hex
+string representation as filename within the "sieve_vacation_directory"
+to store the recipient addresses for this vacation parameter set.
 
 The draft specifies that sites may define a minimum ":days" value than 1.
 This implementation uses 1.  The maximum value MUST greater than 7,