Package: evolution-mapi
Version: 0.28.3-2
Severity: important
Tags: patch

MAPI plugin shows wrong encoding for mail attachments:

--=-gYymIHc0eSNdpNzzCwnt
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="CP28592"

should be:

Content-Type: text/html; charset="ISO-8859-2"

This bug makes this plugin unusable for non-ASCII and non-UTF-8 mails.

The patch is included.

-- 
.''`.    Piotr Roszatycki
: :' :    mailto:piotr.roszaty...@gmail.com
`. `'     mailto:dex...@debian.org
 `-
Translate CP28591 to ISO-8859-2, etc.

diff -Nru evolution-mapi-0.28.3/src/camel/camel-mapi-folder.c evolution-mapi-0.28.3-patch/src/camel/camel-mapi-folder.c
--- evolution-mapi-0.28.3/src/camel/camel-mapi-folder.c	2010-03-01 14:28:12.000000000 +0100
+++ evolution-mapi-0.28.3-patch/src/camel/camel-mapi-folder.c	2010-06-17 17:23:09.000000000 +0200
@@ -1509,7 +1509,17 @@
 				"text/plain" : "text/html";
 
 		if (item->header.cpid) {
-			if (item->header.cpid == 65001)
+			if (item->header.cpid == 20127)
+				buff = g_strdup_printf ("%s; charset=\"us-ascii\"", type);
+			else if (item->header.cpid >= 28591 && item->header.cpid <= 28599)
+				buff = g_strdup_printf ("%s; charset=\"ISO-8859-%d\"", type, item->header.cpid % 10);
+			else if (item->header.cpid == 28603)
+				buff = g_strdup_printf ("%s; charset=\"ISO-8859-13\"", type);
+			else if (item->header.cpid == 28605)
+				buff = g_strdup_printf ("%s; charset=\"ISO-8859-15\"", type);
+			else if (item->header.cpid == 65000)
+				buff = g_strdup_printf ("%s; charset=\"UTF-7\"", type);
+			else if (item->header.cpid == 65001)
 				buff = g_strdup_printf ("%s; charset=\"UTF-8\"", type);
 			else
 				buff = g_strdup_printf ("%s; charset=\"CP%d\"", type, item->header.cpid);

Reply via email to