]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_list_get_vname() no longer treats INBOX case insensitively.
authorTimo Sirainen <tss@iki.fi>
Sat, 10 Dec 2011 05:03:09 +0000 (07:03 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 10 Dec 2011 05:03:09 +0000 (07:03 +0200)
The INBOX vname is case sensitive, the INBOX storage_name isn't, otherwise
it's not possible to access <ns prefix>/inBox cased mailboxes.

src/lib-storage/mailbox-list.c

index d3f242d383d2a537f34e182cfec363147a854047..f3bfa0b07bfec8864bc6d131603fe267f65f821c 100644 (file)
@@ -486,10 +486,12 @@ const char *mailbox_list_default_get_vname(struct mailbox_list *list,
        char list_sep, ns_sep, *ret;
 
        if ((list->ns->flags & NAMESPACE_FLAG_INBOX_USER) != 0 &&
-           strcasecmp(vname, "INBOX") == 0 &&
+           strcmp(vname, "INBOX") == 0 &&
            list->ns->user == list->ns->owner) {
-               /* user's INBOX - use as-is */
-               return "INBOX";
+               /* user's INBOX - use as-is. NOTE: don't do case-insensitive
+                  comparison, otherwise we can't differentiate between INBOX
+                  and <ns prefix>/inBox. */
+               return vname;
        }
        if (*vname == '\0') {
                /* return namespace prefix without the separator */