dovecot-2.0-pigeonhole: ManageSieve: check for DUMP_CAPABILITY=1...

pigeonhole at rename-it.nl pigeonhole at rename-it.nl
Sat Jul 3 18:04:11 EEST 2010


details:   http://hg.rename-it.nl/dovecot-2.0-pigeonhole/rev/691d7154fd49
changeset: 1307:691d7154fd49
user:      Stephan Bosch <stephan at rename-it.nl>
date:      Sat Jul 03 17:04:06 2010 +0200
description:
ManageSieve: check for DUMP_CAPABILITY=1 before executing dump capability to prevent infinite recursion.

diffstat:

 src/managesieve-login/managesieve-login-settings-plugin.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (34 lines):

diff -r 0ef3f34117ae -r 691d7154fd49 src/managesieve-login/managesieve-login-settings-plugin.c
--- a/src/managesieve-login/managesieve-login-settings-plugin.c	Sat Jul 03 16:27:33 2010 +0200
+++ b/src/managesieve-login/managesieve-login-settings-plugin.c	Sat Jul 03 17:04:06 2010 +0200
@@ -15,6 +15,7 @@
 #include <unistd.h>
 #include <sys/wait.h>
 #include <sysexits.h>
+#include <stdlib.h>
 
 typedef enum { CAP_SIEVE, CAP_NOTIFY } capability_type_t;
 
@@ -105,6 +106,9 @@
 	unsigned int pos;
 	pid_t pid;
 
+	if ( getenv("DUMP_CAPABILITY") != NULL )
+		return TRUE;
+
 	if ( pipe(fd) < 0 ) {
 		i_error("managesieve-login: dump-capability pipe() failed: %m");
 		return FALSE;
@@ -196,11 +200,9 @@
 		}
 	}
 
-/*	Currently fails and makes doveconf go berserk 
-
 	if ( capability_sieve != NULL )
 		managesieve_login_config_set(ctx, "managesieve_sieve_capability", capability_sieve);
 
 	if ( capability_notify != NULL )
-		managesieve_login_config_set(ctx, "managesieve_notify_capability", capability_notify);*/
+		managesieve_login_config_set(ctx, "managesieve_notify_capability", capability_notify);
 }


More information about the dovecot-cvs mailing list