dovecot-2.1: lib-storage: mailbox_list_get_storage_name() should...

dovecot at dovecot.org dovecot at dovecot.org
Tue Aug 14 03:03:45 EEST 2012


details:   http://hg.dovecot.org/dovecot-2.1/rev/b0f744014aca
changeset: 14666:b0f744014aca
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Aug 14 03:02:02 2012 +0300
description:
lib-storage: mailbox_list_get_storage_name() shouldn't treat INBOX specially in inbox=no namespaces.

diffstat:

 src/lib-storage/mailbox-list.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (20 lines):

diff -r 0d3f2902fb68 -r b0f744014aca src/lib-storage/mailbox-list.c
--- a/src/lib-storage/mailbox-list.c	Tue Aug 14 03:01:07 2012 +0300
+++ b/src/lib-storage/mailbox-list.c	Tue Aug 14 03:02:02 2012 +0300
@@ -397,12 +397,14 @@
 	string_t *str;
 	char list_sep, ns_sep, *ret, *p;
 
-	if (strcasecmp(storage_name, "INBOX") == 0)
+	if (strcasecmp(storage_name, "INBOX") == 0 &&
+	    (ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0)
 		storage_name = "INBOX";
 	else if (list->set.escape_char != '\0')
 		storage_name = mailbox_list_escape_name(list, vname);
 
-	if (prefix_len > 0 && strcmp(storage_name, "INBOX") != 0) {
+	if (prefix_len > 0 && (strcmp(storage_name, "INBOX") != 0 ||
+			       (ns->flags & NAMESPACE_FLAG_INBOX_USER) == 0)) {
 		/* skip namespace prefix, except if this is INBOX */
 		if (strncmp(ns->prefix, storage_name, prefix_len) == 0)
 			storage_name += prefix_len;


More information about the dovecot-cvs mailing list