Version: 1.8 (using KDE KDE 3.4.0) Installed from: Gentoo Packages Compiler: gcc 3.4.3 OS: Linux If you have GPG signing enabled by default, but save a message to the Drafts folder: when you go to edit the message again, encryption and signature buttons are off. If you send the message without remembering to click on the Sign or Encrypt buttons it will be sent plaintext, even if this is not your default action.
In Debian as: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=364008
I have the same problem under SuSE 10.1 (KMail 1.9.1). Really took me by supprise ; at least it was only a signed message and not an encrypted one. Benoni
*** This bug has been confirmed by popular vote. ***
See also bug 92969.
Just posting here a notice that a patch awaits review on that issue, since this issue kind of disturbed me too... http://lists.kde.org/?l=kde-pim&m=118303963630786&w=2 If something is wrong, I can try and fix it so keep in touch, either through the ML or here... Cheers, acp
SVN commit 702320 by tilladam: Make sure to store the state of the crypto actions when saving a mail to drafts, but only if the state of the mail itself should not be used as indication of the state of the actions. This is governd by the option to "never sign and encrypt when saving to drafts" in the security settings. Prokde35-z item 44. BUG: 103240 M +15 -0 kmcomposewin.cpp --- branches/kdepim/enterprise/kdepim/kmail/kmcomposewin.cpp #702319:702320 @@ -1835,6 +1835,10 @@ break; } + // if these headers are present, the state of the message should be overruled + mLastSignActionState = (mMsg->headerField( "X-KMail-SignatureActionEnabled" ) == "true"); + mLastEncryptActionState = (mMsg->headerField( "X-KMail-EncryptActionEnabled" ) == "true"); + mLastIdentityHasSigningKey = !ident.pgpSigningKey().isEmpty() || !ident.smimeSigningKey().isEmpty(); mLastIdentityHasEncryptionKey = !ident.pgpEncryptionKey().isEmpty() || !ident.smimeEncryptionKey().isEmpty(); @@ -4010,6 +4014,17 @@ } } + if (neverEncrypt && saveIn != KMComposeWin::None ) { + // we can't use the state of the mail itself, to remember the + // signing and encryption state, so let's add a header instead + mMsg->setHeaderField( "X-KMail-SignatureActionEnabled", mSignAction->isChecked()? "true":"false" ); + mMsg->setHeaderField( "X-KMail-EncryptActionEnabled", mEncryptAction->isChecked()? "true":"false" ); + } else { + mMsg->removeHeaderField( "X-KMail-SignatureActionEnabled" ); + mMsg->removeHeaderField( "X-KMail-EncryptActionEnabled" ); + } + + kdDebug(5006) << "KMComposeWin::doSend() - calling applyChanges()" << endl; applyChanges( neverEncrypt );