dovecot-2.1: lib-storage: Require at least one namespace to be n...

dovecot at dovecot.org dovecot at dovecot.org
Wed Apr 4 07:46:32 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/1a33cc98666a
changeset: 14386:1a33cc98666a
user:      Timo Sirainen <tss at iki.fi>
date:      Wed Apr 04 07:46:09 2012 +0300
description:
lib-storage: Require at least one namespace to be non-hidden

diffstat:

 src/lib-storage/mail-namespace.c |  7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diffs (31 lines):

diff -r 601014feade4 -r 1a33cc98666a src/lib-storage/mail-namespace.c
--- a/src/lib-storage/mail-namespace.c	Wed Apr 04 07:26:37 2012 +0300
+++ b/src/lib-storage/mail-namespace.c	Wed Apr 04 07:46:09 2012 +0300
@@ -189,6 +189,7 @@
 {
 	struct mail_namespace *ns, *inbox_ns = NULL;
 	unsigned int subscriptions_count = 0;
+	bool visible_namespaces = FALSE;
 	char ns_sep, list_sep = '\0';
 
 	for (ns = namespaces; ns != NULL; ns = ns->next) {
@@ -201,6 +202,8 @@
 		}
 		if (namespace_set_alias_for(ns, namespaces, error_r) < 0)
 			return FALSE;
+		if ((ns->flags & NAMESPACE_FLAG_HIDDEN) == 0)
+			visible_namespaces = TRUE;
 		if ((ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0) {
 			if (inbox_ns != NULL) {
 				*error_r = "There can be only one namespace with "
@@ -249,6 +252,10 @@
 		*error_r = "no list=yes namespaces";
 		return FALSE;
 	}
+	if (!visible_namespaces) {
+		*error_r = "no hidden=no namespaces";
+		return FALSE;
+	}
 	if (subscriptions_count == 0) {
 		*error_r = "no subscriptions=yes namespaces";
 		return FALSE;


More information about the dovecot-cvs mailing list