dovecot-1.2-sieve: Deprecated imapflags extension: fixed implici...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Jan 27 21:07:16 EET 2010


details:   http://hg.rename-it.nl/dovecot-1.2-sieve/rev/a890258aa5a9
changeset: 1233:a890258aa5a9
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Jan 27 19:02:12 2010 +0100
description:
Deprecated imapflags extension: fixed implicit assignment of flags.

diffstat:

 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c |  10 ++++++----
 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h |   2 +-
 src/lib-sieve/plugins/imap4flags/ext-imap4flags.c        |   7 ++++---
 src/lib-sieve/plugins/imap4flags/ext-imapflags.c         |   4 ++++
 4 files changed, 15 insertions(+), 8 deletions(-)

diffs (69 lines):

diff -r 5acef9a7cebe -r a890258aa5a9 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c	Tue Jan 26 01:02:08 2010 +0100
+++ b/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c	Wed Jan 27 19:02:12 2010 +0100
@@ -149,16 +149,18 @@
 
 void ext_imap4flags_attach_flags_tag
 (struct sieve_validator *valdtr, const struct sieve_extension *ext,
-	const char *command)
+	const char *command, bool implicit)
 {
 	/* Register :flags tag with the command and we don't care whether it is 
 	 * registered or even whether it will be registered at all. The validator 
 	 * handles either situation gracefully 
 	 */
 	 
-	/* Tag specified by user */
-	sieve_validator_register_external_tag
-		(valdtr, command, ext, &tag_flags, SIEVE_OPT_SIDE_EFFECT);
+	if ( !implicit ) {
+		/* Tag specified by user */
+		sieve_validator_register_external_tag
+			(valdtr, command, ext, &tag_flags, SIEVE_OPT_SIDE_EFFECT);
+	}
 
     /* Implicit tag if none is specified */
 	sieve_validator_register_persistent_tag
diff -r 5acef9a7cebe -r a890258aa5a9 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h	Tue Jan 26 01:02:08 2010 +0100
+++ b/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h	Wed Jan 27 19:02:12 2010 +0100
@@ -68,7 +68,7 @@
 	
 void ext_imap4flags_attach_flags_tag
 	(struct sieve_validator *valdtr, const struct sieve_extension *ext,
-		const char *command);
+		const char *command, bool implicit);
 
 /* 
  * Flag management 
diff -r 5acef9a7cebe -r a890258aa5a9 src/lib-sieve/plugins/imap4flags/ext-imap4flags.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags.c	Tue Jan 26 01:02:08 2010 +0100
+++ b/src/lib-sieve/plugins/imap4flags/ext-imap4flags.c	Wed Jan 27 19:02:12 2010 +0100
@@ -67,9 +67,10 @@
 	sieve_validator_register_command(valdtr, ext, &cmd_addflag);
 	sieve_validator_register_command(valdtr, ext, &cmd_removeflag);
 	sieve_validator_register_command(valdtr, ext, &tst_hasflag);
-	
-	ext_imap4flags_attach_flags_tag(valdtr, ext, "keep");
-	ext_imap4flags_attach_flags_tag(valdtr, ext, "fileinto");
+
+	/* Attach :flags tag to keep and fileinto commands */	
+	ext_imap4flags_attach_flags_tag(valdtr, ext, "keep", FALSE);
+	ext_imap4flags_attach_flags_tag(valdtr, ext, "fileinto", FALSE);
 
 	return TRUE;
 }
diff -r 5acef9a7cebe -r a890258aa5a9 src/lib-sieve/plugins/imap4flags/ext-imapflags.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imapflags.c	Tue Jan 26 01:02:08 2010 +0100
+++ b/src/lib-sieve/plugins/imap4flags/ext-imapflags.c	Wed Jan 27 19:02:12 2010 +0100
@@ -130,6 +130,10 @@
 
 	sieve_validator_register_command(valdtr, master_ext, &cmd_mark);
 	sieve_validator_register_command(valdtr, master_ext, &cmd_unmark);	
+
+    /* Attach implicit flags tag to keep and fileinto commands */
+    ext_imap4flags_attach_flags_tag(valdtr, master_ext, "keep", TRUE);
+    ext_imap4flags_attach_flags_tag(valdtr, master_ext, "fileinto", TRUE);
 	
 	return TRUE;
 }


More information about the dovecot-cvs mailing list