summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2007-03-21 15:15:12 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2007-03-21 15:15:12 +0000
commit84024b728b04d47480a5c033585f2173eb0df0b8 (patch)
treed76eb7db355dd8282bade1d72bb16d36316b089b /src
parent2679d413f3f22e7bbc797f4403cc4333bee0073d (diff)
Patch from the Sieve maintainer.
Diffstat (limited to 'src')
-rw-r--r--src/src/sieve.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/src/sieve.c b/src/src/sieve.c
index a1a7b8883..9dd04eee7 100644
--- a/src/src/sieve.c
+++ b/src/src/sieve.c
@@ -1,4 +1,4 @@
-/* $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 *
@@ -28,6 +28,9 @@
/* 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
@@ -58,6 +61,9 @@ struct Sieve
int keep;
int require_envelope;
int require_fileinto;
+#ifdef ENCODED_CHARACTER
+ int require_encoded_character;
+#endif
#ifdef ENVELOPE_AUTH
int require_envelope_auth;
#endif
@@ -126,6 +132,10 @@ static uschar str_fileinto_c[]="fileinto";
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 };
@@ -3058,6 +3068,9 @@ filter->line=1;
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
@@ -3130,6 +3143,9 @@ while (parse_identifier(filter,CUS "require"))
{
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