{
struct mailbox_list_index *ilist = INDEX_LIST_CONTEXT(list);
const struct mail_storage_settings *set = list->mail_set;
- struct mailbox_permissions perm;
enum mail_index_open_flags index_flags;
unsigned int lock_timeout;
lock_timeout = set->mail_max_lock_timeout == 0 ? UINT_MAX :
set->mail_max_lock_timeout;
- mailbox_list_get_root_permissions(list, &perm);
- mail_index_set_permissions(ilist->index, perm.file_create_mode,
- perm.file_create_gid,
- perm.file_create_gid_origin);
+ if (!mail_index_use_existing_permissions(ilist->index)) {
+ struct mailbox_permissions perm;
+
+ mailbox_list_get_root_permissions(list, &perm);
+ mail_index_set_permissions(ilist->index, perm.file_create_mode,
+ perm.file_create_gid,
+ perm.file_create_gid_origin);
+ }
mail_index_set_log_rotation(ilist->index,
MAILBOX_LIST_INDEX_LOG_ROTATE_MIN_SIZE,
MAILBOX_LIST_INDEX_LOG_ROTATE_MAX_SIZE,