dovecot-2.0: Added default_mail_extra_groups setting. imap/pop3/...

dovecot at dovecot.org dovecot at dovecot.org
Fri Aug 20 20:19:58 EEST 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/2735d9afd842
changeset: 12018:2735d9afd842
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Aug 20 18:19:50 2010 +0100
description:
Added default_mail_extra_groups setting. imap/pop3/lmtp services' extra_groups defaults to it.
For now this default is empty to make sure existing installations don't break.

diffstat:

 src/imap/imap-settings.c     |   2 +-
 src/lmtp/lmtp-settings.c     |   2 +-
 src/master/master-settings.c |  11 +++++++++++
 src/master/master-settings.h |   1 +
 src/pop3/pop3-settings.c     |   2 +-
 5 files changed, 15 insertions(+), 3 deletions(-)

diffs (89 lines):

diff -r d6f387fe1275 -r 2735d9afd842 src/imap/imap-settings.c
--- a/src/imap/imap-settings.c	Fri Aug 20 18:19:04 2010 +0100
+++ b/src/imap/imap-settings.c	Fri Aug 20 18:19:50 2010 +0100
@@ -34,7 +34,7 @@
 	.user = "",
 	.group = "",
 	.privileged_group = "",
-	.extra_groups = "",
+	.extra_groups = "$default_mail_extra_groups",
 	.chroot = "",
 
 	.drop_priv_before_exec = FALSE,
diff -r d6f387fe1275 -r 2735d9afd842 src/lmtp/lmtp-settings.c
--- a/src/lmtp/lmtp-settings.c	Fri Aug 20 18:19:04 2010 +0100
+++ b/src/lmtp/lmtp-settings.c	Fri Aug 20 18:19:50 2010 +0100
@@ -33,7 +33,7 @@
 	.user = "",
 	.group = "",
 	.privileged_group = "",
-	.extra_groups = "",
+	.extra_groups = "$default_mail_extra_groups",
 	.chroot = "",
 
 	.drop_priv_before_exec = FALSE,
diff -r d6f387fe1275 -r 2735d9afd842 src/master/master-settings.c
--- a/src/master/master-settings.c	Fri Aug 20 18:19:04 2010 +0100
+++ b/src/master/master-settings.c	Fri Aug 20 18:19:50 2010 +0100
@@ -175,6 +175,7 @@
 	DEF(SET_ENUM, ssl),
 	DEF(SET_STR, default_internal_user),
 	DEF(SET_STR, default_login_user),
+	DEF(SET_STR, default_mail_extra_groups),
 	DEF(SET_UINT, default_process_limit),
 	DEF(SET_UINT, default_client_limit),
 	DEF(SET_UINT, default_idle_kill),
@@ -202,6 +203,7 @@
 	.ssl = "yes:no:required",
 	.default_internal_user = "dovecot",
 	.default_login_user = "dovenull",
+	.default_mail_extra_groups = "",
 	.default_process_limit = 100,
 	.default_client_limit = 1000,
 	.default_idle_kill = 60,
@@ -257,6 +259,14 @@
 }
 
 static void
+expand_group(const char **group, const struct master_settings *set)
+{
+	/* same reason as expand_user() */
+	if (strcmp(*group, "$default_mail_extra_groups") == 0)
+		*group = set->default_mail_extra_groups;
+}
+
+static void
 fix_file_listener_paths(ARRAY_TYPE(file_listener_settings) *l,
 			pool_t pool, const struct master_settings *master_set,
 			ARRAY_TYPE(const_string) *all_listeners)
@@ -409,6 +419,7 @@
 			}
 		}
 		expand_user(&service->user, &service->user_default, set);
+		expand_group(&service->extra_groups, set);
 		service_set_login_dump_core(service);
 	}
 	set->protocols_split = p_strsplit_spaces(pool, set->protocols, " ");
diff -r d6f387fe1275 -r 2735d9afd842 src/master/master-settings.h
--- a/src/master/master-settings.h	Fri Aug 20 18:19:04 2010 +0100
+++ b/src/master/master-settings.h	Fri Aug 20 18:19:50 2010 +0100
@@ -11,6 +11,7 @@
 	const char *ssl;
 	const char *default_internal_user;
 	const char *default_login_user;
+	const char *default_mail_extra_groups;
 	unsigned int default_process_limit;
 	unsigned int default_client_limit;
 	unsigned int default_idle_kill;
diff -r d6f387fe1275 -r 2735d9afd842 src/pop3/pop3-settings.c
--- a/src/pop3/pop3-settings.c	Fri Aug 20 18:19:04 2010 +0100
+++ b/src/pop3/pop3-settings.c	Fri Aug 20 18:19:50 2010 +0100
@@ -34,7 +34,7 @@
 	.user = "",
 	.group = "",
 	.privileged_group = "",
-	.extra_groups = "",
+	.extra_groups = "$default_mail_extra_groups",
 	.chroot = "",
 
 	.drop_priv_before_exec = FALSE,


More information about the dovecot-cvs mailing list