dovecot-2.0: mbox: Fail at startup if service doesn't have clien...

dovecot at dovecot.org dovecot at dovecot.org
Thu Feb 18 07:13:31 EET 2010


details:   http://hg.dovecot.org/dovecot-2.0/rev/28c3486864f6
changeset: 10746:28c3486864f6
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Feb 18 07:13:29 2010 +0200
description:
mbox: Fail at startup if service doesn't have client_limit=1.

diffstat:

 src/lib-storage/index/mbox/Makefile.am    |  1 +
 src/lib-storage/index/mbox/mbox-storage.c |  9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

diffs (41 lines):

diff -r 5284f3662431 -r 28c3486864f6 src/lib-storage/index/mbox/Makefile.am
--- a/src/lib-storage/index/mbox/Makefile.am	Thu Feb 18 07:06:42 2010 +0200
+++ b/src/lib-storage/index/mbox/Makefile.am	Thu Feb 18 07:13:29 2010 +0200
@@ -3,6 +3,7 @@
 AM_CPPFLAGS = \
 	-I$(top_srcdir)/src/lib \
 	-I$(top_srcdir)/src/lib-settings \
+	-I$(top_srcdir)/src/lib-master \
 	-I$(top_srcdir)/src/lib-mail \
 	-I$(top_srcdir)/src/lib-imap \
 	-I$(top_srcdir)/src/lib-index \
diff -r 5284f3662431 -r 28c3486864f6 src/lib-storage/index/mbox/mbox-storage.c
--- a/src/lib-storage/index/mbox/mbox-storage.c	Thu Feb 18 07:06:42 2010 +0200
+++ b/src/lib-storage/index/mbox/mbox-storage.c	Thu Feb 18 07:13:29 2010 +0200
@@ -4,6 +4,7 @@
 #include "ioloop.h"
 #include "istream.h"
 #include "restrict-access.h"
+#include "master-service.h"
 #include "mbox-storage.h"
 #include "mbox-lock.h"
 #include "mbox-file.h"
@@ -118,11 +119,17 @@
 
 static int
 mbox_storage_create(struct mail_storage *_storage, struct mail_namespace *ns,
-		    const char **error_r ATTR_UNUSED)
+		    const char **error_r)
 {
 	struct mbox_storage *storage = (struct mbox_storage *)_storage;
 	const char *dir;
 
+	if (master_service_get_client_limit(master_service) > 1) {
+		/* we can't handle locking related problems. */
+		*error_r = "mbox requires client_limit=1 for service";
+		return -1;
+	}
+
 	storage->set = mail_storage_get_driver_settings(_storage);
 
 	dir = mailbox_list_get_path(ns->list, NULL,


More information about the dovecot-cvs mailing list