X-Git-Url: https://git.exim.org/users/jgh/exim.git/blobdiff_plain/495ae4b01f36d0d8bb0e34a1d7263c2b8224aa4a..7d50add39dc49d96962759c4376004cd2280ebe6:/doc/doc-txt/README.SIEVE diff --git a/doc/doc-txt/README.SIEVE b/doc/doc-txt/README.SIEVE index 4d04851e1..04383f6e5 100644 --- a/doc/doc-txt/README.SIEVE +++ b/doc/doc-txt/README.SIEVE @@ -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 } 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,