]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Add NO-FS-VALIDATION flag
authorAki Tuomi <aki.tuomi@dovecot.fi>
Sat, 16 Dec 2017 16:16:10 +0000 (18:16 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Sat, 24 Feb 2018 17:33:31 +0000 (19:33 +0200)
src/lib-storage/mailbox-list.c
src/lib-storage/mailbox-list.h

index 5ca7c77d1b0473aa562f4178acd4d95a2a1dfc1a..c0121827dd7677d34fe04a01b60ae2cf22e88c37 100644 (file)
@@ -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
index 5e26d5b631d1542fe59375856005fa06448b7312..eff2e4de13cc9abc10645f6f5b74fa8b8982292f 100644 (file)
@@ -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 {