From: Timo Sirainen Date: Thu, 18 Feb 2010 05:13:29 +0000 (+0200) Subject: mbox: Fail at startup if service doesn't have client_limit=1. X-Git-Tag: 2.0.beta3~52 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40ed525986a7674d62c33ba8c7d573eb5e5e56b7;p=thirdparty%2Fdovecot%2Fcore.git mbox: Fail at startup if service doesn't have client_limit=1. --HG-- branch : HEAD --- diff --git a/src/lib-storage/index/mbox/Makefile.am b/src/lib-storage/index/mbox/Makefile.am index a69b2722ae..7d4c842e6a 100644 --- a/src/lib-storage/index/mbox/Makefile.am +++ b/src/lib-storage/index/mbox/Makefile.am @@ -3,6 +3,7 @@ noinst_LTLIBRARIES = libstorage_mbox.la 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 --git a/src/lib-storage/index/mbox/mbox-storage.c b/src/lib-storage/index/mbox/mbox-storage.c index 7730bd9bb2..3b57e09eb4 100644 --- a/src/lib-storage/index/mbox/mbox-storage.c +++ b/src/lib-storage/index/mbox/mbox-storage.c @@ -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 struct mail_storage *mbox_storage_alloc(void) 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,