]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
fs-mail-crypt: Allow missing keys if mail_crypt_save_version = 0
authorAki Tuomi <aki.tuomi@open-xchange.com>
Fri, 25 Mar 2022 07:04:01 +0000 (09:04 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Mon, 28 Mar 2022 08:47:53 +0000 (08:47 +0000)
src/plugins/mail-crypt/fs-mail-crypt.c

index b017d3f2d87976113f3cc9510323debbdfe1eb71..dc078f31eee1517557c4685c75759a1f5feecab8 100644 (file)
@@ -6,6 +6,7 @@ static
 int fs_crypt_load_keys(struct crypt_fs *fs, const char **error_r)
 {
        struct mailbox_list *list = mailbox_list_fs_get_list(&fs->fs);
+       struct mail_namespace *ns = mailbox_list_get_namespace(list);
        const char *error;
 
        if (fs->keys_loaded)
@@ -22,7 +23,9 @@ int fs_crypt_load_keys(struct crypt_fs *fs, const char **error_r)
                return -1;
        }
 
-       if (mail_crypt_global_keys_load(mailbox_list_get_namespace(list)->user, 
+       if (null_strcmp(mail_user_plugin_getenv(ns->user, "mail_crypt_save_version"), "0") == 0)
+               fs->allow_missing_keys = TRUE;
+       if (mail_crypt_global_keys_load(ns->user,
                                        fs->set_prefix, &fs->keys, FALSE,
                                        &error) < 0) {
                *error_r = t_strdup_printf("%s: %s", fs->set_prefix, error);