From 655fc45da67a4cfa63d9d12cf106961a1afc12b9 Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Sat, 16 Dec 2017 18:16:10 +0200 Subject: [PATCH] lib-storage: Add NO-FS-VALIDATION flag --- src/lib-storage/mailbox-list.c | 6 +++++- src/lib-storage/mailbox-list.h | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) 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 {