From: Timo Sirainen Date: Thu, 23 Jun 2011 17:00:04 +0000 (+0300) Subject: lib-storage: Treat "INBOX" in INBOX/children also case-insensitively. X-Git-Tag: 2.1.alpha1~245 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=90ed6f2bf7ec3048ef36a440daae0f10de30aa7e;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Treat "INBOX" in INBOX/children also case-insensitively. --- diff --git a/src/lib-storage/mail-storage.c b/src/lib-storage/mail-storage.c index 078b985894..bbd3944671 100644 --- a/src/lib-storage/mail-storage.c +++ b/src/lib-storage/mail-storage.c @@ -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) {