[dovecot-cvs] dovecot/src/master mail-process.c, 1.84, 1.85 master-settings.c, 1.113, 1.114 master-settings.h, 1.74, 1.75

cras at dovecot.org cras at dovecot.org
Sun Feb 26 14:16:14 EET 2006


Update of /var/lib/cvs/dovecot/src/master
In directory talvi:/tmp/cvs-serv21931/src/master

Modified Files:
	mail-process.c master-settings.c master-settings.h 
Log Message:
Replaced mail_use_modules and mail_modules settings with mail_plugins and
mail_plugin_dir. Now instead of loading all plugins from the directory,
you'll have to give a list of plugins to load. If the plugin couldn't be
loaded, the process exits instead of just ignoring the problem (this is
important with ACL plugin).



Index: mail-process.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/master/mail-process.c,v
retrieving revision 1.84
retrieving revision 1.85
diff -u -d -r1.84 -r1.85
--- mail-process.c	14 Feb 2006 17:43:05 -0000	1.84
+++ mail-process.c	26 Feb 2006 12:16:08 -0000	1.85
@@ -258,10 +258,9 @@
 	env_put(t_strdup_printf("MBOX_MIN_INDEX_SIZE=%u",
 				set->mbox_min_index_size));
 
-	if (set->mail_use_modules &&
-	    set->mail_modules != NULL && *set->mail_modules != '\0') {
-		env_put(t_strconcat("MODULE_DIR=",
-				    set->mail_modules, NULL));
+	if (*set->mail_plugins != '\0') {
+		env_put(t_strconcat("MODULE_DIR=", set->mail_plugin_dir, NULL));
+		env_put(t_strconcat("MODULE_LIST=", set->mail_plugins, NULL));
 	}
 
 	/* user given environment - may be malicious. virtual_user comes from

Index: master-settings.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/master/master-settings.c,v
retrieving revision 1.113
retrieving revision 1.114
diff -u -d -r1.113 -r1.114
--- master-settings.c	20 Feb 2006 13:15:03 -0000	1.113
+++ master-settings.c	26 Feb 2006 12:16:08 -0000	1.114
@@ -132,8 +132,8 @@
 
 	DEF(SET_STR, mail_executable),
 	DEF(SET_INT, mail_process_size),
-	DEF(SET_BOOL, mail_use_modules),
-	DEF(SET_STR, mail_modules),
+	DEF(SET_STR, mail_plugins),
+	DEF(SET_STR, mail_plugin_dir),
 	DEF(SET_STR, mail_log_prefix),
 
 	/* imap */
@@ -337,8 +337,8 @@
 
 	MEMBER(mail_executable) PKG_LIBEXECDIR"/imap",
 	MEMBER(mail_process_size) 256,
-	MEMBER(mail_use_modules) FALSE,
-	MEMBER(mail_modules) MODULEDIR"/imap",
+	MEMBER(mail_plugins) "",
+	MEMBER(mail_plugin_dir) MODULEDIR"/imap",
 	MEMBER(mail_log_prefix) "%Us(%u): ",
 
 	/* imap */
@@ -578,16 +578,17 @@
 	}
 
 #ifdef HAVE_MODULES
-	if (set->mail_use_modules &&
-	    access(set->mail_modules, R_OK | X_OK) < 0) {
+	if (*set->mail_plugins != '\0' &&
+	    access(set->mail_plugin_dir, R_OK | X_OK) < 0) {
 		i_error("Can't access mail module directory: %s: %m",
-			set->mail_modules);
+			set->mail_plugin_dir);
 		return FALSE;
 	}
 #else
-	if (set->mail_use_modules) {
-		i_warning("Module support wasn't built into Dovecot, "
-			  "ignoring mail_use_modules setting");
+	if (*set->mail_plugins != '\0') {
+		i_error("Module support wasn't built into Dovecot, "
+			"can't load modules: %s", set->mail_plugins);
+		return FALSE;
 	}
 #endif
 
@@ -985,13 +986,13 @@
 	server->imap->protocol = MAIL_PROTOCOL_IMAP;
 	server->imap->login_executable = PKG_LIBEXECDIR"/imap-login";
 	server->imap->mail_executable = PKG_LIBEXECDIR"/imap";
-	server->imap->mail_modules = MODULEDIR"/imap";
+	server->imap->mail_plugin_dir = MODULEDIR"/imap";
 
 	server->pop3->server = server;
 	server->pop3->protocol = MAIL_PROTOCOL_POP3;
 	server->pop3->login_executable = PKG_LIBEXECDIR"/pop3-login";
 	server->pop3->mail_executable = PKG_LIBEXECDIR"/pop3";
-	server->pop3->mail_modules = MODULEDIR"/pop3";
+	server->pop3->mail_plugin_dir = MODULEDIR"/pop3";
 
 	return server;
 }

Index: master-settings.h
===================================================================
RCS file: /var/lib/cvs/dovecot/src/master/master-settings.h,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- master-settings.h	20 Feb 2006 13:15:03 -0000	1.74
+++ master-settings.h	26 Feb 2006 12:16:08 -0000	1.75
@@ -95,8 +95,8 @@
 
 	const char *mail_executable;
 	unsigned int mail_process_size;
-	bool mail_use_modules;
-	const char *mail_modules;
+	const char *mail_plugins;
+	const char *mail_plugin_dir;
 	const char *mail_log_prefix;
 
 	/* imap */



More information about the dovecot-cvs mailing list