forward port SVN commit 614058 by kainhofe
Make RFC 2231-encoded attachment names work. Patch approved by Ingo (the issues he had were corrected).
RFC 2231 defines an enhanced encoding for attachment filenames, and thunderbird
apparently implemented this encoding. RFC 2231 allows one field to be split
across multiple numbered entries of the form fieldname*0=....;
fieldname*1=...; fieldname*2=...; or fieldname*0=....; fieldname*1=...; fieldname*2=...;
All these entries first need to be concatenated to form the full value of the field.
Here's a real-life example:
--------------060807060608070200030605
Content-Type: application/vnd.ms-excel;
name*0*=ISO-8859-15''%41%46%42%D6%20%42%65%73%65%74%7A%75%6E%67%73%6C%69;
name*1*=%73%74%65%20%53%74%61%6E%64%20%32%30%30%36%2D%31%32%2D%31%39%2E;
name*2*=%78%6C%73
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename*0*=ISO-8859-15''%41%46%42%D6%20%42%65%73%65%74%7A%75%6E%67%73%6C;
filename*1*=%69%73%74%65%20%53%74%61%6E%64%20%32%30%30%36%2D%31%32%2D%31;
filename*2*=%39%2E%78%6C%73
As a result, KMail shows %39%2E%78%6C%73 as the file name in both the message
preview panel as well as in the mime tree.
With this patch, KMail correctly shows the proper filename.
The patch adds one static method to collect all parts of rfc 2231-encoded
params into one single string. That method is then used in two different
places for the name and the filename props.
One minor problem remains, though: As the mime library does not have support
for rfc2231 encoded attachments, the message is not shown with the attachment
icon in the message list.
svn path=/trunk/KDE/kdepim/; revision=641088
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/KDE/3.5/kdepim/; revision=633978
Improve speed (mainly killing the reparsing which was done in KMMessage::asSendableString())
Kolab issue 1222
svn path=/branches/kdepim/enterprise/kdepim/; revision=633977
Suppose headers charset from content-type header if headers not
properly encoded. If content-type charset is "us-ascii", use "utf-8"
instead. Write maildir and mbox indexes in right encoding.
BUGS:98079
svn path=/branches/KDE/3.5/kdepim/; revision=614058
sed 's/59 Temple Place - Suite 330, Boston, MA 02111-1307/51 Franklin Street, Fifth Floor, Boston, MA 02110-1301/'
PS: I didn't touch the kalarm dir, since david seems to update the address himself, and I don't want to create conflicts for him.
CCMAIL:lists@astrojar.org.uk
svn path=/trunk/KDE/kdepim/; revision=437921
the helper function crlf2lf there, which was formerly a class static in
FolderStorage. Remove the now obsolete forward Folder -> Folderstorage
and port all users.
svn path=/trunk/KDE/kdepim/; revision=435216
it, if there is no physical folder yet. Code creating (instantiating)
KMFolders does not need to care. Remove the ugly "bool imap" parameter
from create() and do proper reimplementation instead. Remove create()
forward from KMFolder -> FolderStorage.
This fixes "no such file or folder" warnings when creating or syncing
down new folders.
In case you missed it, today is Zack's birthday, so show the man some
love, will ya?
svn path=/trunk/KDE/kdepim/; revision=430989
handling and index handling.
o Make it possible to have folders that optionally have no index
and/or don't export their serial numbers to the message dict. This
was partly possible before, but relying on all kinds of implicit (and
often wrong) assumptions as to the presence and state of various
datastructures and files on disk.
o [TRUE|FALSE] => [true|false] (sorry about mixing this in)
o group a bunch of bools and use a bit for each to save memory
o remove index related forwards folder -> folderstorage
o api dox additions
Fixed the crashes with local and maildir accounts in the process, I
think.
BUG: 108386
svn path=/trunk/KDE/kdepim/; revision=430817
fooFolderIdsFile from fooMsgDict, to make the distinction somewhat
clearer
o move the only folder ids handling function not implemented in
FolderStorage to there and out of KMFolderIndex, which also means
it does not have to be virtual
o clarify comments and api dox
svn path=/trunk/KDE/kdepim/; revision=428615
here: http://lists.kde.org/?l=kmail-devel&m=111945756024656&w=2
I've changed the KMMsgDict::instance() to return a pointer instead of a
reference, compared to the patch I posted, after valid criticism from
Marc that the pattern is generally used with a pointer, in KDE, so it's
better not to surprise people here.
svn path=/trunk/KDE/kdepim/; revision=428560
when simply opening mail folders) : don't look for the serial numbers
of messages that haven't been inserted into a folder yet, it can't find one,
and it's slow every time. Note that assign() is only called on construction
(or soon after), never on totally-unrelated instances.
svn path=/trunk/kdepim/; revision=361937
make folder readonly if locking failed.
The old code was broken because isReadOnly would return true if the folder
wasn't open (so no locking was attempted yet). The new code doesn't do that anymore.
svn path=/trunk/kdepim/; revision=320493