From: Aki Tuomi Date: Mon, 28 Nov 2016 12:45:01 +0000 (+0200) Subject: mail-crypt: Fail if key is not found and save_version less than 2 X-Git-Tag: 2.2.27~26 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5f53b8474153ec10e043a6d99cc21a33f14ffe9c;p=thirdparty%2Fdovecot%2Fcore.git mail-crypt: Fail if key is not found and save_version less than 2 Fail if save version is set to 0 or 1, instead of trying to use undefined value for public key. --- diff --git a/src/plugins/mail-crypt/mail-crypt-plugin.c b/src/plugins/mail-crypt/mail-crypt-plugin.c index d8eacc5125..a9855fd457 100644 --- a/src/plugins/mail-crypt/mail-crypt-plugin.c +++ b/src/plugins/mail-crypt/mail-crypt-plugin.c @@ -296,8 +296,17 @@ mail_crypt_mail_save_begin(struct mail_save_context *ctx, return ret; } - if (muser->save_version > 1 && - mail_crypt_box_generate_keypair(box, &pair, NULL, + if (muser->save_version < 2) { + mail_storage_set_error(box->storage, + MAIL_ERROR_PARAMS, + t_strdup_printf("generate_keypair(%s) failed: " + "unsupported save_version=%d", + mailbox_get_vname(box), + muser->save_version)); + return -1; + } + + if (mail_crypt_box_generate_keypair(box, &pair, NULL, &pubid, &error) < 0) { mail_storage_set_error(box->storage, MAIL_ERROR_PARAMS,