]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
Ignore hierarchy separator at the end of mailbox name.
authorTimo Sirainen <tss@iki.fi>
Mon, 15 Sep 2003 17:49:04 +0000 (20:49 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 15 Sep 2003 17:49:04 +0000 (20:49 +0300)
--HG--
branch : HEAD

src/lib-storage/index/maildir/maildir-storage.c
src/lib-storage/index/mbox/mbox-storage.c

index 88bac8ee1ea6f78aacb46195165b9a8ea807bcf4..b2a5a5549acd6759d29ec02a570155bf97ab11c8 100644 (file)
@@ -126,8 +126,7 @@ static int maildir_is_valid_create_name(const char *name)
        size_t len;
 
        len = strlen(name);
-       if (len == 0 ||
-           name[0] == MAILDIR_FS_SEP || name[len-1] == MAILDIR_FS_SEP ||
+       if (len == 0 || name[0] == MAILDIR_FS_SEP ||
            strchr(name, '*') != NULL || strchr(name, '%') != NULL)
                return FALSE;
 
@@ -174,6 +173,12 @@ const char *maildir_fix_mailbox_name(struct mail_storage *storage,
        char *dup, *p, sep;
        size_t len;
 
+       len = strlen(name);
+       if (len > 1 && name[len-1] == storage->hierarchy_sep) {
+               /* mailbox and mailbox/ should be treated equally */
+               name = t_strndup(name, len-1);
+       }
+
        if (strncasecmp(name, "INBOX", 5) == 0 &&
            (name[5] == '\0' || name[5] == storage->hierarchy_sep)) {
                /* use same case with all INBOX folders or we'll get
index 80dfe93d0ab2b067b547acd1c06a65a86cebf601..37ecc164ba61312888e8d9ed7934ef7a83e1779c 100644 (file)
@@ -222,6 +222,12 @@ const char *mbox_fix_mailbox_name(struct mail_storage *storage,
        char *dup, *p, sep;
        size_t len;
 
+       len = strlen(name);
+       if (len > 1 && name[len-1] == storage->hierarchy_sep) {
+               /* mailbox and mailbox/ should be treated equally */
+               name = t_strndup(name, len-1);
+       }
+
        if (strncasecmp(name, "INBOX", 5) == 0 &&
            (name[5] == '\0' || name[5] == storage->hierarchy_sep)) {
                name = t_strconcat("INBOX", name+5, NULL);