[Bug 223441] Port, fix and test objecttreeparser

Thomas McGuire mcguire at kde.org
Tue Apr 6 10:02:53 BST 2010


https://bugs.kde.org/show_bug.cgi?id=223441


Thomas McGuire <mcguire at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |kdepim-bugs at kde.org
         AssignedTo|kdepim-bugs at kde.org         |amantia at kde.org




--- Comment #4 from Thomas McGuire <mcguire kde org>  2010-04-06 11:02:51 ---
Here are the results/TODO list after an IRC discussion:

1) Make sure that saving the message as mbox saves the original encrypted 
   message, not the modified one
2) What should happen when deleting/edit an attachment that is part of the 
   encrypted message? Check what KMail 1 does in this case.
3) Be careful when saving back the message (for some other reason than 
   deleting/editing attachments), it should save back the original message, not 
   the modified one
4) Viewing encrypted/signed messages has two problems right now, see 
   http://imagebin.org/91863:
   a) In the viewer, the original encrypted nodes are shown as attachments in 
      the viewer. Didn't happen in KMail 1.
   b) The signature is marked as invalid, even though it is valid
   I created the test message with KMail 1, in the following way:
   a) In the composer, add an attachment and mark the message as signed and 
      encrypted. Either send the message to yourself or save as draft, if the 
      "Never sign/encrypt when saving as draft" option is disabled
   b) Right-click the message in the message list and save as mbox
   c) In KMail 2, import the message using File->Import Messages
5) There is a special option to always save the decrypted form of the message 
   once it is displayed.
   This option is storeDisplayedMessagesUnencrypted().
   This is done in ViewerPrivate::parseMsg(), which calls 
   objectTreeToDecryptedMsg().
   This does currently not work, as some TODO comments indicate.
   Note that the decrypted message is _not_ the same as the modified message 
   the OTP creates when decrypting a message. The OTP still leaves the old 
   encrypted nodes around, while objectTreeToDecryptedMsg() removes them, so 
   that the message is truely decrypted and viewable by everyone.
   objectTreeToDecryptedMsg() should be unit-tested.
6) Make sure insertAndParseChildNode() works, and check all if all callers 
   work. One example are old-style mailman messages, but I think there are more
7) trueFromAddress() was incorrectly ported. Check the KMail 1 sources for it.
   trueFromAddress() is used when displaying encapsulated messages, for example 
   when fetching the contact photo or when verifying the signature of 
   encapsulated messages. This was ported to always use the From address of the 
   top-level node, so it doesn't work anymore for encapsulated messages.
8) As this stuff is complicated, especially the crypto stuff and the parts that 
   modify the message, unit tests are needed.
   To get the crypto stuff unit tested, one needs special unit test keys, and 
   set the gnupg home to the unit test dir. Have a look at how the 
   messagecomposer does it, in kdepim/messagecomposer/tests/gnupg_home and the 
   setenv() calls in ComposerTestUtil::getKeys()

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
You are the assignee for the bug.



More information about the Kdepim-bugs mailing list