]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: mailbox_list_get_permissions() - Use index dir with ITERINDEX
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 26 Jun 2017 15:50:24 +0000 (18:50 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Mon, 3 Jul 2017 08:49:41 +0000 (11:49 +0300)
src/lib-storage/mailbox-list.c

index 0064cc3289044cb8c80926c12aa047c7af43bb90..b377801df3c48e339d2c3df79b4f9eaeff5e8e00 100644 (file)
@@ -972,8 +972,13 @@ mailbox_list_get_permissions_internal(struct mailbox_list *list,
        permissions_r->file_create_gid = (gid_t)-1;
        permissions_r->file_create_gid_origin = "defaults";
 
-       if ((list->flags & MAILBOX_LIST_FLAG_NO_MAIL_FILES) != 0) {
-               /* mail files don't exist in storage, but index files might. */
+       if (list->set.iter_from_index_dir ||
+           (list->flags & MAILBOX_LIST_FLAG_NO_MAIL_FILES) != 0) {
+               /* a) iterating from index dir. Use the index dir's permissions
+                  as well, since they might be in a faster storage.
+
+                  b) mail files don't exist in storage, but index files
+                  might. */
                (void)mailbox_list_get_path(list, name,
                        MAILBOX_LIST_PATH_TYPE_INDEX, &path);
        }