[Kde-pim] Review Request: Improve parsing of Content-ID header
Thomas McGuire
mcguire at kde.org
Mon Jan 4 14:42:38 GMT 2010
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2483/#review3567
-----------------------------------------------------------
Thanks for finding the problem with the inline image support!
I think however that as7BitString() here is wrong, so the comments below. If KMail wants the identifier without the angle brackets, it should use SingleIdent::identifier().
Btw, these are just assumptions, I'm not 100% sure.
Oh, and as always, some of the coding style in the tests could use more spaces at the inside of parenthesis :)
branches/work/akonadi-ports/kdepimlibs/kmime/kmime_headers.cpp
<http://reviewboard.kde.org/r/2483/#comment2827>
Some question about this function:
1. Isn't this the same as SingleIdent::identifier(), which returns the identifier without angle brackets?
2. AFAIK as7BitString() is used when assembling a message. Won't the assembled message have a wrong content-id then, because it is missing the angle brackets? Or am I missing something here?
3. This looks like code duplication from Ident::as7BitString(). If the method here is really needed, can you refactor this so that both as7BitString() methods just call another helper method that does the work?
branches/work/akonadi-ports/kdepimlibs/kmime/kmime_headers.cpp
<http://reviewboard.kde.org/r/2483/#comment2830>
This function looks complex. Is the code duplicated somewhere?
If so, it would be nice if it can be avoided.
If not, also ok, we have a unit test for this now, so that's fine.
branches/work/akonadi-ports/kdepimlibs/kmime/tests/kmime_message_test.cpp
<http://reviewboard.kde.org/r/2483/#comment2828>
Some of this QTextEdit-generated HTML junk can be removed, so that the test is clearer.
branches/work/akonadi-ports/kdepimlibs/kmime/tests/kmime_message_test.cpp
<http://reviewboard.kde.org/r/2483/#comment2829>
As said above, I think as7BitString() needs to include the angle brackets, as otherwise the assembled message is wrong. But I'm not sure, this would need another test.
Can SingleIdent::identifier() be used here in this test instead?
- Thomas
On 2010-01-04 06:30:34, Torgny Nyblom wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/2483/
> -----------------------------------------------------------
>
> (Updated 2010-01-04 06:30:34)
>
>
> Review request for KDE PIM.
>
>
> Summary
> -------
>
> Add the parse() and to7BitString() functions to ContentID class.
> The reason being that altho Content-Id should obey they same rules as Message-Id (localpart at hostpart) in practice it doesn't.
>
> The added parse() function tries to use the same algorithm as is used for MessageID but if that fails a debug message is issued and a more relaxed algorithm is used (parseAtom, might not be the best alternative but it works for the test email I've got).
>
> The added as7BitString() function is also almost the same as in the base class. The difference being that the enclosing '<' and '>' are not returned and if the relaxed parse() function was used to extract the header the domain part is not present and in that case the trailing '@' is discarded before returning,
>
>
> Diffs
> -----
>
> branches/work/akonadi-ports/kdepimlibs/kmime/kmime_headers.h 1068282
> branches/work/akonadi-ports/kdepimlibs/kmime/kmime_headers.cpp 1068282
> branches/work/akonadi-ports/kdepimlibs/kmime/kmime_headers_p.h 1068282
> branches/work/akonadi-ports/kdepimlibs/kmime/tests/kmime_message_test.h 1068282
> branches/work/akonadi-ports/kdepimlibs/kmime/tests/kmime_message_test.cpp 1068282
>
> Diff: http://reviewboard.kde.org/r/2483/diff
>
>
> Testing
> -------
>
> Old unittest works, new unittest for the added functions work.
> KMail seem to get the expected values back.
>
>
> Thanks,
>
> Torgny
>
>
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list