]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Treat "INBOX" in INBOX/children also case-insensitively.
authorTimo Sirainen <tss@iki.fi>
Thu, 23 Jun 2011 17:00:04 +0000 (20:00 +0300)
committerTimo Sirainen <tss@iki.fi>
Thu, 23 Jun 2011 17:00:04 +0000 (20:00 +0300)
src/lib-storage/mail-storage.c

index 078b985894b9fbc6cd58179db79771df745cbbb1..bbd3944671550aa0af3725158e78ce511efd4343 100644 (file)
@@ -576,10 +576,14 @@ struct mailbox *mailbox_alloc(struct mailbox_list *list, const char *vname,
 
        i_assert(uni_utf8_str_is_valid(vname));
 
-       if (strcasecmp(vname, "INBOX") == 0 &&
-           (list->ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0) {
+       if ((list->ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 &&
+           strncasecmp(vname, "INBOX", 5) == 0 &&
+           strncmp(vname, "INBOX", 5) != 0) {
                /* make sure INBOX shows up in uppercase everywhere */
-               vname = "INBOX";
+               if (vname[5] == '\0')
+                       vname = "INBOX";
+               else if (vname[5] == mail_namespace_get_sep(list->ns))
+                       vname = t_strconcat("INBOX", vname + 5, NULL);
        }
 
        if (mailbox_list_get_storage(&new_list, vname, &storage) < 0) {