From: Aki Tuomi Date: Sat, 16 Dec 2017 16:16:10 +0000 (+0200) Subject: lib-storage: Add NO-FS-VALIDATION flag X-Git-Tag: 2.3.9~2236 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=655fc45da67a4cfa63d9d12cf106961a1afc12b9;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Add NO-FS-VALIDATION flag --- diff --git a/src/lib-storage/mailbox-list.c b/src/lib-storage/mailbox-list.c index 5ca7c77d1b..c0121827dd 100644 --- a/src/lib-storage/mailbox-list.c +++ b/src/lib-storage/mailbox-list.c @@ -373,6 +373,9 @@ mailbox_list_settings_parse_full(struct mail_user *user, const char *data, } else if (strcmp(key, "NO-NOSELECT") == 0) { set_r->no_noselect = TRUE; continue; + } else if (strcmp(key, "NO-FS-VALIDATION") == 0) { + set_r->no_fs_validation = TRUE; + continue; } else { *error_r = t_strdup_printf("Unknown setting: %s", key); return -1; @@ -1287,7 +1290,8 @@ mailbox_list_is_valid_fs_name(struct mailbox_list *list, const char *name, *error_r = NULL; - if (list->mail_set->mail_full_filesystem_access) + if (list->mail_set->mail_full_filesystem_access || + list->set.no_fs_validation) return TRUE; /* either the list backend uses '/' as the hierarchy separator or diff --git a/src/lib-storage/mailbox-list.h b/src/lib-storage/mailbox-list.h index 5e26d5b631..eff2e4de13 100644 --- a/src/lib-storage/mailbox-list.h +++ b/src/lib-storage/mailbox-list.h @@ -160,6 +160,8 @@ struct mailbox_list_settings { bool iter_from_index_dir; /* Avoid creating or listing \NoSelect mailboxes. */ bool no_noselect; + /* Do not validate names as fs names (allows weird names) */ + bool no_fs_validation; }; struct mailbox_permissions {