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