This should easily be doable now that we have done T6701
I think I could pretty blindly solve this by:
diff --git a/src/cryptcontroller.cpp b/src/cryptcontroller.cpp index 9265e1a..dc883bb 100644 --- a/src/cryptcontroller.cpp +++ b/src/cryptcontroller.cpp @@ -1095,13 +1095,14 @@ CryptController::do_crypto (GpgME::Error &err, std::string &r_diag, bool force) /* Prepare to offer a "Forced encryption for S/MIME errors */ GpgME::Context::EncryptionFlags flags = GpgME::Context::EncryptionFlags::None; int errVal = -1; + bool draft = m_mail->isDraftEncrypt (); /* For openPGP or when force is used we want to use Always Trust */ - if (m_proto == GpgME::OpenPGP || force) { + if (m_proto == GpgME::OpenPGP || force || draft) { /* Force is currently only used for S/MIME but just to make this clear we add the check here */ - if (force && m_proto == GpgME::CMS) + if ((force || draft) && m_proto == GpgME::CMS) { - log_dbg ("Using alwaysTrust force option"); + log_dbg ("Using alwaysTrust %s option", (draft ? "draft" : "force"); /* When force is used we don't need any online verification. */ ctx->setOffline(true); /* Rewind the input and start with a fresh output */
But I want to see first if I can reproduce the reported problems and to check if they are solved by this.