]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dbox: Fail if trying to create a mailbox that already exists.
authorTimo Sirainen <tss@iki.fi>
Fri, 1 Feb 2013 22:31:44 +0000 (00:31 +0200)
committerTimo Sirainen <tss@iki.fi>
Fri, 1 Feb 2013 22:31:44 +0000 (00:31 +0200)
src/lib-storage/index/dbox-common/dbox-storage.c

index 359bce3f0980960963645f305cbaac015b607204..714521b1f2a6cf01c4a68113f979808878b5053b 100644 (file)
@@ -254,6 +254,12 @@ int dbox_mailbox_create(struct mailbox *box,
        if (mailbox_open(box) < 0)
                return -1;
 
+       if (mail_index_get_header(box->view)->uid_validity != 0) {
+               mail_storage_set_error(box->storage, MAIL_ERROR_EXISTS,
+                                      "Mailbox already exists");
+               return -1;
+       }
+
        /* if alt path already exists and contains files, rebuild storage so
           that we don't start overwriting files. */
        alt_path = mailbox_list_get_path(box->list, box->name,