Summary: | kmail2 does not update mail after piping mail throught a script | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Akonadi | Reporter: | Thomas Arend <thomas> |
Component: | Mail Filter Agent | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | major | CC: | amantia, jon.moon, thomas |
Priority: | NOR | ||
Version: | 4.9 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Thomas Arend
2012-09-28 19:16:24 UTC
Please test with akonadi 1.8.1 and kmail from 4.9.2 (and better 4.9.3 when it comes out) as well and report. I can confirm I'm seeing the same behaviour with kmail 4.9.3 (and akonadi 1.8.1). I also used tee to confirm that the filter was being executed, but the results seem to be thrown away and the original mail is what is stored. I'm very willing to help with this problem so if I can help provide more information to debug this then please let me know. Further to this, I'm seeing the same problem with an 'add header' action in the filter (at least to filters applied before the mail is sent - haven't tried other cases). Having browsed the code a bit and put gdb on akonadi_mailfiter_agent, I'm suspicious that something's going wrong in the execution of the 'Akonadi::ItemModifyJob' that's kicked off in FilterManager::processContextItem. I've stepped through to confirm that the modify job is started and returns success - but the item's still unmodified. The one thing I've not confirmed is that the item is actually modified by the filter (can't immediately see how to check the relevant fields in gdb), but the fact that both filter types are showing the same behaviour makes this seem unlikely. I tested it on 4.9.3. The error is reproducible and I wonder why it ist still unconfirmed. The message is piped through the program but remains unchanged. Saveing the message to as a file and piping the message through the program shows that it is not a error of the program. [13:29:00] Applying filter action: Pipe Through "/home/thomas/bin/Patch-BwPKI-SMIME" [13:31:04] Filterregeln werden geprüft: (match all of the following) "<message>" <contains> "smime.p7m" "<message>" <contains> "octet-stream" [13:31:04] 1 = "<message>" <contains> "smime.p7m" [13:31:04] 1 = "<message>" <contains> "octet-stream" [13:31:04] Filterregeln wurden angewandt. ------------------------------ [13:31:04] Applying filter action: Pipe Through "/home/thomas/bin/Patch-BwPKI-SMIME" Here follows the akonadi mailfilter log entry. I have changed only personal inf with XXX / "example" * 152163 FETCH (UID 152163 REV 6 REMOTEID "1353764598.R623.x1:2,S" MIMETYPE "message/rfc822" COLLECTIONID 591 SIZE 68722 DATETIME "28-Nov-2012 12:25:29 +0000" FLAGS (\SEEN $ATTACHMENT) ANCESTORS ((591 "inbox")) PLD:ENVELOPE[1] {259} ("Fri, 23 Nov 2012 14:37:49 +0100" "Z" ((NIL NIL "YYYYYY" "example.org")) ((NIL NIL "XXXXXX1example" "example.org")) NIL ((NIL NIL "XXXXXX" "example-rhb.de")) NIL NIL NIL "<OFC003F78A.3289353F-ONC1257ABF.004A99C7-C1257ABF.004ADFD8@example.org>" NIL) PLD:HEAD[1] {1896} Return-Path: <XXXXXX1example@example.org> X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on server.example.tksd X-Spam-Status: No, score=-1.5 required=4.5 tests=BAYES_00,MIME_BASE64_BLANKS autolearn=ham version=3.3.2 X-Spam-Spammy: 0.988-6958--481h-14462s--1d--H*r:smtp, 0.902-3756--5636h-18259s--1d--H*Ad:U*XXXXXX X-Spam-Hammy: 0.000-11--164h-0s--10d--H*UA:Notes, 0.000-11--164h-0s--10d--H*x:Notes X-Original-To: XXXXXX@localhost Delivered-To: XXXXXX@localhost.example.tksd Received: from server.example.tksd (localhost [IPv6:::1]) by server.example.tksd (Postfix) with ESMTP id 393BA289CA for <XXXXXX@localhost>; Sat, 24 Nov 2012 10:23:03 +0100 (CET) X-Original-To: XXXXXX@example-rhb.de Delivered-To: XXXXXX@example-rhb.de Received: from 172.16.0.1 [172.16.0.1] by server.example.tksd with POP3 (fetchmail-6.3.21) for <XXXXXX@localhost> (single-drop); Sat, 24 Nov 2012 10:23:03 +0100 (CET) Received: from Mail201.example-2.de (mail201.example-2.de [91.221.58.4]) by h1383963.stratoserver.net (Postfix) with SMTP id EB0A0206E19C for <XXXXXX@example-rhb.de>; Sat, 24 Nov 2012 10:16:10 +0100 (CET) Received: from (unknown) by Mail201.example-2.de with smtp id 2b4b_799c_d2ee97ba_3573_11e2_b862_0026557db6a8; Fri, 23 Nov 2012 14:43:58 +0100 From: YYYYYY@example.org To: XXXXXX@example-rhb.de Subject: Z MIME-Version: 1.0 X-KeepSent: C003F78A:3289353F-C1257ABF:004A99C7; type=4; name=$KeepSent X-Mailer: Lotus Notes Release 7.0.3 September 26, 2007 Message-ID: <OFC003F78A.3289353F-ONC1257ABF.004A99C7-C1257ABF.004ADFD8@example.org> Sender: XXXXXX1example@example.org Date: Fri, 23 Nov 2012 14:37:49 +0100 X-MIMETrack: Serialize by Router on DHub03CLA/SRV/Z2Z2/Z1Z1/DE(Release 8.5.3FP1HF122 | April 30, 2012) at 23.11.2012 14:43:54 Content-Type: application/octet-stream; name="smime.p7m" Content-Disposition: attachment; filename="smime.p7m" Content-Transfer-Encoding: base64 X-UIDL: joj!!*bV!!;Cp!!1f\!! PLD:RFC822[1] [FILE] {56} /home/XXXXXX/.local/share/akonadi/file_db_data/452964_r0) 38 OK UID FETCH completed Error is also in kmail2 4.9.4 I have attached reports from the filter protocol and the debug report from anonadiconsole (I have removed / modified some mail addresses) Unfortunately there is no hint in the debugger about the result oft the pipe. Maybe that the filter protocol is wrong and the mail is not piped through the program or the debugger does not report the piping or ... or ... The only thing I can confirm is: The mail is the same before and after piping. But it works when I save the mail and do the piping on command line. --- Filter protocol --- 21:00:37] Applying filter action: Pipe Through "/usr/bin/spamassassin -d" [21:02:48] Filterregeln werden geprüft: (match all of the following) "X-Spam-Flag" <contains> "YES" [21:02:48] 1 = "X-Spam-Flag" <contains> "YES" (YES) [21:02:48] Filterregeln wurden angewandt. ------------------------------ [21:02:48] Applying filter action: Pipe Through "/usr/bin/spamassassin -d" --- Akonadi Console Debug All --- akonadi_mailfilter_agent (0x24b4700) 1945 UID FETCH 156716 FULLPAYLOAD ANCESTORS 1 EXTERNALPAYLOAD (UID REMOTEID REMOTEREVISION COLLECTIONID FLAGS SIZE DATETIME) akonadi_mailfilter_agent (0x24b4700) * 156716 FETCH (UID 156716 REV 3 REMOTEID "1355296352.R58.x1:2,S" MIMETYPE "message/rfc822" COLLECTIONID 591 SIZE 9572 DATETIME "12-Dec-2012 19:55:09 +0000" FLAGS (\SEEN) ANCESTORS ((591 "inbox")) PLD:ENVELOPE[1] {1148} ("Wed, 12 Dec 2012 06:23:44 +0100" "****SPAM(4.9)**** Schauspieler gesucht..." ( ... To: "'Thomas Arend'" <thomas@example.com>, ... ... Subject: ****SPAM(4.9)**** Schauspieler gesucht... Date: Wed, 12 Dec 2012 06:23:44 +0100 Message-Id: <001501cdd828$dbd65280$9382f780$@de> X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on server.arend.tksd X-Spam-Flag: YES X-Spam-Level: **** X-Spam-Status: Yes, score=4.9 required=4.5 tests=BAYES_50,FREEMAIL_FROM, KHOP_BIG_TO_CC autolearn=no version=3.3.2 X-Spam-Spammy: 0.994-60--2h-120s--7d--att, ... MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----------=_50C814B7.8054FDA7" X-UIDL: g+Z!!5g`"!5gF!!!pc"! PLD:RFC822[1] [FILE] {56} /home/thomas/.local/share/akonadi/file_db_data/469382_r0) akonadi_mailfilter_agent (0x24b4700) 1945 OK UID FETCH completed Thanks for the information provided, I'll look at it as soon as I have some "kde" time. Unfortunately I can't make promises about when it will be. This bug has only been reported for versions older than KDEPIM 4.14 (at most akonadi-1.3). Can anyone tell if this bug still present? If noone confirms this bug for a recent version of akonadi (part of KDE Applications 15.08 or later), it gets closed in about three months. Denis - Just tried with kmail 5.1.3 and bug seems to have gone - I was able to pipe through a script which added a gratuitous line, and another which removed the last line in the mail and both seemed to work. So from my perspective, looks like it could be closed. HTH Thanks for the feedback. |