]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_create() failed if it was done to \noselect mailbox.
authorTimo Sirainen <tss@iki.fi>
Sat, 12 Feb 2011 03:12:36 +0000 (05:12 +0200)
committerTimo Sirainen <tss@iki.fi>
Sat, 12 Feb 2011 03:12:36 +0000 (05:12 +0200)
src/lib-storage/mail-storage.c

index 5d8e59b12bff4918f63dd39a4a70746efcbe7037..ba1513b55da547d2a2fce97401c3a1e1a6b26c52 100644 (file)
@@ -786,7 +786,10 @@ int mailbox_create(struct mailbox *box, const struct mailbox_update *update,
                MAILBOX_DIR_CREATE_TYPE_MAILBOX;
        if (box->list->v.create_mailbox_dir(box->list, box->name, type) < 0) {
                mail_storage_copy_list_error(box->storage, box->list);
-               return -1;
+               if (directory ||
+                   mailbox_get_last_mail_error(box) != MAIL_ERROR_EXISTS)
+                       return -1;
+               /* the directory already exists, but the mailbox might not */
        }
        mailbox_refresh_permissions(box);