dovecot-2.2-pigeonhole: doveadm-sieve: Prevented initializing th...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Wed Apr 3 01:08:11 EEST 2013


details:   http://hg.rename-it.nl/dovecot-2.2-pigeonhole/rev/097d68a9dd32
changeset: 1737:097d68a9dd32
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Wed Apr 03 00:08:05 2013 +0200
description:
doveadm-sieve: Prevented initializing the Sieve storage multiple times.

diffstat:

 src/plugins/doveadm-sieve/doveadm-sieve-plugin.c |  9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diffs (22 lines):

diff -r 0dffac42192b -r 097d68a9dd32 src/plugins/doveadm-sieve/doveadm-sieve-plugin.c
--- a/src/plugins/doveadm-sieve/doveadm-sieve-plugin.c	Tue Apr 02 23:14:37 2013 +0200
+++ b/src/plugins/doveadm-sieve/doveadm-sieve-plugin.c	Wed Apr 03 00:08:05 2013 +0200
@@ -83,11 +83,16 @@
 mail_sieve_user_init
 (struct mail_user *user, struct sieve_storage **svstorage_r)
 {
-	/* delayed initialization of sieve storage until it's actually needed */
+	struct sieve_mail_user *suser = SIEVE_USER_CONTEXT(user);
 	struct mail_user_vfuncs *v = user->vlast;
 	struct sieve_environment svenv;
-	struct sieve_mail_user *suser;
 
+	if (suser != NULL) {
+		*svstorage_r = suser->sieve_storage;
+		return 0;	
+	}
+
+	/* Delayed initialization of sieve storage until it's actually needed */
 	memset(&svenv, 0, sizeof(svenv));
 	svenv.username = user->username;
 	(void)mail_user_get_home(user, &svenv.home_dir);


More information about the dovecot-cvs mailing list