[Akonadi] [Bug 331991] GnuPG signatures broken by "Pipe Through" filter action
Sandro Knauß
mail at sandroknauss.de
Sun Mar 30 18:27:01 BST 2014
https://bugs.kde.org/show_bug.cgi?id=331991
--- Comment #4 from Sandro Knauß <mail at sandroknauss.de> ---
It can be tracked down to the mark as action
(mailcommon/filter/filteractionsetstatus.cpp).
So all mark as Ham, Spam or Important via Filter are affected.
The bug lies in the mailmodifyjob, that modifies the mail in a way that it
breaks:
agents/mailfilteragent/filtermanager.cpp (line 467):
if ( context.needsPayloadStore() || context.needsFlagStore() ) {
Akonadi::Item item = context.item();
//the item might be in a new collection with a different remote id,
so don't try to force on it
//the previous remote id. Example: move to another collection on
another resource => new remoteId, but our context.item()
//remoteid still holds the old one. Without clearing it, we try to
enforce that on the new location, which is
//anything but good (and the server replies with "NO Only resources
can modify remote identifiers"
item.setRemoteId(QString());
Akonadi::ItemModifyJob *modifyJob = new Akonadi::ItemModifyJob( item,
this );
modifyJob->disableRevisionCheck(); //no conflict handling for mails
as no other process could change the mail body and we don't care about flag
conflicts
//The below is a safety check to ignore modifying payloads if it was
not requested,
//as in that case we might change the payload to an invalid one
modifyJob->setIgnorePayload( !context.needsFullPayload() );
connect( modifyJob, SIGNAL(result(KJob*)),
SLOT(modifyJobResult(KJob*)));
}
Using the Menu (Message->Mark Message) the signatuer is not getting broken.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Kdepim-bugs
mailing list