-$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.497 2007/03/21 15:10:39 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.498 2007/03/21 15:15:12 ph10 Exp $
Change log file for Exim from version 4.21
-------------------------------------------
intended to be helpful for MUAs that show only the final error to their
users.
+PH/42 Another patch from the Sieve maintainer.
+
Exim version 4.66
-----------------
-$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.10 2006/04/25 10:44:57 ph10 Exp $
+$Cambridge: exim/doc/doc-txt/README.SIEVE,v 1.11 2007/03/21 15:15:12 ph10 Exp $
Notes on the Sieve implementation for Exim
Exim Implementation
The Exim Sieve implementation offers the core as defined by
-draft-ietf-sieve-3028bis-05.txt (next version of RFC 3028 that fixes
-specification mistakes), the "envelope" test (3028bis), the "fileinto"
-action (3028bis), the "copy" action (RFC 3894), the "vacation" action
-(draft-ietf-sieve-vacation-05.txt) and the "i;ascii-numeric" comparator
-extension (RFC 2244).
+draft-ietf-sieve-3028bis-10.txt (next version of RFC 3028 that
+fixes specification mistakes), the "envelope" test (3028bis), the
+"fileinto" action (3028bis), the "copy" parameter (RFC 3894), the
+"vacation" action (draft-ietf-sieve-vacation-06), the "notify" action
+(draft-ietf-sieve-notify-06.), the "i;ascii-numeric" comparator (RFC 2244)
+and the subaddress parameter (draft-ietf-sieve-rfc3598bis-05).
The Sieve filter is integrated in Exim and works very similar to the
Exim filter: Sieve scripts are recognized by the first line containing
The draft requires that each implementation offers a global black list
of addresses that will never be replied to. Exim offers this as option
"never_mail" in the autoreply transport.
+
+
+The enotify extension
+
+The extension "enotify" is specified using the following grammar
+extension.
+
+ notify-command = "notify" { notify-options } <method: string>
+ notify-options = [":from" string]
+ [":importance" <"1" / "2" / "3">]
+ [":options" 1*(string-list / number)]
+ [":message" string]
+
+ command =/ notify-command
+
+ valid_notify_method = "valid_notify_method"
+ <notification-uris: string-list>
+
+ test =/ valid_notify_method
+
+Only the mailto URI scheme is implemented.
-/* $Cambridge: exim/src/src/sieve.c,v 1.25 2007/03/13 10:05:17 ph10 Exp $ */
+/* $Cambridge: exim/src/src/sieve.c,v 1.26 2007/03/21 15:15:12 ph10 Exp $ */
/*************************************************
* Exim - an Internet mail transport agent *
/* Undefine it for UNIX-style \n end-of-line terminators (default). */
#undef RFC_EOL
+/* Define this for development of the Sieve extension "encoded-character". */
+#undef ENCODED_CHARACTER
+
/* Define this for development of the Sieve extension "envelope-auth". */
#undef ENVELOPE_AUTH
int keep;
int require_envelope;
int require_fileinto;
+#ifdef ENCODED_CHARACTER
+ int require_encoded_character;
+#endif
#ifdef ENVELOPE_AUTH
int require_envelope_auth;
#endif
static const struct String str_fileinto={ str_fileinto_c, 8 };
static uschar str_envelope_c[]="envelope";
static const struct String str_envelope={ str_envelope_c, 8 };
+#ifdef ENCODED_CHARACTER
+static uschar str_encoded_character_c[]="encoded-character";
+static const struct String str_encoded_character={ str_encoded_character_c, 17 };
+#endif
#ifdef ENVELOPE_AUTH
static uschar str_envelope_auth_c[]="envelope-auth";
static const struct String str_envelope_auth={ str_envelope_auth_c, 13 };
filter->keep=1;
filter->require_envelope=0;
filter->require_fileinto=0;
+#ifdef ENCODED_CHARACTER
+filter->require_encoded_character=0;
+#endif
#ifdef ENVELOPE_AUTH
filter->require_envelope_auth=0;
#endif
{
if (eq_octet(check,&str_envelope,0)) filter->require_envelope=1;
else if (eq_octet(check,&str_fileinto,0)) filter->require_fileinto=1;
+#ifdef ENCODED_CHARACTER
+ else if (eq_octet(check,&str_encoded_character,0)) filter->require_encoded_character=1;
+#endif
#ifdef ENVELOPE_AUTH
else if (eq_octet(check,&str_envelope_auth,0)) filter->require_envelope_auth=1;
#endif