From: Timo Sirainen Date: Fri, 22 Nov 2013 21:52:37 +0000 (+0200) Subject: lib-storage: Don't do filesystem permission lookups if storage has no mailbox root... X-Git-Tag: 2.2.9~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=758d8b46f9e8fd87cf58bb4912cddf6bf28918cf;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Don't do filesystem permission lookups if storage has no mailbox root dir. --- diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index aa36e59bf7..a78043ddf8 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -843,6 +843,7 @@ mailbox_list_get_permissions_internal(struct mailbox_list *list, const char *name, struct mailbox_permissions *permissions_r) { + struct mail_storage *storage; const char *path, *parent_name, *parent_path, *p; struct stat st; @@ -865,7 +866,10 @@ mailbox_list_get_permissions_internal(struct mailbox_list *list, (void)mailbox_list_get_root_path(list, MAILBOX_LIST_PATH_TYPE_DIR, &path); } - if (path == NULL) { + mailbox_list_get_default_storage(list, &storage); + + if (path == NULL || + (storage->class_flags & MAIL_STORAGE_CLASS_FLAG_NO_ROOT) != 0) { /* no filesystem support in storage */ } else if (stat(path, &st) < 0) { if (errno == EACCES) {