dovecot-2.0-pigeonhole: Deprecated imapflags extension: fixed im...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Thu Jan 28 10:38:49 EET 2010


details:   http://hg.rename-it.nl/dovecot-2.0-pigeonhole/rev/c4bc236883d2
changeset: 1225:c4bc236883d2
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 d37fd9e2563f -r c4bc236883d2 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.c	Thu Jan 28 09:20:28 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 d37fd9e2563f -r c4bc236883d2 src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags-common.h	Thu Jan 28 09:20:28 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 d37fd9e2563f -r c4bc236883d2 src/lib-sieve/plugins/imap4flags/ext-imap4flags.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imap4flags.c	Thu Jan 28 09:20:28 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 d37fd9e2563f -r c4bc236883d2 src/lib-sieve/plugins/imap4flags/ext-imapflags.c
--- a/src/lib-sieve/plugins/imap4flags/ext-imapflags.c	Thu Jan 28 09:20:28 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