dovecot-2.2: lib-storage: shared/$user/INBOX is now visible only...

dovecot at dovecot.org dovecot at dovecot.org
Sun May 20 03:26:35 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.2/rev/3bb6d153c9c3
changeset: 14530:3bb6d153c9c3
user:      Timo Sirainen <tss at iki.fi>
date:      Tue May 01 03:15:46 2012 +0300
description:
lib-storage: shared/$user/INBOX is now visible only as shared/$user

diffstat:

 src/lib-storage/mailbox-list.c |  12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diffs (29 lines):

diff -r 99a30e40dce9 -r 3bb6d153c9c3 src/lib-storage/mailbox-list.c
--- a/src/lib-storage/mailbox-list.c	Tue May 01 03:01:49 2012 +0300
+++ b/src/lib-storage/mailbox-list.c	Tue May 01 03:15:46 2012 +0300
@@ -427,6 +427,12 @@
 	list_sep = mailbox_list_get_hierarchy_sep(list);
 	ns_sep = mail_namespace_get_sep(ns);
 
+	if (*storage_name == '\0' && ns->type == NAMESPACE_SHARED &&
+	    (ns->flags & NAMESPACE_FLAG_INBOX_ANY) != 0) {
+		/* opening shared/$user. it's the same as INBOX. */
+		storage_name = "INBOX";
+	}
+
 	if (list_sep == ns_sep)
 		return storage_name;
 	if (ns->type == NAMESPACE_SHARED &&
@@ -501,6 +507,12 @@
 		   and <ns prefix>/inBox. */
 		return vname;
 	}
+	if (strcmp(vname, "INBOX") == 0 &&
+	    (list->ns->flags & NAMESPACE_FLAG_INBOX_ANY) != 0) {
+		/* convert to shared/$user, we don't really care about the
+		   INBOX suffix here. */
+		vname = "";
+	}
 	if (*vname == '\0') {
 		/* return namespace prefix without the separator */
 		if (list->ns->prefix_len == 0)


More information about the dovecot-cvs mailing list